[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dmidecode] [PATCH] dmioem: Decode HPE OEM Record 237
From: |
Jerry Hoemann |
Subject: |
[dmidecode] [PATCH] dmioem: Decode HPE OEM Record 237 |
Date: |
Tue, 7 Jun 2022 11:05:10 -0600 |
Decode HPE OEM Record 237: DIMM Vendor Part Number Information
Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com>
---
dmioem.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/dmioem.c b/dmioem.c
index b542c5a..567fb7f 100644
--- a/dmioem.c
+++ b/dmioem.c
@@ -663,6 +663,34 @@ static int dmi_decode_hp(const struct dmi_header *h)
}
break;
+ case 237:
+ /*
+ * Vendor Specific: HPE DIMM Vendor Part Number
Information
+ *
+ * Offset | Name | Width | Description
+ * ---------------------------------------
+ * 0x00 | Type | BYTE | 0xED, DIMM Vendor Part
Number information record
+ * 0x01 | Length | BYTE | Length of structure
+ * 0x02 | Handle | WORD | Unique handle
+ * 0x04 | Hand Assoc | WORD | Handle to map to Type
17
+ * 0x06 | Manufacture|STRING | DIMM Manufacturer
+ * 0x07 | Part Number|STRING | DIMM Manufacturer's
Part Number
+ * 0x08 | Serial Num |STRING | DIMM Vendor Serial
Number
+ * 0x09 | Spare Part |STRING | DIMM Spare Part Number
+ */
+ if (gen < G9) return 0;
+ pr_handle_name("%s Proliant USB Port Connector
Correlation Record", company);
+ if (h->length < 0x08) break;
+ if (!(opt.flags & FLAG_QUIET))
+ pr_attr("Associated Handle", "0x%04X",
WORD(data + 0x4));
+ pr_attr("DIMM Manufacturer", "%s", dmi_string(h,
data[0x06]));
+ pr_attr("DIMM Manufacturer Part Number", "%s",
dmi_string(h, data[0x07]));
+ if (h->length < 0x09) break;
+ pr_attr("DIMM Vendor Serial Number", "%s",
dmi_string(h, data[0x08]));
+ if (h->length < 0x0a) break;
+ pr_attr("DIMM Spare Part Number", "%s", dmi_string(h,
data[0x09]));
+ break;
+
case 238:
/*
* Vendor Specific: HPE USB Port Connector Correlation
Record
--
2.36.1
- [dmidecode] [PATCH] dmioem: Decode HPE OEM Record 237,
Jerry Hoemann <=