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

From: H. Peter Anvin
Date: Fri Jun 15 2007 - 12:52:24 EST

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.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at