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

H. Peter Anvin
2007-11-06T18:41:49Z

Eric W. Biederman wrote:
>
> I have a hard time believing in discipline when I see the amount of
> not invented here and various oddball mistakes (cause by overlooking
> things) that seems to go on when extending the format. We never
> needed to change the way the command line was passed, and we should
> have kept the longer jump where we had it.
>

The longer jump was never documented, and so didn't exist. There was
definitely no way to rely on it.

The old command-line protocol had some really ugly interactions with the
absolutely insane hoisting code from the pre-2.02 days. I didn't have
enough guts back then to scream and just rip it out, mostly because it
took me a long time to figure out what the heck it really did (as
opposed to what it claimed it did.) That being said, we probably could
have gotten away with leaving the protocol as-is while ripping out the
guts (as I eventually did in the rewrite), even if the old protocol only
had a 16-bit pointer.

> If we are going to through and add an additional pointer to a notes section
> let's please put a jump in there so we can make the header longer as
> we choose.

The problem is that that will only buy us 15 bytes, and eat up 3 (in
practice, 4) of them...

It might be worth doing anyway, as it'd only break the 32-bit entrypoint
users to reorganize struct boot_params.

-hpa