Re: Patch to make the head.S-must-be-first-in-vmlinux orderexplicit

From: Eric W. Biederman
Date: Fri Feb 24 2006 - 09:16:43 EST


Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> writes:

> Eric W. Biederman wrote:
>> Andi Kleen <ak@xxxxxxx> writes:
>>
>>> On Thursday 23 February 2006 14:57, Arjan van de Ven wrote:
>>>
>>>>> (or at least
>>>>> it shouldn't), but arch/x86_64/boot/compressed/head.S
>>>>> seems to have the entry address hardcoded. Perhaps you can just change this
>>>>> to pass in the right address?
>>>> the issue is that the address will be a link time thing, which means lots of
>>>> complexity.
>>> bzImage image should be only generated after vmlinux is done and then the
>>> address should be available with a simple grep in System.map
>> Andi it is more than that. At least it was last I payed attention.
>> There are symbols like stext that various things depend on being early,
>> at least last time I looked. So while it is doable it requires some
>> careful looking.
>
> _stext and such are very easy. That is actually not a real variable just a
> linker script thing, and since the reordering works on the linker script level
> that's already taken care of ;-)

It is currently a symbol defined in head.S though. Not hard to fix
but the point is that there are a few subtle things.

> I've looked some yesterday at generating this at runtime, and haven't found a
> clean enough solution yet (esp one that doesn't break kdump); I'll keep poking
> at it for a bit more though....

I suspect the easy way to do this is to put a variable with the start location
either at the very start or the very end of the data that gets compressed that
has the address to jump to. Once we uncompressed the data we can lookup
the pointer and jump to it.

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