Re: early_res and find_e820_area for i386?

From: H. Peter Anvin
Date: Mon Mar 03 2008 - 23:24:43 EST


Huang, Ying wrote:
Hi,

Before bootmem allocator is available, kernel needs allocate memory
pages such as page table and some NUMA structures. On x86_64, this is
done by early_res and find_e820_area. On i386, this is done through
using the memory area after kernel itself which is tracked with
init_pg_tables_end.

Is it better to implement early_res and find_e820_area on i386? Can we
trust E820 table on i386?

Or we add an early_alloc, which allocate memory from the memory area
after kernel itself and check the early_res areas and E820 table too.

BTW: Why not merge e820_32.c and e820_64.c? At least part of them.


What we *should* do, on both i386 and x86-64, is to create a synthetic e820 table of any non-e820 information, and then yes, we should merge the code.

In other words, we should have an e820 table which reflects what the kernel considers true about the memory space.

-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/