Re: [PATCH -mm -v5 0/3] i386/x86_64 boot: 32-bit boot protocol

From: Huang, Ying
Date: Wed Oct 17 2007 - 05:04:27 EST


On Wed, 2007-10-17 at 10:25 +0200, Andi Kleen wrote:
> "Huang, Ying" <ying.huang@xxxxxxxxx> writes:
>
> > Do you think it is a good idea to check the collision between setup data
> > and memory area used during kernel boot through bootmem allocator?
>
> You can't solve this through bootmem because x86-64 allocates memory
> in several places before bootmem (using functions in e820.c) Right now
> this is quite hackish with hard coded areas to avoid conflicts. But I
> recently had a need to allocate more memory that early too and changed
> the code to a generic early reservation interface. With that it would
> be relatively easy to reserve.

Can you tell me what that early reservation interface is? What I find in
x86_64 that does early memory allocation is alloc_low_page, which gets
non-conflict memory area through e820 map.

Because setup data is allocated by bootloader or kernel 16-bit setup
code, and the e820 map is created there too, the memory area used by
setup data can be made reserved memory area in e820 map by bootloader or
kernel 16-bit setup code. This way, they will not be overwritten by
kernel. Do you think this works.

Best Regards,
Huang Ying
-
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/