PTE的Mac OS X地址

时间:2013-10-11 23:16:03

标签: macos memory kernel virtual

在Windows中,可以通过构造访问特定虚拟地址的PTE结构 PTE本身的地址。 这是因为所有PTES都映射到从某个地址开始的虚拟地址空间。

Mac OS X也是如此吗? 我的意思是,我可以访问给定虚拟地址的PTE吗?

1 个答案:

答案 0 :(得分:0)

您可以,但仅在内核模式下,通过“pmap”图层。您将需要CR3的相关值(即进程(或内核)上下文),因为CR3的不同值意味着不同的页表。但请注意,这些不是公开的KPI(内核公共/编程接口),因此需要制作一个每个内核版本非常具体的kext。并不完全清楚为什么为什么在所有这些中你需要PTE,因为xnu是从第二行start.S的虚拟 - 但它仍然是可能的。