Re: [PATCH] Further update of the i386 boot documentation

From: Jeremy Fitzhardinge
Date: Thu May 17 2007 - 19:30:56 EST


H. Peter Anvin wrote:
> Given that we have already established littleendian byte order, it's the
> same thing.
>

Well, not quite; mentioning the string form first creates an ambiguity.
I'd express as something like: ``The magic number is 0x53726448
(implicitly, stored little-endian), which breaks down to the characters
"HdrS".''

>>> +
>>> +Field name: version
>>> +Type: read
>>> +Offset/size: 0x206/2
>>> +Protocol: 2.00+
>>> +
>>> + Contains the boot protocol version, e.g. 0x0204 for version 2.04.
>>>
>>>
>> So the version is in BCD?
>>
>
> Valid objection. It probably should be considered as (major, minor)
> bytes, but we haven't had any releases where it hasn't also been valid
> BCD. I would prefer separate bytes myself, so 2.10 = 0x20a instead of
> 2.10 = 0x210.
>

OK. So is the major or minor at the lower address?

>>> +Field name: readmode_swtch
>>> +Type: modify (optional)
>>> +Offset/size: 0x208/4
>>> +Protocol: 2.00+
>>> +
>>> + Boot loader hook (see separate chapter.)
>>>
>>>
>> Chapter? Is there a more specific reference you could make?
>>
>
> Fair enough...
>
>
>>> +Field name: kernel_version
>>> +Type: read
>>> +Offset/size: 0x20e/2
>>> +Protocol: 2.00+
>>> +
>>> + If set to a nonzero value, contains a pointer to a null-terminated
>>>
>>>
>> "nil-terminated"? "\0-terminated"?
>>
>
> Uh? That seems more than a little silly. Yes, I guess formally
> speaking we're talking about "NUL-terminated", but the term
> "null-terminated" has over 800,000 hits on Google -- 10 times as many as
> "NUL-terminated" -- and is hardly an ambiguous term ("NUL-terminated" is
> ugly, and "zero-terminated" is ambiguous.)
>

0x00 or \0-terminated is idiomatic and unambigous. Not a big deal
either way.

J
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/