[SeaBIOS] [PATCH] biostables: Support SMBIOS 2.6+ UUID format
Cole Robinson
crobinso at redhat.com
Thu Jan 14 18:24:29 CET 2016
On 01/14/2016 12:22 PM, Kevin O'Connor wrote:
> On Tue, Jan 12, 2016 at 02:22:41PM -0500, Cole Robinson wrote:
>> SMBIOS 2.6+ stores the UUID in a different format, with the first 3
>> fields in little endian format. This is what modern qemu delivers
>> and what dmidecode also handles, so let's follow suit too. More
>> info at this thread:
>>
>> http://www.seabios.org/pipermail/seabios/2015-November/010031.html
>>
>> The only place this affects is when reporting the UUID at startup.
>>
>> https://bugzilla.redhat.com/show_bug.cgi?id=1284259
>> ---
>> src/fw/biostables.c | 51 ++++++++++++++++++++++++++++++++++++++++-----------
>> 1 file changed, 40 insertions(+), 11 deletions(-)
>>
>> diff --git a/src/fw/biostables.c b/src/fw/biostables.c
>> index cb74396..2e15f82 100644
>> --- a/src/fw/biostables.c
>> +++ b/src/fw/biostables.c
>> @@ -306,17 +306,46 @@ display_uuid(void)
>> if (memcmp(uuid, empty_uuid, sizeof(empty_uuid)) == 0)
>> return;
>>
>> - printf("Machine UUID"
>> - " %02x%02x%02x%02x"
>> - "-%02x%02x"
>> - "-%02x%02x"
>> - "-%02x%02x"
>> - "-%02x%02x%02x%02x%02x%02x\n"
>> - , uuid[ 0], uuid[ 1], uuid[ 2], uuid[ 3]
>> - , uuid[ 4], uuid[ 5]
>> - , uuid[ 6], uuid[ 7]
>> - , uuid[ 8], uuid[ 9]
>> - , uuid[10], uuid[11], uuid[12], uuid[13], uuid[14], uuid[15]);
>> + /*
>> + * comment borrowed from dmidecode:
>> + *
>> + * As of version 2.6 of the SMBIOS specification, the first 3
>> + * fields of the UUID are supposed to be encoded on little-endian.
>> + * The specification says that this is the defacto standard,
>> + * however I've seen systems following RFC 4122 instead and use
>> + * network byte order, so I am reluctant to apply the byte-swapping
>> + * for older versions.
>> + */
>
> I find this comment confusing - how about something like:
>
> According to SMBIOS v2.6 the first three fields are encoded in
> little-endian format. Versions prior to v2.6 did not specify the
> encoding, but we follow dmidecode and assume big-endian encoding.
>
That would be fine with me. If Gerd gives his ACK do you want to fix up the
comment or should I post a v2?
Thanks,
Cole
More information about the SeaBIOS
mailing list