分页相关宏定义

PAGE_SHIFTPMD_SHIFTPUDSHIFTPGDIR_SHIFT
指定offset字段位数指定offset和table总位数确定页上级目录能够映射的区域大小确定页全局目录能够映射的区域大小

 

PTRS_PER_PTE,PTRS_PER_PMD,PTRS_PER_PUD,PTRS_PER_PGD:分别表示页表,页中间目录,页上级目录,页全局目录中项的个数。

1.几个用于页表处理的函数或宏

  • 五个类型转换宏:__pte、__pmd、__pud、__pgprot。分别把无符号数转换为相应的类型。

  • pte_non,pmd_none,pud_none,pgd_none用于判断相应表项值是否为0,为0返回1,否则返回0。

  • set_pte,set_pud,set_pmd,set_pgd 分别表示向一个表项中写入相应值。

2.对页表项进行操作的宏

  • pgd_index(addr):找到线性地址addr对应的目录项在页全局表中的索引。

  • pgt_offset(mm,addr):接收内存描述符地址mm和addr作为参数,可以求得线性地址addr在全局目录表中对应表项的线性地址,通过mm中的一个指针可以找到全局目录表。

  • pgd_offset_k(addr):产生内核全局目录表项中某一项的线性地址

  • pgd_page(pgd):通过页全局目录表pg产生页上级目录所在页框的页描述符地址。在两级或者三级分页中等价于pud_page.后者通过页上级目录产生页中级目录的线性地址

  • pud_offset(pgd,addr):通过参数页全局目录表项指针pgd和线性地址产生页上级目录中目录项addr对应的线性地址。

  • pmd_index(addr):产生addr对应的页中间目录对应目录项的的索引。

转载: https://blog.csdn.net/wll1228/article/details/51426651

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值