簡體   English   中英

ARM MMU和ARM Linux頁面表遍歷

[英]ARM MMU and ARM Linux page table walk

我對Linux如何利用ARMv7 MMU硬件進行3級頁表遍歷感到困惑。 MMU只有2個寄存器ttbr0和ttbr1(一個用於內核,另一個用於用戶空間)。 mmu如何知道Linux的多級頁表遍歷?

謝謝,HVR

如果上N虛擬地址的位均為零,則翻譯開始於TTBR0其他TTBR1 N來自TTBCR TTBRn寄存器包含第一級表基址的物理地址。 加載了第一級表的適當條目,並且條目的各個位確定轉換是否使用第二級表,如果是,則使用其物理地址。

可以將MMU配置為使用短描述符(32位物理地址)或長描述符(40位物理地址)。 使用簡短描述符時,最多只能使用兩級翻譯表。 使用長描述符時,可以分為三個級別。

這將忽略第2階段的翻譯(管理程序)。 所有內容都記錄在ARMARM for v7-A&R部分B3.3中: http ://infocenter.arm.com/help/topic/com.arm.doc.ddi0406c/index.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM