arm linux 從入口到start_kernel 代碼分析 - 4
通過前面的兩步,我們已經(jīng)確定了processor type 和 machine type.
此時(shí),一些特定寄存器的值如下所示:
r8 = machine info
r9 = cpu id
r10 = procinfo
創(chuàng)建頁表是通過函數(shù) __create_page_tables 來實(shí)現(xiàn)的.
這里,我們使用的是arm的L1主頁表,L1主頁表也稱為段頁表(section page table)
L1 主頁表將4 GB 的地址空間分成若干個(gè)1 MB的段(section),因此L1頁表包含4096個(gè)頁表項(xiàng)(section entry). 每個(gè)頁表項(xiàng)是32 bits(4 bytes)
因而L1主頁表占用 4096 *4 = 16k的內(nèi)存空間.