System — UUID
A UUID is an identifier that is designed to be unique across both time and space, and requires no central registration
process. The UUID is 128 bits long. Its format is described in RFC 4122, but the actual field contents are opaque
and not significant to the SMBIOS specification, which is only concerned with the byte order. The following field
names, particularly for multiplexed fields, follow historical practice:
Offset
|
RFC 4122 Name
|
Length
|
Value
|
Description
|
00h
|
time_low
|
DWORD
|
Varies
|
The low field of the timestamp
|
04h
|
time_mid
|
WORD
|
Varies
|
The middle field of the timestamp
|
06h
|
time_hi_and_version
|
WORD
|
Varies
|
The high field of the timestamp multiplexed with the version number
|
08h
|
clock_seq_hi_and_reserved
|
BYTE
|
Varies
|
The high field of the clock sequence multiplexed with the variant
|
09h
|
clock_seq_low
|
BYTE
|
Varies
|
The low field of the clock sequence
|
0Ah
|
Node
|
6 BYTEs
|
Varies
|
The spatially unique node identifier
|
Although RFC 4122 recommends network byte order for all fields, the PC industry (including the ACPI, UEFI, and
Microsoft specifications) has consistently used little-endian byte encoding for the first three fields: time_low,
time_mid, time_hi_and_version. The same encoding, also known as wire format, should also be used for the
SMBIOS representation of the UUID.
The UUID {00112233-4455-6677-8899-AABBCCDDEEFF} would thus be represented as 33 22 11 00 55 44 77 66
88 99 AA BB CC DD EE FF.
If the value is all FFh, the ID is not currently present in the system, but can be set. If the value is all 00h, the ID is
not present in the system.