summaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
authorJean Delvare <jdelvare@suse.de>2019-01-29 14:11:42 +0100
committerJean Delvare <jdelvare@suse.de>2019-01-29 14:11:42 +0100
commit72fa3909cfabe8822e2b8709e5d324008f55022a (patch)
tree33a6a741026c21130eaab87f00b732ceb57887a6 /man
parent91d6ce2d1d2fa6fcedf8e5685bafdb0515317605 (diff)
downloaddmidecode-git-72fa3909cfabe8822e2b8709e5d324008f55022a.tar.gz
dmidecode: Document how the UUID fields are interpreted
There has always been a lot of confusion about the byte order of UUID fields. While dmidecode is doing "the right thing", documenting it can't hurt. This should address bug #55510: https://savannah.nongnu.org/bugs/index.php?55510 Signed-off-by: Jean Delvare <jdelvare@suse.de>
Diffstat (limited to 'man')
-rw-r--r--man/dmidecode.814
1 files changed, 14 insertions, 0 deletions
diff --git a/man/dmidecode.8 b/man/dmidecode.8
index 33f7d33..52100a8 100644
--- a/man/dmidecode.8
+++ b/man/dmidecode.8
@@ -256,6 +256,20 @@ It is crafted to hard-code the table address at offset 0x20.
.IP \(bu "\w'\(bu'u+1n"
The DMI table is located at offset 0x20.
+.SH UUID FORMAT
+There is some ambiguity about how to interpret the UUID fields prior to SMBIOS
+specification version 2.6. There was no mention of byte swapping, and RFC 4122
+says that no byte swapping should be applied by default. However, SMBIOS
+specification version 2.6 (and later) explicitly states that the first 3 fields
+of the UUID should be read as little-endian numbers (byte-swapped).
+Furthermore, it implies that the same was already true for older versions of
+the specification, even though it was not mentioned. In practice, many hardware
+vendors were not byte-swapping the UUID. So, in order to preserve
+compatibility, it was decided to interpret the UUID fields according to RFC
+4122 (no byte swapping) when the SMBIOS version is older than 2.6, and to
+interpret the first 3 fields as little-endian (byte-swapped) when the SMBIOS
+version is 2.6 or later. The Linux kernel follows the same logic.
+
.SH FILES
.I /dev/mem
.br