Re: [PATCH 04/10] i386: clean up bzImage generation

Jeremy Fitzhardinge
2007-06-15T17:03:49Z

H. Peter Anvin wrote:
> Jeremy Fitzhardinge wrote:
>
>> H. Peter Anvin wrote:
>>
>>> Jeremy Fitzhardinge wrote:
>>>
>>>
>>>> -setup_move_size: .word 0x8000 # size to move, when setup is not
>>>> +setup_move_size: .word _setup_size # size to move, when setup is not
>>>> # loaded at 0x90000. We will move setup
>>>> # to 0x90000 then just before jumping
>>>> # into the kernel. However, only the
>>>>
>>>>
>>> This is WRONG and will break 2.00 protocol bootloaders, if any still
>>> exist, and quite possibly some 2.01 protocol bootloaders. There are
>>> definitiely bootloaders in the field that rely on this implicit value.
>>>
>> Ah, I see. I didn't see any documentation saying that this must be
>> 0x8000. Or does _setup_size just have to be <= 0x8000?
>>
>>
>
> The default for unaware bootloaders has been 0x8000 since the boot
> protocol was created, and bootloaders are known to (improperly) rely on
> it. _setup_size does have to be <= 0x8000, but that's another issue.
>

Hm, so the worst that could happen is that an old bootloader will
over-copy 0x8000 bytes rather than the specified amount? How would that
break anything?

> I said it probably wouldn't hurt to drop it. I don't believe you ever
> actually explained why you wanted it dropped.

Well, I don't specifically care for Xen; I don't really mind either way
in general. I'll break it into a separate patch and we can handle it
that way.

J