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

H. Peter Anvin
2007-06-15T16:52:20Z

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.

>>> @@ -246,7 +246,6 @@ setup2:
>>> jnz 1f
>>> movw $0xfffc, %sp # Make sure we're not zero
>>> 1: movzwl %sp, %esp # Clear upper half of %esp
>>> - sti
>>>
>> Motivation, please?
>>
>
> We talked about this, and you said it was a mistake. It needn't be in
> this patch; it could be separate, or just dropped as far as I'm concerned.
>

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

-hpa