Physical Attribute Information.
Signed-off-by: Jerry Hoemann <[email protected]>
---
dmioem.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/dmioem.c b/dmioem.c
index 051fd09..b8eac5c 100644
--- a/dmioem.c
+++ b/dmioem.c
@@ -1594,6 +1594,54 @@ static int dmi_decode_hp(const struct dmi_header *h)
dmi_hp_224_chipid(WORD(data + 0x0a));
break;
+ case 226:
+ /*
+ * Vendor Specific: Physical Attribute Information
+ *
+ * This OEM SMBIOS Record is used to communicate
physical attributes of the
+ * system for which virtual values have been stored in
the standard SMBIOS
+ * fields. This Record was initially created for the
SYNERGY project. This
+ * SMBIOS Record's definition is intended to be
expanded as needed if any
+ * future physical attributes stored in industry
standard SMBIOS fields
+ * must be replaced by virtual values. It is intended
that the format of
+ * the fields in this SMBIOS record match the format of
the fields in the
+ * corresponding industry standard SMBIOS Records. For
example, the UUID
+ * field is stored as a 16-byte value and the Serial
Number is stored as a
+ * String field. Software should not make any
assumptions on the overall
+ * length of this record as it is intended to grow in
length if necessary.
+ * Software should utilize the same mechanisms for
retrieving string fields
+ * as are defined for accessing string fields in the
industry standard
+ * SMBIOS records. It is intended that these fields
will ALWAYS contain
+ * the implemented physical attribute values whether or
not the industry
+ * standard SMBIOS fields include the physical or
virtual values.
+ *
+ * This structure exists to store physical attributes
for which virtual
+ * attributes have been stored in the industry standard
SMBIOS fields
+ * which would normally store these physical
attributes. This OEM SMBIOS
+ * Record was initially defined for the SYNERGY project
where it was
+ * required that a virtual serial number and UUID be
applied to the
+ * system. These virtual values must be stored in the
standard SMBIOS
+ * fields so that industry standard software would
detect these virtual
+ * values, allowing a workload to transition from one
physical piece of
+ * hardware to another. This Record was created because
a place was needed
+ * to store the physical attributes (serial number and
UUID) for use in
+ * asset tracking and warranty events.
+ *
+ * Offset | Name | Width | Description
+ * -------------------------------------
+ * 0x00 | Type | BYTE | 0xE2, Physical Attribute
+ * 0x01 | Length | BYTE | Length of structure
+ * 0x02 | Handle | WORD | Unique handle
+ * 0x04 | UUID |16 BYTE| if !0 => Physical
Universal Unique ID Number
+ * 0x14 | SN | STRING| Physical Serial Number.
Match Record Type 1
+ */
+ pr_handle_name("%s Physical Attribut Information",
company);
+ if (h->length < 0x15) break;
+ if (DWORD(data + 0x08) || DWORD(data + 0x04))
+ pr_attr("UUID", "0x%08x%08x", DWORD(data +
0x08), DWORD(data + 0x04));
+ pr_attr("Serial Number", "%s", dmi_string(h,
data[0x14]));
+ break;
+
case 230:
/*
* Vendor Specific: Power Supply Information OEM SMBIOS
Record
--
2.50.0