chishanmingshen 发表于 2017-02-04 18:05

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]
查看完整版本: early_alloc_pgt_buf的疑问。。。