Messages in this thread |  | | | Date | Fri, 08 May 2009 11:47:47 -0700 | | From | "H. Peter Anvin" <> | | Subject | Re: [PATCH 00/14] RFC: x86: relocatable kernel changes |
| |
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
|  |