二级页表参数解释

复制代码
// 每个 PGD 页表项对应 512 个 PTE
#define
PTRS_PER_PTE 512
// 由于只有二级页表,二级页表没有 PMD,所以为1,表示一个 PGD 页表项对应一个 PMD 页表项 #define PTRS_PER_PMD 1
// 一共有 2048 个 PGD 页表项,也就是一级页表项 #define PTRS_PER_PGD 2048 /* * PMD_SHIFT determines the size of the area a second-level page table can map * PGDIR_SHIFT determines what a third-level page table entry can map */ #define PMD_SHIFT 21 // 一个 PGD 页表项表示的内存地址范围是 21 bits,因为一共 32 bits,共有 11 bits 的PGD数量
#define PGDIR_SHIFT 21 #define PMD_SIZE (1UL << PMD_SHIFT) #define PMD_MASK (~(PMD_SIZE-1)) #define PGDIR_SIZE (1UL << PGDIR_SHIFT) #define PGDIR_MASK (~(PGDIR_SIZE-1))
复制代码

 

posted @   流水灯  阅读(75)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
历史上的今天:
2017-06-22 STM32 - 软件设置单片机重启
2017-06-22 STM32 ------ 程序跳转IAP、中断、开关总中断
2016-06-22 电容种类特性分析
点击右上角即可分享
微信分享提示