dmidecode package update
Signed-off-by: basebuilder_pel7x64builder0 <basebuilder@powerel.org>master
parent
f6e5ed034d
commit
8764c7c3bc
|
@ -0,0 +1,42 @@
|
|||
From aad65d8a53a00d5426990fc8b5af9d749fc879b9 Mon Sep 17 00:00:00 2001
|
||||
From: Mika Westerberg <mika.westerberg@linux.intel.com>
|
||||
Date: Thu, 1 Jun 2017 14:21:38 +0300
|
||||
Subject: [PATCH 01/10] dmidecode: Add system-family direct string option
|
||||
|
||||
This allows users to print system-family using '-s' option.
|
||||
|
||||
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
|
||||
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
||||
---
|
||||
dmiopt.c | 1 +
|
||||
man/dmidecode.8 | 2 +-
|
||||
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dmiopt.c b/dmiopt.c
|
||||
index da42546..a36cf16 100644
|
||||
--- a/dmiopt.c
|
||||
+++ b/dmiopt.c
|
||||
@@ -156,6 +156,7 @@ static const struct string_keyword opt_string_keyword[] = {
|
||||
{ "system-version", 1, 0x06 },
|
||||
{ "system-serial-number", 1, 0x07 },
|
||||
{ "system-uuid", 1, 0x08 }, /* dmi_system_uuid() */
|
||||
+ { "system-family", 1, 0x1a },
|
||||
{ "baseboard-manufacturer", 2, 0x04 },
|
||||
{ "baseboard-product-name", 2, 0x05 },
|
||||
{ "baseboard-version", 2, 0x06 },
|
||||
diff --git a/man/dmidecode.8 b/man/dmidecode.8
|
||||
index bef204e..e3b6b2a 100644
|
||||
--- a/man/dmidecode.8
|
||||
+++ b/man/dmidecode.8
|
||||
@@ -74,7 +74,7 @@ Only display the value of the \s-1DMI\s0 string identified by \fBKEYWORD\fR.
|
||||
\fBbios-version\fR, \fBbios-release-date\fR,
|
||||
\fBsystem-manufacturer\fR, \fBsystem-product-name\fR,
|
||||
\fBsystem-version\fR, \fBsystem-serial-number\fR,
|
||||
-\fBsystem-uuid\fR,
|
||||
+\fBsystem-uuid\fR, \fBsystem-family\fR,
|
||||
\fBbaseboard-manufacturer\fR, \fBbaseboard-product-name\fR,
|
||||
\fBbaseboard-version\fR, \fBbaseboard-serial-number\fR,
|
||||
\fBbaseboard-asset-tag\fR, \fBchassis-manufacturer\fR,
|
||||
--
|
||||
2.9.5
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
From 174387405e98cd94c627832ae23abcb9be7e5623 Mon Sep 17 00:00:00 2001
|
||||
From: Jean Delvare <jdelvare@suse.de>
|
||||
Date: Wed, 31 Jan 2018 18:52:47 +0100
|
||||
Subject: [PATCH 1/3] dmidecode: Fix firmware version of TPM device
|
||||
|
||||
Both the operator (detected by clang, reported by Xorg) and the mask
|
||||
for the minor firmware version field of TPM devices were wrong.
|
||||
|
||||
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
||||
Fixes: 48a8132058a0 ("dmidecode: Add support for structure type 43 (TPM Device)")
|
||||
---
|
||||
dmidecode.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dmidecode.c b/dmidecode.c
|
||||
index 87faaa9..a593170 100644
|
||||
--- a/dmidecode.c
|
||||
+++ b/dmidecode.c
|
||||
@@ -4511,7 +4511,7 @@ static void dmi_decode(const struct dmi_header *h, u16 ver)
|
||||
case 0x02:
|
||||
printf("\tFirmware Revision: %u.%u\n",
|
||||
DWORD(data + 0x0A) >> 16,
|
||||
- DWORD(data + 0x0A) && 0xFF);
|
||||
+ DWORD(data + 0x0A) & 0xFFFF);
|
||||
/*
|
||||
* We skip the next 4 bytes, as their
|
||||
* format is not standardized and their
|
||||
--
|
||||
2.9.5
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,36 @@
|
|||
From 2ba4fab210e23cc97db57217af9a6f3b35a9b666 Mon Sep 17 00:00:00 2001
|
||||
From: Jerry Hoemann <jerry.hoemann@hpe.com>
|
||||
Date: Wed, 11 Apr 2018 14:33:20 +0200
|
||||
Subject: [PATCH 2/3] dmioem: decode HPE UEFI type 219 Misc Features
|
||||
|
||||
The incorrect "Misc Feature" bit in type 219 table was being used to
|
||||
identify that the platform is capable of booting with UEFI.
|
||||
|
||||
For corresponding kernel change please see:
|
||||
|
||||
commit(c42cbe41727a)
|
||||
|
||||
in linux.
|
||||
|
||||
Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com>
|
||||
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
||||
---
|
||||
dmioem.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dmioem.c b/dmioem.c
|
||||
index 8a72ac9..1742330 100644
|
||||
--- a/dmioem.c
|
||||
+++ b/dmioem.c
|
||||
@@ -268,7 +268,7 @@ static int dmi_decode_hp(const struct dmi_header *h)
|
||||
feat = DWORD(data + 0x10);
|
||||
printf("\tMisc. Features: 0x%08x\n", feat);
|
||||
printf("\t\tiCRU: %s\n", feat & 0x0001 ? "Yes" : "No");
|
||||
- printf("\t\tUEFI: %s\n", feat & 0x0408 ? "Yes" : "No");
|
||||
+ printf("\t\tUEFI: %s\n", feat & 0x1400 ? "Yes" : "No");
|
||||
break;
|
||||
|
||||
default:
|
||||
--
|
||||
2.9.5
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
From 371056cc0345ba8e950f0c002a0e145a3930b39c Mon Sep 17 00:00:00 2001
|
||||
From: Jean Delvare <jdelvare@suse.de>
|
||||
Date: Mon, 17 Jul 2017 09:45:39 +0200
|
||||
Subject: [PATCH 03/10] Fix install-doc target
|
||||
|
||||
CHANGELOG was replaced by NEWS but I forgot to update the references
|
||||
to that file.
|
||||
|
||||
This fixes bug #51475:
|
||||
https://savannah.nongnu.org/bugs/?51475
|
||||
|
||||
Fixes: 82a34ddbc524 ("Goodbye CHANGELOG, welcome NEWS")
|
||||
---
|
||||
Makefile | 2 +-
|
||||
README | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 1f54a1f..77c9310 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -134,7 +134,7 @@ uninstall-man :
|
||||
install-doc :
|
||||
$(INSTALL_DIR) $(DESTDIR)$(docdir)
|
||||
$(INSTALL_DATA) README $(DESTDIR)$(docdir)
|
||||
- $(INSTALL_DATA) CHANGELOG $(DESTDIR)$(docdir)
|
||||
+ $(INSTALL_DATA) NEWS $(DESTDIR)$(docdir)
|
||||
$(INSTALL_DATA) AUTHORS $(DESTDIR)$(docdir)
|
||||
|
||||
uninstall-doc :
|
||||
diff --git a/README b/README
|
||||
index f612b36..c87e52c 100644
|
||||
--- a/README
|
||||
+++ b/README
|
||||
@@ -56,7 +56,7 @@ Each tool has a manual page, found in the "man" subdirectory. Manual pages
|
||||
are installed by "make install". See these manual pages for command line
|
||||
interface details and tool specific information.
|
||||
|
||||
-For an history of the changes made to dmidecode, see the CHANGELOG file.
|
||||
+For an history of the changes made to dmidecode, see the NEWS file.
|
||||
|
||||
If you need help, your best chances are to visit the web page (see the
|
||||
INSTALLATION section above) or to get in touch with the developers directly.
|
||||
--
|
||||
2.9.5
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
From aec83995082070c47edf394c4b7f9f17fea7fd16 Mon Sep 17 00:00:00 2001
|
||||
From: Jean Delvare <jdelvare@suse.de>
|
||||
Date: Mon, 16 Apr 2018 09:42:25 +0200
|
||||
Subject: [PATCH 3/3] dmidecode: Use lowercase letters for UUID
|
||||
|
||||
RFC 4122 asks for letters a-f in UUID to be lowercase. Follow this
|
||||
recommendation.
|
||||
|
||||
This closes bug #53569:
|
||||
https://savannah.nongnu.org/bugs/index.php?53569
|
||||
|
||||
---
|
||||
dmidecode.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dmidecode.c b/dmidecode.c
|
||||
index a593170..d18a258 100644
|
||||
--- a/dmidecode.c
|
||||
+++ b/dmidecode.c
|
||||
@@ -445,11 +445,11 @@ static void dmi_system_uuid(const u8 *p, u16 ver)
|
||||
* for older versions.
|
||||
*/
|
||||
if (ver >= 0x0206)
|
||||
- printf("%02X%02X%02X%02X-%02X%02X-%02X%02X-%02X%02X-%02X%02X%02X%02X%02X%02X",
|
||||
+ printf("%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
|
||||
p[3], p[2], p[1], p[0], p[5], p[4], p[7], p[6],
|
||||
p[8], p[9], p[10], p[11], p[12], p[13], p[14], p[15]);
|
||||
else
|
||||
- printf("%02X%02X%02X%02X-%02X%02X-%02X%02X-%02X%02X-%02X%02X%02X%02X%02X%02X",
|
||||
+ printf("%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
|
||||
p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7],
|
||||
p[8], p[9], p[10], p[11], p[12], p[13], p[14], p[15]);
|
||||
}
|
||||
--
|
||||
2.9.5
|
||||
|
|
@ -0,0 +1,136 @@
|
|||
From 6486331cf66e35bcf01e1c15c4396af68b6eb4d4 Mon Sep 17 00:00:00 2001
|
||||
From: Jean Delvare <jdelvare@suse.de>
|
||||
Date: Tue, 25 Jul 2017 11:21:22 +0200
|
||||
Subject: [PATCH 04/10] biosdecode: Add option --pir full
|
||||
|
||||
Add an option to decode the details of the PIR table.
|
||||
|
||||
This implements support request #109339:
|
||||
https://savannah.nongnu.org/support/index.php?109339
|
||||
|
||||
---
|
||||
biosdecode.c | 59 +++++++++++++++++++++++++++++++-------------------------
|
||||
man/biosdecode.8 | 3 +++
|
||||
2 files changed, 36 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/biosdecode.c b/biosdecode.c
|
||||
index ad3d4bc..8293e61 100644
|
||||
--- a/biosdecode.c
|
||||
+++ b/biosdecode.c
|
||||
@@ -73,12 +73,16 @@ struct opt
|
||||
{
|
||||
const char *devmem;
|
||||
unsigned int flags;
|
||||
+ unsigned char pir;
|
||||
};
|
||||
static struct opt opt;
|
||||
|
||||
#define FLAG_VERSION (1 << 0)
|
||||
#define FLAG_HELP (1 << 1)
|
||||
|
||||
+#define PIR_SHORT 0
|
||||
+#define PIR_FULL 1
|
||||
+
|
||||
struct bios_entry {
|
||||
const char *anchor;
|
||||
size_t anchor_len; /* computed */
|
||||
@@ -386,32 +390,29 @@ static int pir_decode(const u8 *p, size_t len)
|
||||
i, p[(i + 1) * 16], p[(i + 1) * 16 + 1] >> 3);
|
||||
pir_slot_number(p[(i + 1) * 16 + 14]);
|
||||
printf("\n");
|
||||
-/* printf("\tSlot Entry %u\n", i);
|
||||
- printf("\t\tID: %02x:%02x\n",
|
||||
- p[(i + 1) * 16], p[(i + 1) * 16 + 1] >> 3);
|
||||
- printf("\t\tLink Value for INTA#: %u\n",
|
||||
- p[(i + 1) * 16 + 2]);
|
||||
- printf("\t\tIRQ Bitmap for INTA#:");
|
||||
- pir_irqs(WORD(p + (i + 1) * 16 + 3));
|
||||
- printf("\n");
|
||||
- printf("\t\tLink Value for INTB#: %u\n",
|
||||
- p[(i + 1) * 16 + 5]);
|
||||
- printf("\t\tIRQ Bitmap for INTB#:");
|
||||
- pir_irqs(WORD(p + (i + 1) * 16 + 6));
|
||||
- printf("\n");
|
||||
- printf("\t\tLink Value for INTC#: %u\n",
|
||||
- p[(i + 1) * 16 + 8]);
|
||||
- printf("\t\tIRQ Bitmap for INTC#:");
|
||||
- pir_irqs(WORD(p + (i + 1) * 16 + 9));
|
||||
- printf("\n");
|
||||
- printf("\t\tLink Value for INTD#: %u\n",
|
||||
- p[(i + 1) * 16 + 11]);
|
||||
- printf("\t\tIRQ Bitmap for INTD#:");
|
||||
- pir_irqs(WORD(p + (i + 1) * 16 + 12));
|
||||
- printf("\n");
|
||||
- printf("\t\tSlot Number:");
|
||||
- pir_slot_number(p[(i + 1) * 16 + 14]);
|
||||
- printf("\n");*/
|
||||
+ if (opt.pir == PIR_FULL)
|
||||
+ {
|
||||
+ printf("\t\tLink Value for INTA#: %u\n",
|
||||
+ p[(i + 1) * 16 + 2]);
|
||||
+ printf("\t\tIRQ Bitmap for INTA#:");
|
||||
+ pir_irqs(WORD(p + (i + 1) * 16 + 3));
|
||||
+ printf("\n");
|
||||
+ printf("\t\tLink Value for INTB#: %u\n",
|
||||
+ p[(i + 1) * 16 + 5]);
|
||||
+ printf("\t\tIRQ Bitmap for INTB#:");
|
||||
+ pir_irqs(WORD(p + (i + 1) * 16 + 6));
|
||||
+ printf("\n");
|
||||
+ printf("\t\tLink Value for INTC#: %u\n",
|
||||
+ p[(i + 1) * 16 + 8]);
|
||||
+ printf("\t\tIRQ Bitmap for INTC#:");
|
||||
+ pir_irqs(WORD(p + (i + 1) * 16 + 9));
|
||||
+ printf("\n");
|
||||
+ printf("\t\tLink Value for INTD#: %u\n",
|
||||
+ p[(i + 1) * 16 + 11]);
|
||||
+ printf("\t\tIRQ Bitmap for INTD#:");
|
||||
+ pir_irqs(WORD(p + (i + 1) * 16 + 12));
|
||||
+ printf("\n");
|
||||
+ }
|
||||
}
|
||||
|
||||
return 1;
|
||||
@@ -616,6 +617,7 @@ static int parse_command_line(int argc, char * const argv[])
|
||||
const char *optstring = "d:hV";
|
||||
struct option longopts[] = {
|
||||
{ "dev-mem", required_argument, NULL, 'd' },
|
||||
+ { "pir", required_argument, NULL, 'P' },
|
||||
{ "help", no_argument, NULL, 'h' },
|
||||
{ "version", no_argument, NULL, 'V' },
|
||||
{ NULL, 0, NULL, 0 }
|
||||
@@ -627,6 +629,10 @@ static int parse_command_line(int argc, char * const argv[])
|
||||
case 'd':
|
||||
opt.devmem = optarg;
|
||||
break;
|
||||
+ case 'P':
|
||||
+ if (strcmp(optarg, "full") == 0)
|
||||
+ opt.pir = PIR_FULL;
|
||||
+ break;
|
||||
case 'h':
|
||||
opt.flags |= FLAG_HELP;
|
||||
break;
|
||||
@@ -646,6 +652,7 @@ static void print_help(void)
|
||||
"Usage: biosdecode [OPTIONS]\n"
|
||||
"Options are:\n"
|
||||
" -d, --dev-mem FILE Read memory from device FILE (default: " DEFAULT_MEM_DEV ")\n"
|
||||
+ " --pir full Decode the details of the PCI IRQ routing table\n"
|
||||
" -h, --help Display this help text and exit\n"
|
||||
" -V, --version Display the version and exit\n";
|
||||
|
||||
diff --git a/man/biosdecode.8 b/man/biosdecode.8
|
||||
index c39d6a0..a96eb68 100644
|
||||
--- a/man/biosdecode.8
|
||||
+++ b/man/biosdecode.8
|
||||
@@ -60,6 +60,9 @@ program.
|
||||
.BR "-d" ", " "--dev-mem FILE"
|
||||
Read memory from device \fBFILE\fR (default: \fB/dev/mem\fR)
|
||||
.TP
|
||||
+.BR " " " " "--pir full"
|
||||
+Decode the details of the PCI IRQ routing table
|
||||
+.TP
|
||||
.BR "-h" ", " "--help"
|
||||
Display usage information and exit
|
||||
.TP
|
||||
--
|
||||
2.9.5
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
From baeacaa7b9930badc074eaad3700b075ed9d622f Mon Sep 17 00:00:00 2001
|
||||
From: Jean Delvare <jdelvare@suse.de>
|
||||
Date: Tue, 25 Jul 2017 11:21:27 +0200
|
||||
Subject: [PATCH 05/10] biosdecode: Clean up the PIR table output
|
||||
|
||||
* Remove entry numbers.
|
||||
* Use "Device" instead of "ID".
|
||||
* Put repeated code in a function.
|
||||
* Don't display unconnected links.
|
||||
* Shorten "slot number" to just "slot".
|
||||
|
||||
---
|
||||
biosdecode.c | 42 ++++++++++++++++++------------------------
|
||||
1 file changed, 18 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/biosdecode.c b/biosdecode.c
|
||||
index 8293e61..b37e510 100644
|
||||
--- a/biosdecode.c
|
||||
+++ b/biosdecode.c
|
||||
@@ -355,7 +355,7 @@ static void pir_slot_number(u8 code)
|
||||
if (code == 0)
|
||||
printf(" on-board");
|
||||
else
|
||||
- printf(" slot number %u", code);
|
||||
+ printf(" slot %u", code);
|
||||
}
|
||||
|
||||
static size_t pir_length(const u8 *p)
|
||||
@@ -363,6 +363,16 @@ static size_t pir_length(const u8 *p)
|
||||
return WORD(p + 6);
|
||||
}
|
||||
|
||||
+static void pir_link_bitmap(char letter, const u8 *p)
|
||||
+{
|
||||
+ if (p[0] == 0) /* Not connected */
|
||||
+ return;
|
||||
+
|
||||
+ printf("\t\tINT%c#: Link 0x%02x, IRQ Bitmap", letter, p[0]);
|
||||
+ pir_irqs(WORD(p + 1));
|
||||
+ printf("\n");
|
||||
+}
|
||||
+
|
||||
static int pir_decode(const u8 *p, size_t len)
|
||||
{
|
||||
int i;
|
||||
@@ -372,7 +382,7 @@ static int pir_decode(const u8 *p, size_t len)
|
||||
|
||||
printf("PCI Interrupt Routing %u.%u present.\n",
|
||||
p[5], p[4]);
|
||||
- printf("\tRouter ID: %02x:%02x.%1x\n",
|
||||
+ printf("\tRouter Device: %02x:%02x.%1x\n",
|
||||
p[8], p[9]>>3, p[9] & 0x07);
|
||||
printf("\tExclusive IRQs:");
|
||||
pir_irqs(WORD(p + 10));
|
||||
@@ -386,32 +396,16 @@ static int pir_decode(const u8 *p, size_t len)
|
||||
|
||||
for (i = 1; i <= (WORD(p + 6) - 32) / 16; i++)
|
||||
{
|
||||
- printf("\tSlot Entry %u: ID %02x:%02x,",
|
||||
- i, p[(i + 1) * 16], p[(i + 1) * 16 + 1] >> 3);
|
||||
+ printf("\tDevice: %02x:%02x,",
|
||||
+ p[(i + 1) * 16], p[(i + 1) * 16 + 1] >> 3);
|
||||
pir_slot_number(p[(i + 1) * 16 + 14]);
|
||||
printf("\n");
|
||||
if (opt.pir == PIR_FULL)
|
||||
{
|
||||
- printf("\t\tLink Value for INTA#: %u\n",
|
||||
- p[(i + 1) * 16 + 2]);
|
||||
- printf("\t\tIRQ Bitmap for INTA#:");
|
||||
- pir_irqs(WORD(p + (i + 1) * 16 + 3));
|
||||
- printf("\n");
|
||||
- printf("\t\tLink Value for INTB#: %u\n",
|
||||
- p[(i + 1) * 16 + 5]);
|
||||
- printf("\t\tIRQ Bitmap for INTB#:");
|
||||
- pir_irqs(WORD(p + (i + 1) * 16 + 6));
|
||||
- printf("\n");
|
||||
- printf("\t\tLink Value for INTC#: %u\n",
|
||||
- p[(i + 1) * 16 + 8]);
|
||||
- printf("\t\tIRQ Bitmap for INTC#:");
|
||||
- pir_irqs(WORD(p + (i + 1) * 16 + 9));
|
||||
- printf("\n");
|
||||
- printf("\t\tLink Value for INTD#: %u\n",
|
||||
- p[(i + 1) * 16 + 11]);
|
||||
- printf("\t\tIRQ Bitmap for INTD#:");
|
||||
- pir_irqs(WORD(p + (i + 1) * 16 + 12));
|
||||
- printf("\n");
|
||||
+ pir_link_bitmap('A', p + (i + 1) * 16 + 2);
|
||||
+ pir_link_bitmap('B', p + (i + 1) * 16 + 5);
|
||||
+ pir_link_bitmap('C', p + (i + 1) * 16 + 8);
|
||||
+ pir_link_bitmap('D', p + (i + 1) * 16 + 11);
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.9.5
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
From 2b5c925d19e1eeecf6a24809396fed2774ee0695 Mon Sep 17 00:00:00 2001
|
||||
From: Jean Delvare <jdelvare@suse.de>
|
||||
Date: Tue, 25 Jul 2017 11:21:30 +0200
|
||||
Subject: [PATCH 06/10] biosdecode: Avoid repeating pointer arithmetic
|
||||
|
||||
This makes the code both more efficient and more readable.
|
||||
|
||||
---
|
||||
biosdecode.c | 18 +++++++++---------
|
||||
1 file changed, 9 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/biosdecode.c b/biosdecode.c
|
||||
index b37e510..99a27fe 100644
|
||||
--- a/biosdecode.c
|
||||
+++ b/biosdecode.c
|
||||
@@ -375,7 +375,7 @@ static void pir_link_bitmap(char letter, const u8 *p)
|
||||
|
||||
static int pir_decode(const u8 *p, size_t len)
|
||||
{
|
||||
- int i;
|
||||
+ int i, n;
|
||||
|
||||
if (len < 32 || !checksum(p, WORD(p + 6)))
|
||||
return 0;
|
||||
@@ -394,18 +394,18 @@ static int pir_decode(const u8 *p, size_t len)
|
||||
printf("\tMiniport Data: 0x%08X\n",
|
||||
DWORD(p + 16));
|
||||
|
||||
- for (i = 1; i <= (WORD(p + 6) - 32) / 16; i++)
|
||||
+ n = (len - 32) / 16;
|
||||
+ for (i = 1, p += 32; i <= n; i++, p += 16)
|
||||
{
|
||||
- printf("\tDevice: %02x:%02x,",
|
||||
- p[(i + 1) * 16], p[(i + 1) * 16 + 1] >> 3);
|
||||
- pir_slot_number(p[(i + 1) * 16 + 14]);
|
||||
+ printf("\tDevice: %02x:%02x,", p[0], p[1] >> 3);
|
||||
+ pir_slot_number(p[14]);
|
||||
printf("\n");
|
||||
if (opt.pir == PIR_FULL)
|
||||
{
|
||||
- pir_link_bitmap('A', p + (i + 1) * 16 + 2);
|
||||
- pir_link_bitmap('B', p + (i + 1) * 16 + 5);
|
||||
- pir_link_bitmap('C', p + (i + 1) * 16 + 8);
|
||||
- pir_link_bitmap('D', p + (i + 1) * 16 + 11);
|
||||
+ pir_link_bitmap('A', p + 2);
|
||||
+ pir_link_bitmap('B', p + 5);
|
||||
+ pir_link_bitmap('C', p + 8);
|
||||
+ pir_link_bitmap('D', p + 11);
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.9.5
|
||||
|
|
@ -0,0 +1,141 @@
|
|||
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
|
||||
|
|
@ -0,0 +1,134 @@
|
|||
From 6517fa7c8c8a74a9eae9e6192de316ef8952f2a8 Mon Sep 17 00:00:00 2001
|
||||
From: Jean Delvare <jdelvare@suse.de>
|
||||
Date: Thu, 14 Sep 2017 10:08:10 +0200
|
||||
Subject: [PATCH 08/10] dmioem: Sort vendor names alphabetically
|
||||
|
||||
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
||||
---
|
||||
dmioem.c | 92 ++++++++++++++++++++++++++++++++--------------------------------
|
||||
1 file changed, 46 insertions(+), 46 deletions(-)
|
||||
|
||||
diff --git a/dmioem.c b/dmioem.c
|
||||
index a032344..8a72ac9 100644
|
||||
--- a/dmioem.c
|
||||
+++ b/dmioem.c
|
||||
@@ -33,8 +33,8 @@
|
||||
enum DMI_VENDORS
|
||||
{
|
||||
VENDOR_UNKNOWN,
|
||||
- VENDOR_HP,
|
||||
VENDOR_ACER,
|
||||
+ VENDOR_HP,
|
||||
VENDOR_HPE,
|
||||
};
|
||||
|
||||
@@ -57,12 +57,54 @@ void dmi_set_vendor(const char *s)
|
||||
while (len && s[len - 1] == ' ')
|
||||
len--;
|
||||
|
||||
- if (strncmp(s, "HP", len) == 0 || strncmp(s, "Hewlett-Packard", len) == 0)
|
||||
+ if (strncmp(s, "Acer", len) == 0)
|
||||
+ dmi_vendor = VENDOR_ACER;
|
||||
+ else 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;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Acer-specific data structures are decoded here.
|
||||
+ */
|
||||
+
|
||||
+static int dmi_decode_acer(const struct dmi_header *h)
|
||||
+{
|
||||
+ u8 *data = h->data;
|
||||
+ u16 cap;
|
||||
+
|
||||
+ switch (h->type)
|
||||
+ {
|
||||
+ case 170:
|
||||
+ /*
|
||||
+ * Vendor Specific: Acer Hotkey Function
|
||||
+ *
|
||||
+ * Source: acer-wmi kernel driver
|
||||
+ *
|
||||
+ * Probably applies to some laptop models of other
|
||||
+ * brands, including Fujitsu-Siemens, Medion, Lenovo,
|
||||
+ * and eMachines.
|
||||
+ */
|
||||
+ printf("Acer Hotkey Function\n");
|
||||
+ if (h->length < 0x0F) break;
|
||||
+ cap = WORD(data + 0x04);
|
||||
+ printf("\tFunction bitmap for Communication Button: 0x%04hx\n", cap);
|
||||
+ printf("\t\tWiFi: %s\n", cap & 0x0001 ? "Yes" : "No");
|
||||
+ printf("\t\t3G: %s\n", cap & 0x0040 ? "Yes" : "No");
|
||||
+ printf("\t\tWiMAX: %s\n", cap & 0x0080 ? "Yes" : "No");
|
||||
+ printf("\t\tBluetooth: %s\n", cap & 0x0800 ? "Yes" : "No");
|
||||
+ printf("\tFunction bitmap for Application Button: 0x%04hx\n", WORD(data + 0x06));
|
||||
+ printf("\tFunction bitmap for Media Button: 0x%04hx\n", WORD(data + 0x08));
|
||||
+ printf("\tFunction bitmap for Display Button: 0x%04hx\n", WORD(data + 0x0A));
|
||||
+ printf("\tFunction bitmap for Others Button: 0x%04hx\n", WORD(data + 0x0C));
|
||||
+ printf("\tCommunication Function Key Number: %d\n", data[0x0E]);
|
||||
+ break;
|
||||
+
|
||||
+ default:
|
||||
+ return 0;
|
||||
+ }
|
||||
+ return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -236,48 +278,6 @@ static int dmi_decode_hp(const struct dmi_header *h)
|
||||
}
|
||||
|
||||
/*
|
||||
- * Acer-specific data structures are decoded here.
|
||||
- */
|
||||
-
|
||||
-static int dmi_decode_acer(const struct dmi_header *h)
|
||||
-{
|
||||
- u8 *data = h->data;
|
||||
- u16 cap;
|
||||
-
|
||||
- switch (h->type)
|
||||
- {
|
||||
- case 170:
|
||||
- /*
|
||||
- * Vendor Specific: Acer Hotkey Function
|
||||
- *
|
||||
- * Source: acer-wmi kernel driver
|
||||
- *
|
||||
- * Probably applies to some laptop models of other
|
||||
- * brands, including Fujitsu-Siemens, Medion, Lenovo,
|
||||
- * and eMachines.
|
||||
- */
|
||||
- printf("Acer Hotkey Function\n");
|
||||
- if (h->length < 0x0F) break;
|
||||
- cap = WORD(data + 0x04);
|
||||
- printf("\tFunction bitmap for Communication Button: 0x%04hx\n", cap);
|
||||
- printf("\t\tWiFi: %s\n", cap & 0x0001 ? "Yes" : "No");
|
||||
- printf("\t\t3G: %s\n", cap & 0x0040 ? "Yes" : "No");
|
||||
- printf("\t\tWiMAX: %s\n", cap & 0x0080 ? "Yes" : "No");
|
||||
- printf("\t\tBluetooth: %s\n", cap & 0x0800 ? "Yes" : "No");
|
||||
- printf("\tFunction bitmap for Application Button: 0x%04hx\n", WORD(data + 0x06));
|
||||
- printf("\tFunction bitmap for Media Button: 0x%04hx\n", WORD(data + 0x08));
|
||||
- printf("\tFunction bitmap for Display Button: 0x%04hx\n", WORD(data + 0x0A));
|
||||
- printf("\tFunction bitmap for Others Button: 0x%04hx\n", WORD(data + 0x0C));
|
||||
- printf("\tCommunication Function Key Number: %d\n", data[0x0E]);
|
||||
- break;
|
||||
-
|
||||
- default:
|
||||
- return 0;
|
||||
- }
|
||||
- return 1;
|
||||
-}
|
||||
-
|
||||
-/*
|
||||
* Dispatch vendor-specific entries decoding
|
||||
* Return 1 if decoding was successful, 0 otherwise
|
||||
*/
|
||||
--
|
||||
2.9.5
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
From e629bccb2ced5f9e52e142bd841d310434975c63 Mon Sep 17 00:00:00 2001
|
||||
From: Alexey Dokuchaev <danfe@nsu.ru>
|
||||
Date: Thu, 30 Nov 2017 16:27:48 +0100
|
||||
Subject: [PATCH 09/10] UEFI support on FreeBSD
|
||||
|
||||
Currently, dmidecode(8) does not work on FreeBSD booted in UEFI mode.
|
||||
Previously it was understandable, since there are no things like Linuxish
|
||||
/proc/efi/systab or /sys/firmware/efi/systab to read from under FreeBSD.
|
||||
|
||||
However, 7 months ago, ambrisko@ had added support for exposing the SMBIOS
|
||||
anchor base address via kernel environment:
|
||||
|
||||
https://svnweb.freebsd.org/base?view=revision&revision=307326
|
||||
|
||||
I've patched dmidecode.c to try to get the address from hint.smbios.0.mem
|
||||
and fall back to traditional address space scanning. I've tested it both
|
||||
on EFI (amd64 laptop) and non-EFI (i386 desktop) machines.
|
||||
|
||||
---
|
||||
dmidecode.c | 33 +++++++++++++++++++++++++++++++++
|
||||
1 file changed, 33 insertions(+)
|
||||
|
||||
diff --git a/dmidecode.c b/dmidecode.c
|
||||
index 6559567..aadef75 100644
|
||||
--- a/dmidecode.c
|
||||
+++ b/dmidecode.c
|
||||
@@ -64,6 +64,11 @@
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
+#ifdef __FreeBSD__
|
||||
+#include <errno.h>
|
||||
+#include <kenv.h>
|
||||
+#endif
|
||||
+
|
||||
#include "version.h"
|
||||
#include "config.h"
|
||||
#include "types.h"
|
||||
@@ -4934,13 +4939,18 @@ static int legacy_decode(u8 *buf, const char *devmem, u32 flags)
|
||||
#define EFI_NO_SMBIOS (-2)
|
||||
static int address_from_efi(off_t *address)
|
||||
{
|
||||
+#if defined(__linux__)
|
||||
FILE *efi_systab;
|
||||
const char *filename;
|
||||
char linebuf[64];
|
||||
+#elif defined(__FreeBSD__)
|
||||
+ char addrstr[KENV_MVALLEN + 1];
|
||||
+#endif
|
||||
int ret;
|
||||
|
||||
*address = 0; /* Prevent compiler warning */
|
||||
|
||||
+#if defined(__linux__)
|
||||
/*
|
||||
* Linux up to 2.6.6: /proc/efi/systab
|
||||
* Linux 2.6.7 and up: /sys/firmware/efi/systab
|
||||
@@ -4972,6 +4982,29 @@ static int address_from_efi(off_t *address)
|
||||
|
||||
if (ret == EFI_NO_SMBIOS)
|
||||
fprintf(stderr, "%s: SMBIOS entry point missing\n", filename);
|
||||
+#elif defined(__FreeBSD__)
|
||||
+ /*
|
||||
+ * On FreeBSD, SMBIOS anchor base address in UEFI mode is exposed
|
||||
+ * via kernel environment:
|
||||
+ * https://svnweb.freebsd.org/base?view=revision&revision=307326
|
||||
+ */
|
||||
+ ret = kenv(KENV_GET, "hint.smbios.0.mem", addrstr, sizeof(addrstr));
|
||||
+ if (ret == -1)
|
||||
+ {
|
||||
+ if (errno != ENOENT)
|
||||
+ perror("kenv");
|
||||
+ return EFI_NOT_FOUND;
|
||||
+ }
|
||||
+
|
||||
+ *address = strtoull(addrstr, NULL, 0);
|
||||
+ if (!(opt.flags & FLAG_QUIET))
|
||||
+ printf("# SMBIOS entry point at 0x%08llx\n",
|
||||
+ (unsigned long long)*address);
|
||||
+
|
||||
+ ret = 0;
|
||||
+#else
|
||||
+ ret = EFI_NOT_FOUND;
|
||||
+#endif
|
||||
return ret;
|
||||
}
|
||||
|
||||
--
|
||||
2.9.5
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
From 97d23fb9a642574ef4415e71e4a01387d06744d6 Mon Sep 17 00:00:00 2001
|
||||
From: Jean Delvare <jdelvare@suse.de>
|
||||
Date: Thu, 30 Nov 2017 16:27:56 +0100
|
||||
Subject: [PATCH 10/10] dmidecode: Share common EFI code
|
||||
|
||||
Avoid duplicating code between OS-specific paths.
|
||||
|
||||
---
|
||||
dmidecode.c | 15 ++++++++-------
|
||||
1 file changed, 8 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/dmidecode.c b/dmidecode.c
|
||||
index aadef75..87faaa9 100644
|
||||
--- a/dmidecode.c
|
||||
+++ b/dmidecode.c
|
||||
@@ -4946,6 +4946,7 @@ static int address_from_efi(off_t *address)
|
||||
#elif defined(__FreeBSD__)
|
||||
char addrstr[KENV_MVALLEN + 1];
|
||||
#endif
|
||||
+ const char *eptype;
|
||||
int ret;
|
||||
|
||||
*address = 0; /* Prevent compiler warning */
|
||||
@@ -4970,9 +4971,7 @@ static int address_from_efi(off_t *address)
|
||||
|| strcmp(linebuf, "SMBIOS") == 0)
|
||||
{
|
||||
*address = strtoull(addrp, NULL, 0);
|
||||
- if (!(opt.flags & FLAG_QUIET))
|
||||
- printf("# %s entry point at 0x%08llx\n",
|
||||
- linebuf, (unsigned long long)*address);
|
||||
+ eptype = linebuf;
|
||||
ret = 0;
|
||||
break;
|
||||
}
|
||||
@@ -4997,14 +4996,16 @@ static int address_from_efi(off_t *address)
|
||||
}
|
||||
|
||||
*address = strtoull(addrstr, NULL, 0);
|
||||
- if (!(opt.flags & FLAG_QUIET))
|
||||
- printf("# SMBIOS entry point at 0x%08llx\n",
|
||||
- (unsigned long long)*address);
|
||||
-
|
||||
+ eptype = "SMBIOS";
|
||||
ret = 0;
|
||||
#else
|
||||
ret = EFI_NOT_FOUND;
|
||||
#endif
|
||||
+
|
||||
+ if (ret == 0 && !(opt.flags & FLAG_QUIET))
|
||||
+ printf("# %s entry point at 0x%08llx\n",
|
||||
+ eptype, (unsigned long long)*address);
|
||||
+
|
||||
return ret;
|
||||
}
|
||||
|
||||
--
|
||||
2.9.5
|
||||
|
|
@ -0,0 +1,253 @@
|
|||
Summary: Tool to analyse BIOS DMI data
|
||||
Name: dmidecode
|
||||
Version: 3.1
|
||||
Release: 2%{?dist}
|
||||
Epoch: 1
|
||||
Group: System Environment/Base
|
||||
License: GPLv2+
|
||||
Source0: %{name}-%{version}.tar.xz
|
||||
URL: http://www.nongnu.org/dmidecode/
|
||||
Patch0: 0001-dmidecode-Add-system-family-direct-string-option.patch
|
||||
Patch1: 0002-Goodbye-CHANGELOG-welcome-NEWS.patch
|
||||
Patch2: 0003-Fix-install-doc-target.patch
|
||||
Patch3: 0004-biosdecode-Add-option-pir-full.patch
|
||||
Patch4: 0005-biosdecode-Clean-up-the-PIR-table-output.patch
|
||||
Patch5: 0006-biosdecode-Avoid-repeating-pointer-arithmetic.patch
|
||||
Patch6: 0007-dmioem-Reflect-HPE-s-new-company-name.patch
|
||||
Patch7: 0008-dmioem-Sort-vendor-names-alphabetically.patch
|
||||
Patch8: 0009-UEFI-support-on-FreeBSD.patch
|
||||
Patch9: 0010-dmidecode-Share-common-EFI-code.patch
|
||||
Patch10: 0001-dmidecode-Fix-firmware-version-of-TPM-device.patch
|
||||
Patch11: 0002-dmioem-decode-HPE-UEFI-type-219-Misc-Features.patch
|
||||
Patch12: 0003-dmidecode-Use-lowercase-letters-for-UUID.patch
|
||||
|
||||
Buildroot: %{_tmppath}/%{name}-%{version}-root
|
||||
BuildRequires: automake autoconf
|
||||
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
|
||||
|
||||
%description
|
||||
dmidecode reports information about x86 & ia64 hardware as described in the
|
||||
system BIOS according to the SMBIOS/DMI standard. This information
|
||||
typically includes system manufacturer, model name, serial number,
|
||||
BIOS version, asset tag as well as a lot of other details of varying
|
||||
level of interest and reliability depending on the manufacturer.
|
||||
|
||||
This will often include usage status for the CPU sockets, expansion
|
||||
slots (e.g. AGP, PCI, ISA) and memory module slots, and the list of
|
||||
I/O ports (e.g. serial, parallel, USB).
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1 -b .add_system_family
|
||||
%patch1 -p1 -b .changelog_to_new
|
||||
%patch2 -p1 -b .fix_install_doc
|
||||
%patch3 -p1 -b .add_option_pir
|
||||
%patch4 -p1 -b .clean_up_pir
|
||||
%patch5 -p1 -b .avoid_repeating
|
||||
%patch6 -p1 -b .reflect_hpe
|
||||
%patch7 -p1 -b .sort_vendor_names
|
||||
%patch8 -p1 -b .uefi_support_bsd
|
||||
%patch9 -p1 -b .share_common_efi
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
|
||||
%build
|
||||
make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS -fPIE" LDFLAGS="-pie -Wl,-z,now"
|
||||
|
||||
%install
|
||||
rm -rf ${buildroot}
|
||||
make %{?_smp_mflags} DESTDIR=%{buildroot} prefix=%{_prefix} install-bin install-man
|
||||
|
||||
%clean
|
||||
rm -rf ${buildroot}
|
||||
|
||||
%files
|
||||
%doc AUTHORS NEWS README
|
||||
%{!?_licensedir:%global license %%doc}
|
||||
%license LICENSE
|
||||
%{_sbindir}/dmidecode
|
||||
%ifnarch ia64 aarch64
|
||||
%{_sbindir}/vpddecode
|
||||
%{_sbindir}/ownership
|
||||
%{_sbindir}/biosdecode
|
||||
%endif
|
||||
%{_mandir}/man8/*
|
||||
|
||||
%changelog
|
||||
* Thu Apr 26 2018 Lianbo Jiang <lijiang@redhat.com> - 1:3.1-1
|
||||
- Sync with upstream
|
||||
- Resolves: rhbz#1568227
|
||||
|
||||
* Wed May 3 2017 Petr Oros <poros@redhat.com> - 1:3.0-5
|
||||
- Update compiler flags for hardened builds
|
||||
- Resolves: #1420763
|
||||
|
||||
* Tue Feb 28 2017 Petr Oros <poros@redhat.com> - 1:3.0-4
|
||||
- Sync with upstream
|
||||
- Resolves: #1385884
|
||||
|
||||
* Tue Nov 8 2016 Petr Oros <poros@redhat.com> - 1:3.0-3
|
||||
- Hide irrelevant fixup message
|
||||
- Resolves: #1384195
|
||||
|
||||
* Wed Jun 29 2016 Petr Oros <poros@redhat.com> - 1:3.0-2
|
||||
- Unmask LRDIMM in memmory type detail
|
||||
- Resolves: #1321342
|
||||
|
||||
* Wed May 4 2016 Petr Oros <poros@redhat.com> - 1:3.0-1
|
||||
- Update to upstream 3.0 release.
|
||||
- Resolves: #1273487
|
||||
|
||||
* Mon Sep 21 2015 Petr Oros <poros@redhat.com> - 1:2.12-9
|
||||
- dmioem: Decode Acer-specific DMI type 170
|
||||
- dmioem: Decode HP-specific DMI types 212 and 219
|
||||
- dmioem: Decode HP-specific DMI type 233, and refactored 209 and 221 to use a common function
|
||||
- Resolves: #1232501
|
||||
|
||||
* Thu Jul 23 2015 Petr Oros <poros@redhat.com> - 1:2.12-8
|
||||
- Support upstream sysfs filename for smbios entry point (Mark Salter)
|
||||
- Resolves: #1232153
|
||||
|
||||
* Thu Jul 16 2015 Petr Oros <poros@redhat.com> - 1:2.12-7
|
||||
- only use SMBIOS3 on aarch64 systems (Jeffrey Bastian)
|
||||
- Resolves: #1242409
|
||||
|
||||
* Wed May 13 2015 Petr Oros <poros@redhat.com> - 1:2.12-6
|
||||
- Add preliminary support for SMBIOS 64-bit entry point (Mark Salter)
|
||||
- Add support for DDR4 memmory
|
||||
|
||||
* Fri Feb 21 2014 Anton Arapov <anton@redhat.com> - 2.12-5
|
||||
- Spec file fixes for the Aarch64. (John Feeney )
|
||||
|
||||
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 1:2.12-4
|
||||
- Mass rebuild 2013-12-27
|
||||
|
||||
* Thu May 09 2013 Anton Arapov <anton@redhat.com> - 1:2.12-3
|
||||
- Accomodate few more necesary, to enable SMBIOS v2.8, changes from upstream.
|
||||
|
||||
* Fri Apr 26 2013 Anton Arapov <anton@redhat.com> - 1:2.12-2
|
||||
- Fixup, so that it actually read SMBIOS 2.8.0 table.
|
||||
|
||||
* Wed Apr 17 2013 Anton Arapov <anton@redhat.com> - 1:2.12-1
|
||||
- Update to upstream 2.12 release.
|
||||
|
||||
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:2.11-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:2.11-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Mon Mar 26 2012 Anton Arapov <anton@redhat.com> - 1:2.11-8
|
||||
- Update dmidecode.8 manpage
|
||||
|
||||
* Mon Mar 12 2012 Anton Arapov <anton@redhat.com> - 1:2.11-7
|
||||
- Add "PXE" to HP OEM Type 209 record output
|
||||
- Properly print the hexadecimal value of invalid string characters
|
||||
|
||||
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:2.11-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Mon Nov 14 2011 Anton Arapov <anton@redhat.com> - 1:2.11-5
|
||||
- Fix the wrong call of the dmi_chassis_type function call. Thus fix
|
||||
an issue on the systems with the chassis lock available, application
|
||||
doesn't fall out with the out of spec error anymore.
|
||||
|
||||
* Tue May 03 2011 Anton Arapov <anton@redhat.com> - 1:2.11-4
|
||||
- Update to SMBIOS 2.7.1
|
||||
- Fix the boundaries check in type16
|
||||
|
||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:2.11-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Wed Jan 19 2011 Anton Arapov <anton@redhat.com> - 1:2.11-2
|
||||
- Update to upstream 2.11 release. (#623047)
|
||||
|
||||
* Wed Jan 19 2011 Anton Arapov <anton@redhat.com> - 1:2.11-1
|
||||
- Fix the changelog's NVR.
|
||||
|
||||
* Mon Nov 08 2010 Prarit Bhargava <prarit@redhat.com> - 1:2.10-3
|
||||
- updated kernel.spec for review [BZ 225698]
|
||||
|
||||
* Fri Oct 15 2010 Anton Arapov <aarapov@redhat.com> - 1:2.10-2
|
||||
- Does not build with gnu make v3.82+ (#631407)
|
||||
|
||||
* Fri Dec 18 2009 Prarit Bhargava <prarit@redhat.com> - 1:2.10-1.40
|
||||
- Fix rpmlint errors in specfile
|
||||
|
||||
* Fri Aug 28 2009 Jarod Wilson <jarod@redhat.com> - 1:2.10-1.39
|
||||
- Fix cache associativity mapping (was missing some commas)
|
||||
|
||||
* Mon Aug 24 2009 Jarod Wilson <jarod@redhat.com> - 1:2.10-1.38
|
||||
- Add support for newer sockets, processors and pcie slot types
|
||||
|
||||
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:2.10-1.36.2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Fri Feb 27 2009 Matthias Clasen <mclasen@redhat.com>
|
||||
- Build for i586
|
||||
|
||||
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:2.10-1.34.1
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
* Mon Feb 09 2009 Prarit Bhargava <prarit@redhat.com> 1:2.10
|
||||
- rebuild with version 2.10
|
||||
|
||||
* Wed Jan 28 2009 Prarit Bhargava <prarit@redhat.com> 1:2.9-1.32
|
||||
- fix Summary field (BZ 225698)
|
||||
|
||||
* Wed Jul 16 2008 Tom "spot" Callaway <tcallawa@redhat.com> 1:2.9-1.30
|
||||
- fix license tag
|
||||
|
||||
* Fri Mar 14 2008 Doug Chapman <doug.chapman@hp.com> 1:2.9-1.29.1
|
||||
- Do not package vpddecode, ownership and biosdecode on ia64 since those are x86 only
|
||||
|
||||
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1:2.9-1.27.1
|
||||
- Autorebuild for GCC 4.3
|
||||
|
||||
* Mon Oct 22 2007 Prarit Bhargava <prarit@redhat.com> - 1:2.9
|
||||
- rebuild with version 2.9
|
||||
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 1:2.7-1.25.1
|
||||
- rebuild
|
||||
|
||||
* Thu Feb 09 2006 Dave Jones <davej@redhat.com>
|
||||
- rebuild.
|
||||
|
||||
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
|
||||
- rebuilt
|
||||
|
||||
* Mon Nov 28 2005 Dave Jones <davej@redhat.com>
|
||||
- Integrate several specfile cleanups from Robert Scheck. (#172543)
|
||||
|
||||
* Sat Sep 24 2005 Dave Jones <davej@redhat.com>
|
||||
- Revert yesterdays patch, its unneeded in 2.7
|
||||
|
||||
* Fri Sep 23 2005 Dave Jones <davej@redhat.com>
|
||||
- Don't try to modify areas mmap'd read-only.
|
||||
- Don't build on ia64 any more.
|
||||
(It breaks on some boxes very badly, and works on very few).
|
||||
|
||||
* Mon Sep 12 2005 Dave Jones <davej@redhat.com>
|
||||
- Update to upstream 2.7
|
||||
|
||||
* Fri Apr 15 2005 Florian La Roche <laroche@redhat.com>
|
||||
- remove empty scripts
|
||||
|
||||
* Wed Mar 2 2005 Dave Jones <davej@redhat.com>
|
||||
- Update to upstream 2.6
|
||||
|
||||
* Tue Mar 1 2005 Dave Jones <davej@redhat.com>
|
||||
- Rebuild for gcc4
|
||||
|
||||
* Tue Feb 8 2005 Dave Jones <davej@redhat.com>
|
||||
- Rebuild with -D_FORTIFY_SOURCE=2
|
||||
|
||||
* Tue Jan 11 2005 Dave Jones <davej@redhat.com>
|
||||
- Add missing Obsoletes: kernel-utils
|
||||
|
||||
* Mon Jan 10 2005 Dave Jones <davej@redhat.com>
|
||||
- Update to upstream 2.5 release.
|
||||
|
||||
* Sat Dec 18 2004 Dave Jones <davej@redhat.com>
|
||||
- Initial packaging, based upon kernel-utils package.
|
||||
|
Loading…
Reference in New Issue