从一个线性地址得到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
...全文
75 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiangshifu99 2004-10-10
  • 打赏
  • 举报
回复
呵呵,就是linux下的 PGD
yrj 2004-10-09
  • 打赏
  • 举报
回复
不知道pde是什么,在LINUX内核中,我只看到了PGD和PTE,

21,615

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧