页表常用宏

PAGE_SHIFT、PAGE_SIZE、PAGE_MASK

#define PAGE_SHIFT      12
define PAGE_SIZE       (1UL << PAGE_SHIFT)
#define PAGE_MASK       (~(PAGE_SIZE-1))

PAGE_SHIFT = 12
PAGE_SIZE = 1<<12=2^12
PAGE_MASK = 0000 0000 0000
说明:
1 << N : 就是第N+1位为1
2^N-1 : 就是N个位为1

PMD_SHIFT、PMD_SIZE、PMDMASK

 #define PMD_SHIFT       PUD_SHIFT                                               
 #define PTRS_PER_PMD    1                                                       
 #define PMD_SIZE        (1UL << PMD_SHIFT)                                                                                                                              
 #define PMD_MASK        (~(PMD_SIZE-1)) 

PMD_SHIFT = 22
PMD_SIZE = 1 << 22= 2^22
PMD_MASK = 0000 0000 0000 0000 0000 00

发布了112 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/chengbeng1745/article/details/100048368