https://www.cnblogs.com/lanrenxinxin/p/4735027.html
l PML4E
接着再看PML4E的结构,如图:
PML4E并没有PS标志位,因此第7位是保留的,而PML4E提供的PDPT的物理基地址也受之前的MAXPHYADDR规则的约束。
l PDPTE
然后就是PDPTE结构:
由于新增了1G 页面,因此在PDPTE结构里将控制1G的页面转化,由PDPTE.PS标志位进行转换,如图:
当PDPTE.PS=1,也就是PDPTE的第7位为1时,PDPTE将提供1G的物理页面地址;当PDPTE.PS=0,也就是PDPTE的第7位为0时,使用非1G的页面,将提供下一级的PDT的物理基地址,同样受MAXPHYADDR规则的约束。
1G页面下的PDPTE 的结构解析如下:
同样地,PDPTE提供的1G页面的物理地址也遵守MAXPHYADDR的规则,1G页面的地址低30将补0,意味着1G边界上对齐。
4K和2M页面下的PDPTE结构解析如下:
将提供下一级PDT的物理基地址,同样也遵循MAXPHYADDR规则,那么再根据PDE.PS再决定是使用2M页面还是4K页面。
l PDE
PDE的结构和PDPTE类似,也是用PS(第7位)表示是使用2M的页面还是4K 的页面,下面是2M 页面的PDE结构解析:
同样对于页面的物理基地址也遵循MAXPHYAD原则。
接下来是4K 页面的 PDE 结构解析:
也遵循MAXPHYADDR 规则。
l PTE
PTE的结构解析:
同样遵循MAXPHYADDR规则。
举个例子:0x000000F04E1BFA10
分析索引
0 0000 0001 111 0000 01 00 1110 000 1 1011 1111 1010 0001 0000
1(PML4E) 0x1C1(PDPTE) 0X70(PDE) 0x1BF(PTE) 0xA10(偏移)
------------------------------------------------------------
取CR3