Re: [PATCH 00/14] RFC: x86: relocatable kernel changes

From: H. Peter Anvin
Date: Fri May 08 2009 - 14:48:40 EST


Eric W. Biederman wrote:

Perhaps we should have:
init_size
best start (As a 64bit field please)
optimum align (Or we flip it around)


Thinking about this some more, I think you have a very good idea here.

Specifically, if we retcon the existing kernel_alignment field as "preferred alignment" (ignoring the naming issue for a bit), we can set that to 16 MB, which should give us correct behavior for all previously existing bootloaders. Then we create a new "minimum alignment" field that newer bootloaders can use to relax the alignment requirement -- all the way down to 4K in the case of i386. We document this field indicating that the bootloader should find the highest power of 2 <= preferred alignment, but down to this number.

The preferred address field becomes a readonly, advisory field; with it being readonly there aren't any funny issues with a strange loader writing a 64-bit address for a kernel which can't handle it (64-bit loading will still need substantial protocol changes, including how to find the entry point.)

Does that work for you? That *should* address all your concerns, right?

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