首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

在 Linux x86-64 模式下分析内存映射流程(2)

在 Linux x86-64 模式下分析内存映射流程(2)

PDPTPDPT 的基址为 0x275DA000, bits 38~30 为 PDPTE 序号,计算出的 PDPTE 地址为:
0x275DA000 + 0 * 8 = 0x275DA000

PDPTE 的值为 0x623A4067, bit7 = 0 说明指向的是 page directory.
PDPD 的基址为 0x623A4000, bits 29~21 为 PDE 的序号,计算出 PDE 的地址为:
0x623A4000 + 3 * 8 = 0x623A4018

PDE 的值为 0x692BB067, bit7 = 0 说明指向的是 page table.
PTPT 的基址为 0x692BB000, bits 20 ~12 为 PTE 的序号, 计算出 PTE 的地址为:
0x692BB000 + 1 * 8 = 0x692BB008

PTE 的值为 0x800000004AD6F867.
page framepage frame 的基址为 0x4AD6F000, bits 11~0 为在 page frame内的偏移,计算出变量的物理地址为:
0x4AD6F000 + 120 = 0x4AD6F078.

熟悉的 0xA5A5AA550000FFFF, 说明我们找到了变量 a 的实际物理地址。
继承事业,薪火相传
返回列表