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

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

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

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

bash 复制代码
项目				内容
谁定义寄存器地址?	硬件设计人员
软件能改吗?			不能,只能遵循手册使用
软件怎么用这些地址?	通过 ioremap 等方式映射后访问
为什么不能直接访问?	需要通过 MMU 映射进虚拟地址空间
相关推荐
百炼成神 LV@菜哥6 分钟前
Kylin Linux V10 aarch64 安装启动 TigerVNC-Server
linux·服务器·kylin
m0_7373025812 分钟前
百度智能云边缘云服务器,端云协同赋能全域智能场景
服务器
Anastasiozzzz25 分钟前
LeetCode Hot100 295. 数据流的中位数 MedianFinder
java·服务器·前端
佑白雪乐39 分钟前
<Linux基础11集>电流+二极管+晶体管+存储器
linux
嵌入式郑工44 分钟前
RK3566 LubanCat 开发板 USB Gadget 配置完整复盘
linux·驱动开发·ubuntu
Exquisite.1 小时前
Nginx
服务器·前端·nginx
one____dream1 小时前
【网安】Reverse-非常规题目
linux·python·安全·网络安全·ctf
j_xxx404_1 小时前
Linux:进程程序替换
linux·运维·服务器
祁鱼鱼鱼鱼鱼1 小时前
Keepalived实验环境设定
linux·服务器·网络
Genie cloud1 小时前
VPS 网络连接故障诊断与排查实用指南
linux·服务器·ssh