linux 臨時頁表

2021-09-24 02:49:20 字數 653 閱讀 3409

armv8 linux4.9

檢視dma map前後mmu page table的變化的時候,有看到有的page table entry映**2m的size,這個2m的entry是何時建立的,目的是什麼是這邊部落格要弄清楚的問題。

arm64 定義頁框大小的define位置如下,每乙個頁表項對映乙個頁框大小的範圍,當前系統定義為4k

除此之外還有乙個idmap_pg_dir (identical)為了開啟mmu準備的va與pa相同的頁表,當然這是來自之前對32bit的理解,64bit va不是32bit

lds 對兩者的定義看,都是存放在bss 段,位置相臨,二者的頁表項的個數一樣,ptrs_per_pgd代表描述核心memeory空間需要的頁表項個數,

linux的臨時頁表對映問題

linux核心初始化的時候要啟動分頁,既然要啟動分頁就要有相應的頁表,有頁表就要有頁目錄,很多人都知道系統啟動的時候要把實體地址的0 8m對映到虛擬位址的0 8m還要再對映到768m 768m 8m,這到底是為什麼呢?頁目錄的乙個目錄項對映4m的記憶體,為了對映8m的記憶體就要兩個目錄項,具體就是第...

ARM Linux (臨時,正式) 建立頁表的比較

很久沒有寫部落格了,由於之前的寫關於omap3530文章還沒有整理。再加上一直在找工作,找到工作後又投入到另外的平台去工作。始終在忙忙碌碌,但是對於 確實漸漸疏遠。在做專案的時候要使用ddr3分配記憶體,不經意間使用要和mmu以及tlb打交道。因此特地寫下這篇文章以備後用。工作就是在和遺忘作鬥爭 l...

Linux核心頁表

一 linux位址空間 arm的32位系統共支援4g的記憶體空間,其中0 3g為使用者空間,3g 4g是核心空間,arm採用2級頁表,32位位址空間address分別為 pgd pte 12bits,在核心 中分別為pgd 11位,pte 9 位,頁內位址12位 但是在mmu系統中對於arm的二級分...