You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
141 lines
4.6 KiB
141 lines
4.6 KiB
From ee07a1b4249560d620d05194eb8ff61b40d3ce23 Mon Sep 17 00:00:00 2001 |
|
From: Jerry Hoemann <jerry.hoemann@hpe.com> |
|
Date: Wed, 13 Sep 2017 15:54:22 -0600 |
|
Subject: [PATCH 07/10] dmioem: Reflect HPE's new company name |
|
|
|
After Hewlett Packard Enterprise split from Hewlett-Packard, DMI OEM |
|
tables reflect the new company name. Gen10 and subsequent systems will |
|
use HPE. Gen9 and prior systems continue to use the old "HP" name. |
|
|
|
Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com> |
|
Signed-off-by: Jean Delvare <jdelvare@suse.de> |
|
--- |
|
dmioem.c | 32 +++++++++++++++++++------------- |
|
1 file changed, 19 insertions(+), 13 deletions(-) |
|
|
|
diff --git a/dmioem.c b/dmioem.c |
|
index 034ad9f..a032344 100644 |
|
--- a/dmioem.c |
|
+++ b/dmioem.c |
|
@@ -35,6 +35,7 @@ enum DMI_VENDORS |
|
VENDOR_UNKNOWN, |
|
VENDOR_HP, |
|
VENDOR_ACER, |
|
+ VENDOR_HPE, |
|
}; |
|
|
|
static enum DMI_VENDORS dmi_vendor = VENDOR_UNKNOWN; |
|
@@ -58,12 +59,14 @@ void dmi_set_vendor(const char *s) |
|
|
|
if (strncmp(s, "HP", len) == 0 || strncmp(s, "Hewlett-Packard", len) == 0) |
|
dmi_vendor = VENDOR_HP; |
|
+ else if (strncmp(s, "HPE", len) == 0 || strncmp(s, "Hewlett Packard Enterprise", len) == 0) |
|
+ dmi_vendor = VENDOR_HPE; |
|
else if (strncmp(s, "Acer", len) == 0) |
|
dmi_vendor = VENDOR_ACER; |
|
} |
|
|
|
/* |
|
- * HP-specific data structures are decoded here. |
|
+ * HPE-specific data structures are decoded here. |
|
* |
|
* Code contributed by John Cagle and Tyler Bell. |
|
*/ |
|
@@ -98,14 +101,15 @@ static int dmi_decode_hp(const struct dmi_header *h) |
|
u8 *data = h->data; |
|
int nic, ptr; |
|
u32 feat; |
|
+ const char *company = (dmi_vendor == VENDOR_HP) ? "HP" : "HPE"; |
|
|
|
switch (h->type) |
|
{ |
|
case 204: |
|
/* |
|
- * Vendor Specific: HP ProLiant System/Rack Locator |
|
+ * Vendor Specific: HPE ProLiant System/Rack Locator |
|
*/ |
|
- printf("HP ProLiant System/Rack Locator\n"); |
|
+ printf("%s ProLiant System/Rack Locator\n", company); |
|
if (h->length < 0x0B) break; |
|
printf("\tRack Name: %s\n", dmi_string(h, data[0x04])); |
|
printf("\tEnclosure Name: %s\n", dmi_string(h, data[0x05])); |
|
@@ -119,7 +123,7 @@ static int dmi_decode_hp(const struct dmi_header *h) |
|
case 209: |
|
case 221: |
|
/* |
|
- * Vendor Specific: HP ProLiant NIC MAC Information |
|
+ * Vendor Specific: HPE ProLiant NIC MAC Information |
|
* |
|
* This prints the BIOS NIC number, |
|
* PCI bus/device/function, and MAC address |
|
@@ -137,9 +141,10 @@ static int dmi_decode_hp(const struct dmi_header *h) |
|
* |
|
* Type 221: is deprecated in the latest docs |
|
*/ |
|
- printf(h->type == 221 ? |
|
- "HP BIOS iSCSI NIC PCI and MAC Information\n" : |
|
- "HP BIOS PXE NIC PCI and MAC Information\n"); |
|
+ printf("%s %s\n", company, |
|
+ h->type == 221 ? |
|
+ "BIOS iSCSI NIC PCI and MAC Information" : |
|
+ "BIOS PXE NIC PCI and MAC Information"); |
|
nic = 1; |
|
ptr = 4; |
|
while (h->length >= ptr + 8) |
|
@@ -155,7 +160,7 @@ static int dmi_decode_hp(const struct dmi_header *h) |
|
|
|
case 233: |
|
/* |
|
- * Vendor Specific: HP ProLiant NIC MAC Information |
|
+ * Vendor Specific: HPE ProLiant NIC MAC Information |
|
* |
|
* This prints the BIOS NIC number, |
|
* PCI bus/device/function, and MAC address |
|
@@ -171,7 +176,7 @@ static int dmi_decode_hp(const struct dmi_header *h) |
|
* 0x08 | MAC | 32B | MAC addr padded w/ 0s |
|
* 0x28 | Port No| BYTE | Each NIC maps to a Port |
|
*/ |
|
- printf("HP BIOS PXE NIC PCI and MAC Information\n"); |
|
+ printf("%s BIOS PXE NIC PCI and MAC Information\n", company); |
|
if (h->length < 0x0E) break; |
|
/* If the record isn't long enough, we don't have an ID |
|
* use 0xFF to use the internal counter. |
|
@@ -183,11 +188,11 @@ static int dmi_decode_hp(const struct dmi_header *h) |
|
|
|
case 212: |
|
/* |
|
- * Vendor Specific: HP 64-bit CRU Information |
|
+ * Vendor Specific: HPE 64-bit CRU Information |
|
* |
|
* Source: hpwdt kernel driver |
|
*/ |
|
- printf("HP 64-bit CRU Information\n"); |
|
+ printf("%s 64-bit CRU Information\n", company); |
|
if (h->length < 0x18) break; |
|
printf("\tSignature: 0x%08x", DWORD(data + 0x04)); |
|
if (is_printable(data + 0x04, 4)) |
|
@@ -208,11 +213,11 @@ static int dmi_decode_hp(const struct dmi_header *h) |
|
|
|
case 219: |
|
/* |
|
- * Vendor Specific: HP ProLiant Information |
|
+ * Vendor Specific: HPE ProLiant Information |
|
* |
|
* Source: hpwdt kernel driver |
|
*/ |
|
- printf("HP ProLiant Information\n"); |
|
+ printf("%s ProLiant Information\n", company); |
|
if (h->length < 0x08) break; |
|
printf("\tPower Features: 0x%08x\n", DWORD(data + 0x04)); |
|
if (h->length < 0x0C) break; |
|
@@ -281,6 +286,7 @@ int dmi_decode_oem(const struct dmi_header *h) |
|
switch (dmi_vendor) |
|
{ |
|
case VENDOR_HP: |
|
+ case VENDOR_HPE: |
|
return dmi_decode_hp(h); |
|
case VENDOR_ACER: |
|
return dmi_decode_acer(h); |
|
-- |
|
2.9.5 |
|
|
|
|