开启虚拟内存。CSR中有个satp(Supervisor Address Translation and Protection Register)寄存器,它的结构如下:
最高4位表示寻址模式:
第一级页表项位置:0x80205<<12 + 111111111<<3 = 0x80205ff8
,页表项的结构图如下:
PTE1 = satp.PPN<<12 + VA.VPN2<<3
;如果可RWX,物理地址PA=PTE1.PPN<<12+VA[29:0]
,如果RWX全0,进入下一级。PTE2 = PTE1.PPN<<12 + VA.VPN1<<3
;如果可RWX,物理地址PA=PTE2.PPN<<12+VA[20:0]
,如果RWX全0,进入下一级。PTE3 = PTE2.PPN<<12 + VA.VPN0<<3
;如果可RWX,物理地址PA=PTE3.PPN<<12+VA[11:0]
因篇幅问题不能全部显示,请点此查看更多更全内容