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


Reply via email to