[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dmidecode] [PATCH 3/5] dmidecode: Add fields from the SMBIOS 3.0.0 spec
From: |
Jean Delvare |
Subject: |
[dmidecode] [PATCH 3/5] dmidecode: Add fields from the SMBIOS 3.0.0 specification |
Date: |
Tue, 21 Apr 2015 11:57:36 +0200 |
Add support for 3 new fields in DMI type 4 (Processor Information):
extended core and thread counts, for systems with more than 255 of
those.
---
dmidecode.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
--- dmidecode.orig/dmidecode.c 2015-04-21 11:05:05.403762263 +0200
+++ dmidecode/dmidecode.c 2015-04-21 11:05:07.537801609 +0200
@@ -69,7 +69,7 @@
#define out_of_spec "<OUT OF SPEC>"
static const char *bad_index = "<BAD INDEX>";
-#define SUPPORTED_SMBIOS_VER 0x0208
+#define SUPPORTED_SMBIOS_VER 0x0300
#define FLAG_NO_FILE_OFFSET (1 << 0)
@@ -3394,11 +3394,17 @@ static void dmi_decode(const struct dmi_
dmi_string(h, data[0x22]));
if (h->length < 0x28) break;
if (data[0x23] != 0)
- printf("\tCore Count: %u\n", data[0x23]);
+ printf("\tCore Count: %u\n",
+ h->length >= 0x2C && data[0x23] == 0xFF
?
+ WORD(data + 0x2A) : data[0x23]);
if (data[0x24] != 0)
- printf("\tCore Enabled: %u\n", data[0x24]);
+ printf("\tCore Enabled: %u\n",
+ h->length >= 0x2E && data[0x24] == 0xFF
?
+ WORD(data + 0x2C) : data[0x24]);
if (data[0x25] != 0)
- printf("\tThread Count: %u\n", data[0x25]);
+ printf("\tThread Count: %u\n",
+ h->length >= 0x30 && data[0x25] == 0xFF
?
+ WORD(data + 0x2E) : data[0x25]);
printf("\tCharacteristics:");
dmi_processor_characteristics(WORD(data + 0x26),
"\t\t");
break;
--
Jean Delvare
SUSE L3 Support