dmidecode/0031-dmioem-Decode-HPE-OEM-Type-193.patch
Lichen Liu 03b0d1462a
update to upstream fa268715
Resolves: RHEL-99252

Signed-off-by: Lichen Liu <lichliu@redhat.com>
2025-10-14 13:48:30 +08:00

59 lines
1.9 KiB
Diff

From 31e12811f6168ee9265b14ed107701fe71cf3f5f Mon Sep 17 00:00:00 2001
From: Jerry Hoemann <jerry.hoemann@hpe.com>
Date: Tue, 20 May 2025 09:39:01 +0200
Subject: [PATCH 31/45] dmioem: Decode HPE OEM Type 193
HPE OEM Type 193: Other ROM Info.
Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
---
dmioem.c | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/dmioem.c b/dmioem.c
index ffbcd95..d4d83e2 100644
--- a/dmioem.c
+++ b/dmioem.c
@@ -1001,6 +1001,37 @@ static int dmi_decode_hp(const struct dmi_header *h)
switch (h->type)
{
+ case 193:
+ /*
+ * Vendor Specific: Other ROM Info
+ *
+ * Offset | Name | Width | Description
+ * -------------------------------------
+ * 0x00 | Type | BYTE | 0xC1, ROM Structure Indicator
+ * 0x01 | Length | BYTE | Length of structure
+ * 0x02 | Handle | WORD | Unique handle
+ * 0x04 | ROM | BYTE | 01: Redundant ROM installed
+ * 0x05 | ROM vers | STRING| Version of the Redundant ROM
+ * 0x06 | Reserved | BYTE | Reserved in Gen9 forward
+ * 0x07 | OEM ROM | STRING| If not blank, OEM ROM binary file name
+ * 0x08 | OEM Date | STRING| If not blank, OEM ROM binary build date
+ */
+ if (gen < G9) return 0;
+ pr_handle_name("%s ProLiant Other ROM Info", company);
+ if (h->length < 0x09) break;
+ if ((gen < G12) && (data[0x04] & 0x01))
+ pr_attr("Redundant ROM Version", "%s", dmi_string(h, data[0x05]));
+ if (data[0x07])
+ {
+ const char *str = dmi_string(h, data[0x07]);
+ if (strncmp(str, " ", 2))
+ {
+ pr_attr("OEM ROM Binary Filename", "%s", str);
+ pr_attr("OEM ROM Binary Build Date", "%s", dmi_string(h, data[0x08]));
+ }
+ }
+ break;
+
case 194:
/*
* Vendor Specific: Super IO Enable/Disable Features
--
2.47.0