Macos PTE的Mac OS X地址

Macos PTE的Mac OS X地址,macos,memory,kernel,virtual,Macos,Memory,Kernel,Virtual,在Windows中,可以通过构造 PTE本身的地址。 这是因为所有PTE都从某个地址开始映射到虚拟地址空间 Mac OS X也是这样吗? 我的意思是,我可以访问给定虚拟地址的PTE吗?你可以,但当然只能在内核模式下,通过“pmap”层。您需要CR3的相关值(即进程(或内核)上下文),因为CR3的不同值意味着不同的页表。但是,请注意,这些都不是公开的KPI(内核公共/编程接口),因此需要根据每个内核版本制作一个非常具体的kext。现在还不完全清楚为什么您需要PTE,因为xnu大约在start.s的

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

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

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