early_alloc_pgt_buf的疑问。。。
pgt_buf_end/pgt_buf_start/pgt_buf_top 维护的这部分空间有何用途,直接使用memblock分配,不行么?请教,谢谢~
124 /* need 3 4k for initial PMD_SIZE,3 4k for 0-ISA_END_ADDRESS */
125 #define INIT_PGT_BUF_SIZE (6 * PAGE_SIZE)
126 RESERVE_BRK(early_pgt_alloc, INIT_PGT_BUF_SIZE);
127 void__init early_alloc_pgt_buf(void)
128 {
129 unsigned long tables = INIT_PGT_BUF_SIZE;
130 phys_addr_t base;
131
132 base = __pa(extend_brk(tables, PAGE_SIZE));
133
134 pgt_buf_start = base >> PAGE_SHIFT;
135 pgt_buf_end = pgt_buf_start;
136 pgt_buf_top = pgt_buf_start + (tables >> PAGE_SHIFT);
137 }
页:
[1]