解析 write_cr3() 和 read_cr3()
这两个函数是 内联汇编(inline assembly),用于在 x86 体系结构 中 读写 CR3 寄存器。
📌 CR3(控制寄存器 3)
- CR3 寄存器 在 x86 32 位分页机制(Paging)中,存储 页目录的物理地址。
- 修改 CR3 会 改变页表的基地址,相当于 切换页表(如切换进程的虚拟内存映射)。
- 读取 CR3 可以 获得当前进程的页目录地址。
1. write_cr3(uint32_t v)
作用:将 v 写入 CR3,用于 设置新的页目录地址。
📌 代码
static inline void write_cr3(uint32_t v) {
__asm__ __volatile__("mov %[v], %%cr3"::[v]"r"(v))

最低0.47元/天 解锁文章
20

被折叠的 条评论
为什么被折叠?



