Re: [GIT PULL] x86 setup: correct booting on 486 (revised)

Eric W. Biederman
2007-11-06T17:10:32Z

"H. Peter Anvin" <hpa@zytor.com> writes:

> Jeremy Fitzhardinge wrote:
>> H. Peter Anvin wrote:
>>> .notes : {
>>> *(.note.*)
>>> . = ALIGN(4);
>>> LONG(0);
>>> LONG(0);
>>> LONG(0);
>>> }
>>>
>>> Am I missing something?
>>
>> Oh, I suppose, but I never much liked putting data-definition into the
>> linker script.
>>
>
> I think it should be sparsely used, but stuff like simple end markers is pretty
> much what it's good for.
>
> The main reason I want to avoid adding another header field is that the header
> is a finite resource; one of the many poor decisions in its original design was
> using a 2-byte jump at the top, so address 0x281 is the end of the universe.

That was fixed long ago (by having a 4 byte reserved field in the middle) that
we can do a two byte jump and then do a farther jump from there to the 16bit
code. So as long as we actually use discipline and really reserve
the field for a further jump there should be no need for 0x281 being the end
of the universe.

Eric