arm64 pagetable walke

aarch64  linux4.9

arm64  mmu的 hardware page walke 和kernel中的重要概念

swapper_pg_dir 內核空間level 0頁表物理地址

VA_BITS   39  mmu 看到的虛擬地址的長度

stage1 stage2 translation 當前系統沒有el2 所有的translation 的規則遵守stage 1 的規則,如下來自arm中文社區

ttbr0 hardware page walker時level 0頁表物理地址

ttbr1 up address page walk level 0 頁表物理地址

t0sz  0x19 ttbr0 和 ttbr1 的mem region range是0~0x0000 00ff ffff ffff 和 0xffff f100 0000 0000 ~ 0xffff ffff ffff ffff

根據虛擬地址0xffff ff80 0988 0000 level 0 頁表物理地址選ttbr1_el1  0x021e 0000 4111 7000,只有39bit有效物理地址 0x41117000 ,後面table walker 的截圖是每一級頁表根據offset查到的物理地址的整個過程

TCR_EL1 T0SZ  64-T0SZ=VA_BITS 39bit

armv8 每級頁表offset計算方式(48bit arm文檔爲例)

 

上面截圖的第一列GnRnE屬性的查詢的方法:

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章