从一个线性地址得到pde怎么可以这么做?是不是错了?

xiangshifu99 2004-10-08 02:55:44
从一个线性地址得到pde怎么可以这么做?是不是错了?

EXPORT DWORD*
GetPde(void*Address)
/*++

Routine Description:

Returns pointer to PDE for the given page
See MiGetPdeAddress in HAL.DLL

Arguments:

None

Return Value:

None

--*/
{
// See also Gloomy's mem.txt
//这里是不是错的 ?
return (DWORD*)(MmSystemPteBase+ ( ((DWORD)Address>>20) & 0xFFC) + ((DWORD)MmSystemPteBase>>10));
}

我能理解的方式:

PDE_Address=(VirtualAddress>>22)*4+0xC0300000
...全文
31 点赞 收藏 2
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiangshifu99 2004-10-10
呵呵,就是linux下的 PGD
回复
yrj 2004-10-09
不知道pde是什么,在LINUX内核中,我只看到了PGD和PTE,
回复
发动态
发帖子
驱动开发/核心开发
创建于2007-09-28

2.1w+

社区成员

硬件/嵌入开发 驱动开发/核心开发
申请成为版主
社区公告
暂无公告