Re: [PATCH] IA32 move PG0 page table within kernel data segment

From: Andi Kleen
Date: Mon Oct 16 2006 - 10:04:56 EST


"bibo,mao" <bibo.mao@xxxxxxxxx> writes:

> Hi,
> On i386 kernel image can compile and run at any physical address,kernel
> will dynamically establish initial page table at PG0. Currently PG0 address
> is adjacent to _end, that is to say PG0 page table is out of kernel data segment.
> Some bootloader put initrd image next kernel data segment so that initial
> page table will overwrite initrd imagte. This patch modify this and put PG0
> table at BSS segment and free this space later.
> This patch limited kernel image size within 64M, it is possible to modify
> ld script to remove this limit, but I am not familiar with ld script.
>
> Any comments is welcome.

Looks like a fragile hack. x86-64 has a imho cleaner generic solution
in e820_find_area(). I would suggest to port that over.

-Andi
-
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/