Linux 内核不能直接访问物理地址,必须通过虚拟地址访问。

芯片寄存器是物理地址,为什么要映射成虚拟地址

Linux 启动时开启了 MMU(内存管理单元),所有地址访问都是虚拟地址。

虽然底层是物理内存/寄存器,但内核访问时都是通过虚拟地址间接访问的。

bash 复制代码
项目				内容
谁定义寄存器地址?	硬件设计人员
软件能改吗?			不能,只能遵循手册使用
软件怎么用这些地址?	通过 ioremap 等方式映射后访问
为什么不能直接访问?	需要通过 MMU 映射进虚拟地址空间
相关推荐
Escalating_xu2 分钟前
【Linux 网络编程】Windows 客户端访问 Linux:用 Winsock 跑通 UDP 回显
linux·网络·windows
Data analyse4565 分钟前
Nginx日志访客识别的边界处理
大数据·运维·服务器·数据库·数据分析
竣达技术7 分钟前
机房运维:UPS 如何实现跨网段采集监控数据
运维·arm开发
无足鸟ICT12 分钟前
【RHCA+】patch命令(更新补丁)
linux·运维·服务器
zhengqweasd14 分钟前
Linux 软中断原理:网卡报文是怎么抢占 CPU 的
linux·运维·网络
ESDWAN17 分钟前
为什么跨境网络白天正常、晚上卡顿?如何分析时段性?
linux·网络·php·网络运维
X1A0RAN30 分钟前
Linux nohup 命令完全指南
linux·运维·服务器
对讲机数码科普39 分钟前
业余无线电野外中继寒地故障排查|东北林区 VHF/UHF 台站四季射频环境适配方案
运维·网络
Shadow(⊙o⊙)39 分钟前
仿muduo实现高并发服务器——读写缓冲区Buffer.hpp
运维·服务器
黄焖鸡能干四碗40 分钟前
大数据平台安全防护策略方案(PPT)
大数据·运维·网络·安全·web安全·制造