diff --git a/.dmidecode.metadata b/.dmidecode.metadata index 7b3baa2..fd64d63 100644 --- a/.dmidecode.metadata +++ b/.dmidecode.metadata @@ -1 +1 @@ -d76b6897fda070965f61eff37c3f6bcf63b2b04d SOURCES/dmidecode-3.1.tar.xz +acf4b5c6e757066453fd06aa9060fceb257849bf SOURCES/dmidecode-3.2.tar.xz diff --git a/.gitignore b/.gitignore index 205324a..3e13d57 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/dmidecode-3.1.tar.xz +SOURCES/dmidecode-3.2.tar.xz diff --git a/SOURCES/0001-dmidecode-Add-system-family-direct-string-option.patch b/SOURCES/0001-dmidecode-Add-system-family-direct-string-option.patch deleted file mode 100644 index a68b1bf..0000000 --- a/SOURCES/0001-dmidecode-Add-system-family-direct-string-option.patch +++ /dev/null @@ -1,42 +0,0 @@ -From aad65d8a53a00d5426990fc8b5af9d749fc879b9 Mon Sep 17 00:00:00 2001 -From: Mika Westerberg -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 -Signed-off-by: Jean Delvare ---- - 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 - diff --git a/SOURCES/0001-dmidecode-Fix-Redfish-Hostname-print-length.patch b/SOURCES/0001-dmidecode-Fix-Redfish-Hostname-print-length.patch new file mode 100644 index 0000000..82d879a --- /dev/null +++ b/SOURCES/0001-dmidecode-Fix-Redfish-Hostname-print-length.patch @@ -0,0 +1,32 @@ +From fde47bb227b8fa817c88d7e10a8eb771c46de1df Mon Sep 17 00:00:00 2001 +From: Charles Rose +Date: Mon, 22 Oct 2018 09:48:02 +0200 +Subject: [PATCH] dmidecode: Fix Redfish Hostname print length + +Redfish Hostname prints beyond hlen characters. Fix it. + +Signed-off-by: Charles Rose +Fixes: 78539b06117c ("dmidecode: Parse Modern Management Controller blocks") +Acked-by: Neil Horman +Signed-off-by: Jean Delvare +Signed-off-by: Lianbo Jiang +--- + dmidecode.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dmidecode.c b/dmidecode.c +index a3e9d6c..7ac6438 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -3609,7 +3609,7 @@ static void dmi_parse_protocol_record(const char *prefix, u8 *rec) + hname = out_of_spec; + hlen = strlen(out_of_spec); + } +- printf("%s\t\tRedfish Service Hostname: %*s\n", prefix, hlen, hname); ++ printf("%s\t\tRedfish Service Hostname: %.*s\n", prefix, hlen, hname); + } + + /* +-- +2.17.1 + diff --git a/SOURCES/0001-dmidecode-Fix-firmware-version-of-TPM-device.patch b/SOURCES/0001-dmidecode-Fix-firmware-version-of-TPM-device.patch deleted file mode 100644 index 9709056..0000000 --- a/SOURCES/0001-dmidecode-Fix-firmware-version-of-TPM-device.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 174387405e98cd94c627832ae23abcb9be7e5623 Mon Sep 17 00:00:00 2001 -From: Jean Delvare -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 -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 - diff --git a/SOURCES/0002-Goodbye-CHANGELOG-welcome-NEWS.patch b/SOURCES/0002-Goodbye-CHANGELOG-welcome-NEWS.patch deleted file mode 100644 index 5cc94a8..0000000 --- a/SOURCES/0002-Goodbye-CHANGELOG-welcome-NEWS.patch +++ /dev/null @@ -1,1774 +0,0 @@ -From 82a34ddbc524ad17e13cd873c223f20d14a5c705 Mon Sep 17 00:00:00 2001 -From: Jean Delvare -Date: Sat, 8 Jul 2017 11:41:15 +0200 -Subject: [PATCH 02/10] Goodbye CHANGELOG, welcome NEWS - -The CHANGELOG file as it exists today is essentially redundant with -git log. It's not really user friendly, and duplicates the work on -the committer side. - -Delete that file, and replace it with a more structured NEWS file, -listing only the most relevant changes in each version. The contents -would be pretty much the same as the release announcements. - -This initial version covers most past releases. - ---- - CHANGELOG | 1614 ------------------------------------------------------------- - NEWS | 123 +++++ - 2 files changed, 123 insertions(+), 1614 deletions(-) - delete mode 100644 CHANGELOG - create mode 100644 NEWS - -diff --git a/CHANGELOG b/CHANGELOG -deleted file mode 100644 -index 6f9123d..0000000 ---- a/CHANGELOG -+++ /dev/null -@@ -1,1614 +0,0 @@ --2015-09-03 Jean Delvare -- -- * version.h: Set version to 3.1. -- --2017-05-23 Jean Delvare -- -- * dmidecode.c, dmiopt.c: Add a new option to extract OEM strings, like -- we already have for many other strings. -- * dmidecode.8: Document the new option. -- --2017-04-27 Jean Delvare -- -- Update to support SMBIOS specification version 3.1.1. -- -- * dmidecode.c: Add support for 3-digit versions. -- * dmidecode.c: Add new enumerated values for processors (DMI type 4). -- --2017-04-27 Jean Delvare -- -- Update to support SMBIOS specification version 3.1.0. -- -- * dmidecode.c: Add support for extended BIOS ROM size (DMI type 0). -- * dmidecode.c: Add new enumerated values for chassis types -- (DMI type 3). -- * dmidecode.c: Add new enumerated values for processors (DMI type 4). -- * dmidecode.c: Don't assume 8-bit processor family in dmi_processor_id -- (DMI type 4). -- * dmidecode.c: Decode the MIDR register on ARM processors -- (DMI type 4). -- * dmidecode.c: Add support for large cache sizes (DMI type 7). -- * dmidecode.c: Add Mini PCIe system slot enumerated values -- (DMI type 9). -- * dmidecode.c: Clarify the memory speed unit (DMI type 17). -- * dmidecode.c: Add support for structure type 43 (TPM Device). -- --2017-04-11 Jean Delvare -- -- * util.c: Don't leak a file descriptor in function read_file. -- * util.c, util.c, dmidecode.c: Let callers pass an offset to function -- read_file. -- * dmidecode.c: Fix reading from SMBIOS 3 dump files using a 64-bit -- entry point. -- --2017-04-10 Jean Delvare -- -- * dmidecode.c: Decode the processor ID of the Intel Core M, AMD -- Athlon X4 and AMD Opteron X1000/X2000 processors (DMI type 4). -- * dmidecode.c: Display the IPMI interrupt number as a decimal -- number (DMI type 38). -- --2017-01-20 Jean Delvare -- -- * biosdecode.c: Decode the entry point defined in the Intel -- Multiprocessor specification. -- --2017-01-20 Jean Delvare -- -- * dmidecode.c: Only decode one DMI table. -- This fixes Savannah bug #50022: -- https://savannah.nongnu.org/bugs/?50022 -- --2016-09-22 Jean Delvare -- -- * README: Explain that we can no longer support Cygwin. -- --2016-06-30 Petr Oros -- -- * dmidecode.c: Unmask LRDIMM in memory type detail (DMI type 17). -- --2015-11-02 Jean Delvare -- -- * dmidecode.c, util.c, util.h: Let read_file return the actual data -- size. -- * dmidecode.c: Use read_file to read the DMI table from sysfs. -- This fixes Savannah bug #46176: -- https://savannah.nongnu.org/bugs/?46176 -- * dmidecode.c: Check the sysfs entry point length. -- --2015-10-21 Xie XiuQi -- -- * dmidecode.c: Handle SMBIOS 3.0 entry points on EFI systems. -- --2015-10-20 Jean Delvare -- -- * dmidecode.c: Handle OEM-specific types in group associations -- (DMI type 14). -- --2015-10-14 Jean Delvare -- -- * util.c: Avoid SIGBUS on mmap failure. -- This fixes Savannah bug #46066: -- https://savannah.nongnu.org/bugs/?46066 -- * util.c: Fix error paths in mem_chunk. -- --2015-10-01 Roy Franz -- -- * dmiopt.c: Add "--no-sysfs" option description to -h output. -- --2015-09-03 Jean Delvare -- -- * version.h: Set version to 3.0. -- --2015-08-04 Tyler Bell -- -- * dmioem.c: Decode HP-specific DMI type 233 -- * dmioem.c: Refactored HP-specific types 209 and 221 to use common code -- * dmioem.c: Documented spec for HP-specific types 209, 221 and 233 -- --2015-05-21 Jean Delvare -- -- * dmidecode.c: Fix up invalid DMI type 34 structure length. -- * dmioem.c: Decode HP-specific DMI types 212 and 219. -- * dmioem.c: Move function is_printable to dmidecode.c. -- --2015-05-13 Jean Delvare -- -- * dmidecode.c: Add support for SMBIOS3 EFI table. -- * dmidecode.c: Fix warnings about comparison between signed and -- unsigned integers. -- * util.c: Fix warnings about unused labels when building without -- -DUSE_MMAP. -- * dmioem.c: Strip spaces at the end of vendor names. -- * dmioem.c: Decode Acer-specific DMI type 170. -- --2015-05-12 Jean Delvare -- -- * dmidecode.c: Remove extra blank line after hidden DMI type 40 -- structure. -- --2015-05-04 Jean Delvare -- -- * dmidecode.c: Move table decoding to a separate function. -- * dmidecode.c: Simplify function dmi_table_dump. -- * dmidecode.c: Display types 41 and 42 in quiet mode too. -- * dmidecode.c: Get OEM vendor from System Information (DMI type 1). -- --2015-04-28 Jean Delvare -- -- * dmidecode.h, dmiopt.h: Fix sparse errors. -- * biosdecode.c, dmiopt.c, ownership.c, vpdopt.c: Fix sparse warnings. -- * util.c: Fix sparse warning. -- --2015-04-27 Jean Delvare -- -- * dmidecode.c: Fix --dump-bin when reading from sysfs. -- --2015-04-27 Jean Delvare -- -- Update to support SMBIOS specification version 3.0.0. -- -- * dmidecode.c: Add support for the new _SM3_ 64-bit entry point -- defined in the SMBIOS specification version 3.0.0, including -- support of 64-bit addresses and 32-bit table lengths. -- * dmidecode.c: Add 3 new chassis types (DMI type 3). -- * dmidecode.c: Add 4 new processor families (DMI type 4). -- * dmidecode.c: Add 4 new Intel socket types (DMI type 4). -- * dmidecode.c: Add 13 new slot types (DMI type 9). -- * dmidecode.c: Add 4 new memory device types (DMI type 17). -- * dmidecode.c: Add support for processors with more than 255 cores -- or threads (DMI type 4). -- * dmidecode.c: Stop decoding v3 tables at End-of-Table marker. -- --2015-04-21 Roy Franz -- -- * util.c, util.h: Add utility function read_file, which reads an -- entire binary file into a buffer. -- * dmidecode.c: Add passing of flags parameter to dmi_table. -- * dmidecode.c: Add reading of SMBIOS tables from sysfs. -- * dmidecode.c, dmiopt.c, dmiopt.h: Add --no-sysfs option to disable -- use of sysfs. -- * dmidecode.8: Document the changes above. -- --2015-04-20 Jean Delvare -- -- * biosdecode.c: Add support for the _SM3_ entry point, as defined in -- the SMBIOS 3.0.0 specification. -- --2014-11-14 Jean Delvare -- -- * man/dmidecode.8: Add a note about DMI strings available from sysfs -- on Linux. -- --2014-10-13 Jean Delvare -- -- * dmidecode.c: Add support for DDR4 (DMI type 17). Patch from Tomohiro -- Kimura. The value was taken from preliminary SMBIOS specification -- version 3.0.0d. -- This fixes Savannah bug #43370: -- https://savannah.nongnu.org/bugs/?43370 -- --2014-07-11 Jean Delvare -- -- * dmidecode.c: Decode the CPUID of recent AMD processors (DMI type 4). -- --2014-03-20 Jean Delvare -- -- * dmidecode.c: Let legacy_decode be quiet in dump mode too. -- * dmidecode.c: Skip the SMBIOS version comparison in quiet mode. -- Patch from Jens Rosenboom. -- --2014-02-25 Jean Delvare -- -- * dmidecode.c: Fix spacing of memory module voltage attributes -- (DMI type 17). -- --2014-01-13 Jean Delvare -- -- * dmidecode.c: Decode ID of PCI Express 3 slots (DMI type 9). -- This fixes Savannah bug #40178: -- https://savannah.nongnu.org/bugs/?40178 -- --2014-01-13 Jean Delvare -- -- * LICENSE: Update to the latest upstream version. Amongst other -- things, this fixes the FSF address. -- --2013-04-24 Jean Delvare -- -- * dmidecode.c: Strip trailing zeroes from memory voltage values -- (DMI type 17). -- * dmidecode.c: Fix support for new processor upgrade types (DMI -- type 4) and new memory device type (DMI type 17.) -- --2013-04-17 Anton Arapov -- -- * version.h: Set version to 2.12. -- --2013-04-17 Anton Arapov -- -- Update to support SMBIOS specification version 2.8.0. -- -- * dmidecode.c: Correct processor family name (DMI type 4). -- * dmidecode.c: Correct typo in processor upgrade type (DMI type 4). -- * dmidecode.c: Add 9 new processor families (DMI type 4). -- * dmidecode.c: Add 2 new Intel socket types (DMI type 4). -- * dmidecode.c: Add Min/Max/Configured memory voltages (DMI type 17). -- * dmidecode.c: Add LRDIMM to memory device list (DMI type 17). -- --2012-03-26 Anton Arapov -- -- * man/dmidecode.8: Add missing DMI type introduced with SMBIOS 2.7+, and -- include the information about the extra output when dmidecode is run -- on a hardware that has non-supported SMBIOS version. -- --2012-03-12 Anton Arapov -- -- * dmioem.c: Add "PXE" to the HP OEM Type 209 output so it is similar to -- the "iSCSI" description in HP OEM Type 221. Patch from Naga Chumbalkar. -- --2011-11-18 Jean Delvare -- -- * dmidecode.c: Properly print the hexadecimal value of invalid -- string characters. -- --2011-11-14 Anton Arapov -- -- * dmidecode.c: Make dmi_chassis_type aware of the lock bit. -- Patch from Stefan Tauner. -- * config.h: Haiku dropped the _BEOS_ definition in favor of its own -- platform identification _HAIKU_. Patch from Francois Revol. -- --2011-04-20 Jean Delvare -- -- Update to support SMBIOS specification version 2.7.1. -- -- * dmidecode.c: Add 6 AMD processor families (DMI type 4). -- * dmidecode.c: Add cache associativity value -- "20-way Set-associative" (DMI type 7). -- * dmidecode.c: Add PCI Express 3 slot types (DMI type 9). -- --2011-01-25 Jean Delvare -- -- * dmidecode.c: Fix boundary checks of memory array location codes -- (DMI type 16). Reported by Andrey Matveyev. -- --2011-01-19 Anton Arapov -- -- * version.h: Set version to 2.11. -- --2010-11-24 Jean Delvare -- -- * dmidecode.c: Assume that the max power capacity is expressed in -- Watts, not milliWatts (DMI type 39). The specification isn't -- clear about the actual unit, but the only implementation I've -- seen (HP Proliant G7) clearly uses Watts. Also, using milliWatts -- would limit the max value that can be stored to 32 W, which -- doesn't make much sense. -- * dmidecode.c: Fix offset of partition width (DMI type 19). -- * dmidecode.c: Decode BIOS language information flags -- (DMI type 13). -- * dmidecode.c: Fix CPU flags mask (DMI type 4). -- * dmidecode.c: Reword "PCI Express Gen 2" to just "PCI Express 2" -- (DMI type 9). -- * dmidecode.c: Decode the slot ID for all PCI Express and PCI -- Express 2 slots (DMI type 9). -- --2010-11-24 Jean Delvare -- -- Update to support SMBIOS specification version 2.7.0. -- -- * dmidecode.c: Update all references to the SMBIOS specification -- to match the new numbering. -- * dmidecode.c: Add UEFI support and virtual machine flags to BIOS -- characteristics (DMI type 0). -- * dmideocde.c: Add SKU number field to system enclosure or chassis -- (DMI type 3). -- * dmidecode.c: Add many Intel, AMD and VIA CPU family names -- (DMI type 4). -- * dmidecode.c: Add many socket formats (DMI type 4). -- * dmidecode.c: Add processor characteristics flags (DMI type 4). -- * util.c, util.h: Add utility function u64_range, which computes -- the range between two u64 values. -- * dmidecode.c: Add support for memory arrays of 2 TB and more -- (DMI types 16, 19 and 20). -- * dmidecode.c: Add support for memory devices of 32 GB and more -- (DMI type 17). -- * dmidecode.c: Add description of cooling device (DMI type 27). -- * dmidecode.c: Add limited support for new DMI type 42 (Management -- Controller Host Interface). -- --2010-11-16 Jean Delvare -- -- * dmidecode.c: Handle ambiguous processor family value 0x30 -- (DMI type 4). -- * dmidecode.c: Prevent unlikely array overrun when decoding -- processor family value 0xBE (DMI type 4). -- * dmidecode.c: Handle DMI type 2 record of size 0x0E. -- --2010-11-11 Jean Delvare -- -- * dmidecode.c: Fix decoding of IPMI base address LSB. -- --2010-11-09 Jean Delvare -- -- * dmidecode.c: Drop redundant/obsolete references to -- CIM_Processor.Family. -- --2010-10-26 Jean Delvare -- -- Update to support Intel AP-485 (CPUID) revision 36 (was 32). -- -- * dmidecode.c: Update the link to the AP-485 document, the revision -- and the table number. -- * dmidecode.c: Update two CPU flag descriptions (FXSR and HTT). -- Drop CPU flag IA64. -- * dmidecode.c: Update the list of processors for which we decode the -- CPUID flags. -- --2010-10-11 Jean Delvare -- -- * dmidecode.c: One more SMBIOS version fix-up case. -- * Makefile: Rework BSD make compatibility trick. The previous -- trick would break GNU make 3.82. -- --2010-09-29 Anton Arapov -- -- * util.c: makes dmidecode fall back to regular reads if the mmap -- fails. Patch from Olof Johansson. -- --2010-09-21 Jean Delvare -- -- * dmidecode.c: Fix Xeon 7xxx entries in CPU name lookup table -- (DMI type 4). Patch from Paul Flo Williams. -- --2009-08-28 Jarod Wilson -- -- Update to support SMBIOS specification version 2.6.1. -- -- * dmidecode.c: Add processor types "Dual-Core Xeon 5200", -- "Dual-Core Xeon 7200", "Quad-Core Xeon 7300", "QuadCore Xeon 7400", -- "Multi-Core Xeon 7400", "Core i7", "Dual-Core Celeron", -- "Multi-Core Xeon", "Dual-Core Xeon 3xxx", "Quad-Core Xeon 3xxx", -- "Dual-Core Xeon 5xxx", "Quad-Core Xeon 5xxx", "Dual-Core Xeon 7xxx", -- "Quad-Core Xeon 7xxx" and "Multi-Core Xeon 7xxx" (DMI type 4). -- * dmidecode.c: Add slot types "PCI Express Gen 2 x1", -- "PCI Express Gen 2 x2", "PCI Express Gen 2 x4", -- "PCI Express Gen 2 x8" and "PCI Express Gen 2 x16" (DMI type 9). -- * dmidecode.c: Add memory device types "DDR3" and "FB-DIMM" -- (DMI type 17). -- * dmidecode.c: Add cache associativity types "12-way Set-associative", -- "24-way Set-associative", "32-way Set-associative", -- "48-way Set-associative" and "64-way Set-associative" (DMI type 7). -- --2009-07-27 Jean Delvare -- -- * dmioem.c: Recognize "Hewlett-Packard" as a possible DMI vendor -- string for HP. Orginal patch from Thomas Hiller (HP). -- * dmidecode.c: Add processor upgrade type "Socket LGA1366" -- (DMI type 4). -- --2009-06-19 Jean Delvare -- -- * dmidecode.c: Fix decoding of memory array capacity. A maximum -- capacity of 128 GB would erroneously be reported as Unknown, -- while a unknown capacity would be erroneously reported as 2048 -- GB. Bug reported by Lin Li (HP). -- --2009-04-30 Jean Delvare -- -- * dmidecode.c: Warn if decoding an SMBIOS implementation which is -- newer than what we support. -- --2009-04-04 Jean Delvare -- -- * Makefile: Clarify license. -- --2008-11-23 Jean Delvare -- -- * biosdecode.c: Stop using the inline keyword. It causes more -- portability issues than is worth given how little we care about -- performance in this tool, and recent versions of gcc know when -- to inline functions anyway. -- * version.h: Set version to 2.10. -- --2008-11-14 Jean Delvare -- -- * dmidecode.c: Handle chassis information records of size 19 -- (DMI type 3). -- --2008-11-10 Jean Delvare -- -- * dmidecode.c: Claim to support revision 32 of Intel AP-485 -- (CPUID). No relevant change since revision 31. -- * dmidecode.c: Update reference to AMD CPUID document. -- --2008-11-09 Jean Delvare -- -- * dmidecode.c: Decode the CPUID of more Intel, VIA and AMD -- processors (DMI type 4). -- * dmidecode.c: More CPUID exceptions based on the version string -- (DMI type 4). -- * README: Drop reference to the Linux kernel. -- * README: Drop "model-specific issues" common problem entry, it is -- no longer relevant. -- * README: Simplify "IA-64" common problem entry, most of the -- issues are solved by now. -- --2008-11-08 Jean Delvare -- -- * dmidecode.c: Add many processor types taken from the CIM Schema. -- * dmidecode.c: Drop all references to the DMTF Master MIF -- document. This document hasn't been updated in years, so the -- additions it may contain are no longer relevant. -- --2008-11-07 Jean Delvare -- -- * dmidecode.c: Handle base board information records of size 9 -- (DMI type 2). -- * dmidecode.c: Don't display access time equivalent of memory -- device speed (DMI type 17). The access time didn't add much -- value, and rounding effects made it look bad at times. -- --2008-11-07 Jean Delvare -- -- Update to support SMBIOS specification version 2.6, fourth round. -- -- * dmidecode.c: Initial support for additional information entries -- (DMI type 40). Proper support of this new entry type would -- require redesigning a large part of the code, so I am waiting -- to see actual implementations of it to decide whether it's worth -- the effort. -- * dmidecode.c, dmidecode.8: Update reference SMBIOS document. -- * dmiopt.c, dmidecode.8: Include entry type 41 in --type baseboard. -- --2008-11-05 Jean Delvare -- -- Update to support SMBIOS specification version 2.6, third round. -- -- * dmidecode.c: Decode the group number, bus number and -- device/function number of system slots (DMI type 9). -- Based on a preliminary patch by Matt Domsch. -- * dmidecode.c: Decode onboard devices extended information -- entries (DMI type 41). Based on a preliminary patch by Matt -- Domsch. -- * dmidecode.c: Add slot types "PCI Express x1", "PCI Express x2", -- "PCI Express x4", "PCI Express x8" and "PCI Express x16" -- (DMI type 9). -- * dmidecode.c: Decode the memory device rank (DMI type 17). -- --2008-11-02 Jean Delvare -- -- * dmidecode.c: Use binary search for dmi_processor_family, it's -- faster than linear search (DMI type 4). -- * dmidecode.c: Decode boot integrity services entry point entries -- (DMI type 31). -- --2008-10-31 Jean Delvare -- -- * dmidecode.c: The compiler knows how to reuse strings, it doesn't -- need our help, and actually it does a better job without it. So, -- turn out_of_spec into a define. -- * dmidecode.c: Optimize functions dmi_processor_status(), -- dmi_cache_location(), dmi_system_reset_boot_option() and -- dmi_ipmi_register_spacing(). -- --2008-10-30 Jean Delvare -- -- * dmidecode.c, dmiopt.c, dmidecode.8: Option --dump is only a -- modifier as --quiet is, so it's not actually mutually exclusive -- with the output format options. -- * dmidecode.c: Make options --dump-bin and --quiet work together. -- * dmidecode.c: Delay string filtering when option --dump is used. -- * dmidecode.c: Refactor dmi_processor_family function to avoid -- code duplication. -- * dmidecode.c: Fix up invalid SMBIOS version 2.51. -- --2008-10-29 Jean Delvare -- -- * dmidecode.c: Handle special case of processor family code 0xBE, -- which can be both Core 2 or K7. We use the processor -- manufacturer string as a hint (DMI type 4). -- --2008-10-28 Jean Delvare -- -- * dmidecode.c, dmidecode.h, dmiopt.c, dmiopt.h: Don't use function -- pointers for special string cases. Each special case is itself -- special and needs to call a function with its own prototype, so -- better have dedicated code to handle it all. -- * dmidecode.c, dmidecode.h, dmioem.c, dmioem.h: Mark a few -- pointers const. -- * dmidecode.c, util.c, util.h: When dumping the DMI table to a -- binary file, truncate the file first. -- * dmidecode.c: Support Processor Family 2 field also when queried -- with option --string. -- --2008-10-27 Jean Delvare -- -- Update to support SMBIOS specification version 2.6, second round. -- -- * dmidecode.c: Add support for Processor Family 2 field -- (DMI type 4). -- * dmidecode.c: Add processor types "Turion 64 X2", "Core Solo", -- "Core 2 Duo", "ESA/390 G6", "z/Architectur", "C7-M", "C7-D", -- "C7" and "Eden" (DMI type 4). -- * dmidecode.c: Fix typo in processor type "AMD29000" (DMI type 4). -- * dmidecode.c: Add processor upgrade types "Socket S1", -- "Socket AM2" and "Socket F (1207)" (DMI type 4). -- --2008-10-26 Jean Delvare -- -- Update to support SMBIOS specification version 2.6, first round. -- -- * dmidecode.c: Byte-swap the first 3 fields of the UUID -- (DMI type 1). -- * dmidecode.c: Add chassis types "Blade" and "Blade Enclosure" -- (DMI type 3). -- --2008-10-26 Jean Delvare -- -- * dmiopt.c, dmidecode.8: Simplify the handling and documentation -- of mutually exclusive output format options. -- * dmidecode.8: Document the binary dump file format. -- * dmidecode.c: Don't display the source dump file name in quiet -- mode. -- * biosdecode.c, dmidecode.c, dmioem.c, dmiopt.c, dmiopt.h, -- ownership.c, types.h, util.c, vpddecode.c, vpdopt.c, vpdopt.h: -- Mass coding-style change: add spaces around operators. -- * vpddecode.c: Fix --quiet option. -- * dmidecode.h, dmiopt.h: Pass version information to print -- callback functions. -- * dmidecode.c: Fix up invalid SMBIOS version. -- * dmidecode.c: Handle base board information records of size 10 -- (DMI type 2). -- --2008-10-25 Jean Delvare -- -- * dmidecode.c: Limit indentation in smbios_decode and -- legacy_decode. -- * dmidecode.c, dmiopt.c: Write binary dump to a compact file -- rather than a sparse file. -- * dmidecode.c, dmiopt.c, dmiopt.h: New option --from-dump, read -- the DMI data from a binary file. -- * dmidecode.8: Update the option --dump-bin, document the new -- option --from-dump. -- --2008-08-28 Jean Delvare -- -- * dmidecode.c: Add missing colon to temperature probe label. -- Patch from Alex Iribarren. -- --2008-02-16 Jean Delvare -- -- * util.c, util.h: New helper function write_dump. -- * dmidecode.c, dmiopt.c, dmiopt.h: New option --dump-bin, dump -- the DMI data to a sparse binary file. -- * dmidecode.8: Document the new option --dump-bin. -- * Makefile, biosdecode.c, dmidecode.c, dmidecode.h, dmioem.c, -- dmioem.h, dmiopt.c, dmiopt.h, ownership.c, util.c, util.h, -- vpddecode.c, vpdopt.c, vpdopt.h: Update copyright statements. -- * dmidecode.c: Adjust the error message which is displayed when -- the table is unreachable. -- --2007-06-30 Jean Delvare -- -- * config.h: Add support for Solaris (x86 only, of course). Based -- on a patch by Sun's Dan Mick, brought to my knowledge by -- Attila Nagy. -- --2007-06-27 Jean Delvare -- -- * Makefile: Fix the uninstall-man target. -- --2007-06-07 Jean Delvare -- -- * dmidecode.c: If the SMBIOS entry point decoding fails (for -- example due to a bad checksum), still try decoding the -- encapsulated DMI entry point. Suggested by Luke Suchocki. -- * dmidecode.c: Replace all occurrences of "KB" by the more -- correct "kB". -- --2007-03-16 Jean Delvare -- -- * vpddecode.c: Stop asking the user to report bad checksums, -- unaligned records and the like. Such machines exist, too bad, -- we have to live with it. -- --2007-02-27 Jean Delvare -- -- * biosdecode.c: Fix a compilation error with non-C99 compilers. -- Patch from Francois Revol. -- --2007-02-26 Jean Delvare -- -- * dmidecode.c: Fix an array overrun while decoding the system -- event log status (DMI type 15). -- * biosdecode.c: Use printf instead of fwrite. -- * dmidecode.8: Some OEM-specific types can be decoded now. -- * biosdecode.8: List the FJKEYINF entry point type. -- * vpddecode.8: The product name is no longer displayed. -- * version.h: Set version to 2.9. -- --2007-02-16 Jean Delvare -- -- * dmidecode.c: Do not print the BIOS base address and runtime size -- if the base address is 0. This happens on IA-64 because there's -- no BIOS. -- * Makefile, README: Do not build biosdecode, ownership and -- vpddecode on IA-64, as IA-64 systems have no BIOS. This was -- quite tricky to keep both GNU make and BSD make happy, but it -- seems that I finally succeeded. -- --2007-02-13 Jean Delvare -- -- Update to support SMBIOS specification version 2.5, second round. -- -- * dmidecode.c: Decode new processor characteristics (multi-core, -- multi-thread, 64-bit) (DMI type 4). -- * dmidecode.c: Decode slot ID of AGP 8x and PCI Express slots (DMI -- type 9). -- -- * dmidecode.c: Fix the mask of 3 bitfield tests. This will let -- the memory type of some systems be properly reported as SDRAM. -- * dmidecode.c: Fix the AMD processors signature decoding. -- * README: Minor edits. -- --2007-02-12 Jens Elkner -- -- Update to support SMBIOS specification version 2.5, first round. -- -- * dmidecode.c: Add chassis types "CompactPCI" and "AdvancedTCA" -- (DMI type 3). -- * dmidecode.c: Add processor types "Turion 64", -- "Dual-Core Opteron", "Athlon 64 X2", "Celeron D", "Pentium D" -- and "Pentium EE" (DMI type 4). -- * dmidecode.c: Add processor upgrade types "Socket mPGA604", -- "Socket LGA771" and "Socket LGA775" (DMI type 4). -- * dmidecode.c: Add connector type "SAS/SATA Plug Receptacle" and -- port types "SATA" and "SAS" (DMI type 8). -- * dmidecode.c: Add on-board device types "PATA Controller", -- "SATA Controller" and "SAS Controller" (DMI type 10). -- * dmidecode.c: Add memory device form factor "FB-DIMM" and memory -- device type "DDR2 FB-DIMM" (DMI type 17). -- --2007-02-12 Jean Delvare -- -- * dmioem.c: Share the code between HP-specific types 209 and 221. -- Both types are really the same, only the title is different. -- * dmioem.c: Make the HP-specific types 209 and 221 output a bit -- more verbose. -- * dmidecode.c: Let --type decode OEM-specific entries when -- possible. -- * dmidecode.c: Include decoded OEM-specific entries in quiet mode -- output (--quiet). -- * dmidecode.c: Do not complain about truncated entries in quiet -- mode. -- * dmioem.c: Decode HP-specific type 204 entries in a safer way: -- check the length before decoding, and don't assume that all -- strings are provided in the same order as they are used. -- -- Update to support Intel AP-485 (CPUID) revision 31 (was 28). -- -- * dmidecode.c: New CPUID flag IA64. -- * dmidecode.c: Fix the decoding of Intel extended family. -- --2007-02-11 Jean Delvare -- -- * dmioem.c, dmioem.h: New. -- * Makefile, dmidecode.c, dmidecode.h, dmioem.c, dmioem.h: Move the -- decoding of OEM-specific entries to a separate source file. -- * dmidecode.c: DMI type 38 is tested by now. -- * dmioem.c: The PCI function is typically represented as a single -- digit. -- * Makefile, dmiopt.c, vpdopt.c, util.h: Define an ARRAY_SIZE macro -- which computes the size of a static array, and use it where -- relevant. -- --2007-02-11 John Cagle -- -- * dmidecode.c: Add support for 3 HP-specific entries: system/rack -- locator (type 204), NIC MAC information (type 209) and NIC iSCSI -- MAC information (type 221). -- --2007-01-14 Jean Delvare -- -- * vpddecode.c: Fix a rare warning. -- * biosdecode.c: Add support for the FJKEYINF entry point, which -- contains data related to the "application panel" on Fujitsu -- laptops. -- --2006-05-23 Jean Delvare -- -- * dmidecode.c: Fix a recently introduced compilation error with -- non-C99 compilers. -- * dmidecode.c: Check for short entries (less than 4 bytes), stop -- with an error when one is encountered. -- --2006-05-13 Jean Delvare -- -- * vpddecode.c, README: Drop the product name lookup table. It -- was reported to be unreliable too many times, and was also -- difficult to maintain. -- --2006-05-10 Jean Delvare -- -- * dmidecode.c: Don't cast from u8* to dmi_header*, else -- architectures which do not support unaligned memory accesses -- may break. Instead, copy the members individually. That's a -- bit slower, but that's also safer and we only need to do it -- once per DMI entry, so it's not time critical. So far, we -- were using a trick to later work around the unaligned memory -- access, but the compiler would still warn about the risk, -- which is always confusing. -- * config.h, types.h, README: Automatically enable the unaligned -- memory access workaround on ia64. -- * types.h: Inline U64. It makes sense per se and also lets us -- get rid of a warning about U64 being unused. -- * dmidecode.c: Detect EFI at run-time rather than compilation- -- time. Based on an original patch from Matthew Garrett. This -- will make x86 binaries work for both PC systems with BIOS and -- Macintosh systems with EFI. Also prevent a possible, though -- unlikely, NULL-pointer dereference in the EFI code. -- --2006-02-25 Jean Delvare -- -- * dmidecode.c: Fix typo reported by David Wilson (DMI case 3). -- --2006-02-04 Jean Delvare -- -- * vpddecode.c: Update lookup table from revision 2006-01-31 of IBM -- reference document (add product ID "7B"). -- * version.h: Set version to 2.8. -- --2006-01-21 Jean Delvare -- -- * vpddecode.c: The mysterious last character of xSeries records -- may be a BIOS revision. Display it as such when present and -- non zero, and ask users to report. -- * vpddecode.c: Adjust an error message. -- * dmidecode.8: Update the sample entry to match the new output -- format. -- * README: Improve the IA-64 specific section and the vpddecode -- tool description. -- * vpdopt.h: Add missing system header file include. -- --2006-01-20 Jean Delvare -- -- * vpddecode.c: Assume a constant length of 12 characters for the -- "Default Flash Image File Name" entry. The 13th character never -- contained anything useful, so it probably has a different -- meaning (unknown for now). -- --2005-12-24 Jean Delvare -- -- * vpddecode.c: Scan for VPD records on 4-byte boundaries instead -- of 16-byte boundaries. This is needed for some eServer xSeries -- 206. Still emit a warning if a VPD record is found not on a -- 16-byte boundary. -- --2005-10-26 Jean Delvare -- -- * vpddecode.c: Add product ID "NR". Reported by Klaus Muth. -- * vpddecode.c: Update lookup table from revision 2005-10-06 of IBM -- reference document (add product IDs "77" and "78"). -- --2005-10-05 Jean Delvare -- -- Update to support IPMI specification version 2.0 (was 1.5). -- -- * dmidecode.c: Support IPMI interface type SSIF. Original patch -- by Garry Belka. -- --2005-10-04 Jean Delvare -- -- * vpdopt.c: Display the list of all valid string keywords when -- --string is used without an argument. -- * vpddecode.8: Document the new -s, --string option. -- * dmidecode.8: List the four new string keywords. -- * vpddecode.c: Keep quiet when --string is used, even when no VPD -- record is found. -- --2005-10-03 Jean Delvare -- -- * biosdecode.c: Fix a potential (but highly improbable) buffer -- overrun in the VPD record decoding. -- * biosdecode.c: Change the xSeries checksumming method to -- accommodate a strange xSeries 440 VPD record, as was done in -- vpddecode.c some weeks ago. Do not display the default flash -- image file name anymore, it's not so useful and the field length -- is now uncertain. -- * vpdopt.c, vpdopt.h: New. -- * Makefile, vpddecode.c, vpdopt.c, vpdopt.h: Move the command line -- handling of vpddecode to a separate source file. -- * vpddecode.c, vpdopt.c, vpdopt.h: Add option -s, --string. It -- prints one selected VPD string instead of the regular output. -- --2005-09-24 Jean Delvare -- -- * dmiopt.c: Fix incorrect header include. The strcasecmp function -- is defined in , not . Reported by Petter -- Reinholdtsen. -- --2005-09-14 Jean Delvare -- -- * dmidecode.h: New. -- * dmidecode.c, dmidecode.h, Makefile: Export four specific -- decoding functions, make them suitable for external call. -- * dmidecode.c, dmiopt.c, dmiopt.h, Makefile: Make it possible -- for --string to print decoded binary data rather than only -- DMI strings. Add four such string keywords. -- * dmidecode.c, dmiopt.c, dmiopt.h: Modify the opt structure -- to handle the string option more efficiently. -- --2005-09-13 Jean Delvare -- -- * vpddecode.c: Slightly change the xSeries checksumming method to -- accommodate a strange xSeries 440 VPD record. Also tweak the -- decoding of the "Default Flash Image File Name" entry. Thanks -- to Torsten Seemann for providing a test VPD record. -- --2005-09-05 Jean Delvare -- -- * Makefile: Use -Wundef. -- --2005-08-31 Jean Delvare -- -- * dmidecode.c: Drop trailing dot from handle description line. -- --2005-08-29 Jean Delvare -- -- * dmidecode.c: Reword a comment about CPUID. -- * dmidecode.c: Claim to support revision 28 of Intel AP-485 -- (CPUID). No relevant change since revision 27. -- --2005-08-25 Jean Delvare -- -- * vpddecode.c: Add product ID "VI". Reported by Torsten Seemann. -- * vpddecode.c: Update lookup table from revision 2005-06-24 of IBM -- reference document (add product IDs "1U", "1X", "70", "74", "75" -- and "76", update product ID "1Y"). -- * dmiopt.c: Complain about unknown options again. -- * biosdecode.c, ownership.c, vpddecode.c: getopt_long() will never -- return ':'. -- --2005-08-04 Jean Delvare -- -- * README: Manual pages document the command line interface. -- A discussion list exists for developers. Mmap is used on -- most systems, not just Linux. -- * version.h: Set version to 2.7. -- --2005-08-02 Jean Delvare -- -- * dmiopt.c, dmidecode.8: Options --dump and --quiet are mutually -- exclusive. -- --2005-06-23 Jean Delvare -- -- * dmiopt.c, dmidecode.8: Options --dump and --string are mutually -- exclusive. -- --2005-06-22 Jean Delvare -- -- * dmiopt.c: Display the list of all valid type or string keywords -- when --type or --string, respectively, is used without an -- argument or with an invalid one. -- * dmidecode.8: Document the new -s, --string option. Update the -- -t, --type option documentation. -- * dmiopt.c, dmidecode.8: Add string keyword "bios-release-date", -- the Linux kernel uses it. -- * dmidecode.c, dmidecode.8: Fix typo ("Controler" becomes -- "Controller"). -- --2005-06-21 Jean Delvare -- -- * dmidecode.c, dmiopt.c, dmiopt.h: Add option -s, --string. It -- prints one selected DMI string instead of the regular output. -- --2005-06-18 Jean Delvare -- -- * dmidecode.c: Hide handle references and entries of unknown -- type when --quiet is used. -- * dmidecode.8: Document the new -q, --quiet option. -- * dmidecode.c: Stop decoding at end of table entry when --quiet -- is used. Also don't warn about incorrect table length or entries -- count when --quiet is used. -- --2005-06-17 Jean Delvare -- -- * dmidecode.c, dmiopt.c, dmiopt.h: Add option -q, --quiet. It -- makes the output less verbose. -- * dmidecode.c: Suppress one level of indentation in the output, -- insert blank lines between records. This will hopefully make -- the output easier to read. -- * dmidecode.c: Hide table address and size when --type is used. -- --2005-06-16 Jean Delvare -- -- * dmidecode.8: Document the new -t, --type option. -- --2005-06-15 Jean Delvare -- -- * dmiopt.c, dmiopt.h: New. -- * Makefile, dmidecode.c, dmiopt.c, dmiopt.h: Move the command line -- handling of dmidecode to a separate source file. -- * dmiopt.c: Define keywords to be used with --type (instead of -- numeric values). -- --2005-06-14 Jean Delvare -- -- * dmidecode.c: Centralize the main exit point. This allows fixing -- a minor, recently introduced memory leak which was happening on -- error conditions. -- --2005-06-13 Jean Delvare -- -- * dmidecode.c: Add option -t, --type. It limits the output to -- the given type(s) of DMI entries. -- --2005-05-25 Jean Delvare -- -- * vpddecode.c: Add product IDs "KE", "NT" and "ZR". Reported by -- Bernd Krumboeck. -- --2005-05-15 Jean Delvare -- -- * dmidecode.8, vpddecode.8: Document the new -u, --dump option. -- -- Update to support SMBIOS specification version 2.4 (was 2.4 -- preliminary). There is actually no difference between 2.4 -- preliminary and 2.4 final. -- -- * dmidecode.c: Update the "System Management BIOS Reference -- Specification" version. -- --2005-04-26 Jean Delvare -- -- * vpddecode.c: Add product ID "M1". Reported by Myke Olson. -- * vpddecode.c: Add option -u, --dump. It disables decoding of the -- VPD records, a raw dump is displayed instead. This option is -- mainly intended for debugging. -- --2005-04-03 Jean Delvare -- -- * Makefile: Use variables for install and rm commands, so that these -- can be overridden by the caller. -- --2005-03-25 Jean Delvare -- -- * Makefile: Install some documentation files (README, CHANGELOG, -- AUTHORS). -- -- Update to support SMBIOS specification version 2.4 preliminary -- [11/18/2004] (was 2.3.4). -- -- * dmidecode.c: Add BIOS characteristics (DMI type 0). -- * dmidecode.c: Display BIOS and firmware revisions where available -- (DMI type 0). -- * dmidecode.c: Display system SKU number and family where available -- (DMI type 1). -- * dmidecode.c: Add system slot types and widths (DMI type 9). -- * dmidecode.c: Add memory device type "DDR2" (DMI type 17). -- --2005-03-20 Jean Delvare -- -- * Makefile: Install manual pages under $(prefix)/share/man by -- default, instead of $(prefix)/man, so as to comply with the FHS. -- --2005-03-08 Jean Delvare -- -- * vpddecode.c: Update lookup table from revision 2005-03-08 of IBM -- reference document (add product ID "1V", update product ID "1R"). -- Thanks to Ingo van Lil for reporting about product ID "1V". -- --2005-03-06 Jean Delvare -- -- * dmidecode.c: Add option -u, --dump. It disables decoding of the -- entries, raw dumps are displayed instead. This option is mainly -- intended for debugging. -- * Makefile: Use -Winline. -- * dmidecode.c: Make ASCII filtering of strings faster. -- --2005-02-28 Jean Delvare -- -- * version.h: Set version to 2.6. -- * Makefile: ownership.o depends on version.h. -- --2005-02-24 Jean Delvare -- -- * vpddecode.c: Add product ID "2C". Reported by Tomek Mateja. -- --2005-02-17 Jean Delvare -- -- * vpddecode.c: Add product IDs "OP" and "PN". Reported by Scott -- Denham. -- * vpddecode.c: Fix typo in one product name (560E improperly -- spelled 650E). -- * vpddecode.c: Add product IDs "IW" and "IY", as added recently -- on IBM's reference web page. Update reference. -- * config.h: Use mmap on all but BeOS, instead of only Linux. -- --2005-02-12 Jean Delvare -- -- * util.c: Fix incorrect length in munmap call. -- * Makefile: Use -Wmissing-prototypes. -- * dmidecode.c: Fix maximum battery error value. -- --2005-02-11 Jean Delvare -- -- * Makefile: Discard -pedantic, we don't really need this. -- * util.c: Display an error message on memory shortage. Suggested -- by Don Howard. -- -- Fix a bug causing dmidecode to crash on some systems with more than -- 2 GB of memory. This is a signed vs unsigned issue, which existed -- up to version 2.2, was fixed in 2.3 but reintroduced in a different -- form in 2.5 as part of a code clean up and refactoring. -- https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=112355 -- Thanks to Petter Reinholdtsen for reporting. Thanks to Don Howard -- for additional insight. -- -- * dmidecode.c, util.c, util.h: Use size_t instead of off_t when -- handling memory addresses. -- --2005-02-10 Jean Delvare -- -- * dmidecode.c: Add option -h, --help, display a usage summary. -- * biosdecode.c, ownership.c, vpddecode.c: Copy command-line handling -- from dmidecode.c. -- * biosdecode.8, dmidecode.8, ownership.8, vpddecode.8: Document -- the new command-line interface. -- --2005-02-06 Jean Delvare -- -- * Makefile: Everything depends on config.h. -- * dmidecode.c: Add basic command-line handling. This was suggested -- a long time ago by Erwan Velu. -- --2005-02-01 Jean Delvare -- -- * vpddecode.c: Add product IDs "AP", "KP" and "RD". Reported by -- David Rosala. -- --2005-01-17 Jean Delvare -- -- * README: Add a note about Cygwin. Thanks to Dominik Klein for -- reporting success. -- --2004-12-10 Jean Delvare -- -- Increase portability and configurability to in order to support BeOS. -- -- * config.h: New. -- * config.h: Define a default memory device. -- * biosdecode.c, dmidecode.c, ownership.c, vpddecide.c: Include -- config.h and use the defined default memory device. -- * Makefile, config.h, util.c, README: Move USE_MMAP to config.h, -- use mmap on Linux only. -- --2004-11-22 Jean Delvare -- -- * biosdecode.c: Avoid size_t in printf. Should remove a warning on -- ia64. Thanks to Petter Reinholdtsen for reporting. -- * util.c: Use sysconf(_SC_PAGESIZE) instead of getpagesize() where -- available. This may remove a warning on ia64 as a side effect. -- Thanks to Petter Reinholdtsen for reporting. -- --2004-11-21 Jean Delvare -- -- * util.c, util.h: Function myread has no more user outside of util.c. -- * biosdecode.c: Speed improvements. -- --2004-11-20 Jean Delvare -- -- * biosdecode.c, ownership.c, vpddecode.c: Make use of the mem_chunk -- function. -- * vpddecode.c: Simplify the memory loop code a bit. -- --2004-11-12 Jean Delvare -- -- * dmidecode.c: Hide bank connection type for non-installed memory -- modules. -- * dmidecode.c: Reference comment fix. -- * dmidecode.c: Hide watchdog timer details when no watchdog is -- present. Change label for no watchdog. -- * README: Match case change for PREFIX (now prefix) in the Makefile -- file. Reported by Raul Nunez de Arenas Coronado. -- --2004-11-12 Jean Delvare -- -- Update to support DMTF Master MIF version 040707 (was 030621). -- -- * dmidecode.c: One additional processor type (Sempron). -- * dmidecode.c: One additional processor type (Efficeon TM8800). -- * dmidecode.c: One additional processor upgrade type (Socket 939). -- * dmidecode.c: Add the AMD Sempron to the list of x86-class -- processors. -- -- Update to support Intel AP-485 (CPUID) revision 27 (was 25). -- -- * dmidecode.c: Rename SBF flag to PBE. -- --2004-11-11 Jean Delvare -- -- * util.c: More helpful error messages. -- * util.c: Use MAP_SHARED instead of MAP_PRIVATE in mmap. -- * version.h: Set version to 2.5. -- --2004-11-10 Jean Delvare -- -- * README: Update dmidecode presentation (copied from the web page). -- Move the list of supported systems from the documentation section -- to the installation section. -- --2004-11-09 Jean Delvare -- -- * vpddecode.c: Update product ID "1R". Reported by Marco Wertejuk. -- --2004-10-24 Jean Delvare -- -- * util.c: Workaround missing MAP_FAILED definition, needed on -- old systems. Original patch from Durval Menezes. -- --2004-10-14 Jean Delvare -- -- * dmidecode.c: Search for EFI systab at /sys/firmware/efi/systab. -- Original patch from Alex Williamson. -- * dmidecode.c: Remove warning about legacy_decode not being used -- when USE_EFI is defined. -- * dmidecode.c: Detect missing SMBIOS entry point in efi/systab. -- * dmidecode.c: Fix fatal typo in USE_EFI-specific code. -- --2004-10-01 Roberto Nibali -- -- * Makefile: Be LDFLAGS aware. -- --2004-07-24 Jean Delvare -- -- * util.c: Add missing header include. -- --2004-06-11 Jean Delvare -- -- * vpddecode.c: Add product IDs "GE" and "T2". Reported by Doug Brenner. -- --2004-05-02 Jean Delvare -- -- * dmidecode.c: Move legacy DMI entry point decoding to a separate -- function. -- * dmidecode.c: Use a 64 kB buffer for searching entry points, -- instead of repeated 16-byte reads. -- * util.c, util.h: New mem_chunk function. It returns a buffer -- containing a copy of a given chunk of the physical memory. -- * dmidecode.c: Make use of the new mem_chunk function. -- --2004-04-30 Jean Delvare -- -- * vpddecode.c: Add product ID "JP". Reported by Bernd Krumboeck. -- --2004-04-22 Jean Delvare -- -- * dmidecode.c, biosdecode.c, ownership.c, types.h: Move common -- WORD-like macros to types.h. -- --2004-04-21 Jean Delvare -- -- * dmidecode.c, biosdecode.c: Fix my contact information. -- * dmidecode.c: Update copyright year. -- --2004-04-20 Jean Delvare -- -- * README: Correct Chad Smith's name. Reported by Martin Pool. -- --2004-04-15 Jean Delvare -- -- * vpddecode.c: Add product ID "PL". Reported by Mark Syms. -- --2004-04-14 Jean Delvare -- -- * vpddecode.c: Add product ID "PD". Reported by Roger Koot. -- --2004-04-11 Jean Delvare -- -- * dmidecode.c, Makefile, README: Drop TABLE_LITTLEENDIAN. -- * README: Update manual pages information. -- --2004-04-02 Jean Delvare -- -- * vpddecode.c: Add product ID "NV". Reported by Shawn Starr. -- --2004-03-27 Jean Delvare -- -- * vpddecode.c: Add product ID "24". Reported by Paul Sturm. -- * dmidecode.c: Fix two missing comas in string enumerations. Thanks to -- Joshua Goldenhar for reporting the first one. -- --2004-03-24 Jean Delvare -- -- * vpddecode.c: Add product ID "PJ". Reported by Roger Koot. -- * vpddecode.c: Rename two Netvista systems to use their real name -- instead of machine type. -- --2004-03-20 Petter Reinholdtsen -- -- * Makefile: Make it easier to select where to install the binaries -- and manual pages, and to use different paths when building and -- installing. -- --2004-03-19 Jean Delvare -- -- * vpddecode.c: Add product ID "2A". Reported by Rafael Avila -- de Espindola. -- * version.h: Set version to 2.4. -- --2004-03-07 Jean Delvare -- -- * biosdecode.c, vpddecode.c: Add a third checksumming method for -- VPD records. -- * vpddecode.c: Add product ID "PI", update "20". Reported by -- Zing Zing Shishak. -- --2004-03-05 Jean Delvare -- -- * README: Update. -- --2004-02-25 Jean Delvare -- -- * dmidecode.c: Support CPUID document revision 25 (no change). -- * dmidecode.c: Shorten the EOF error message. -- --2004-02-23 Jean Delvare -- -- * man/biosdecode.8, man/dmidecode.8, man/ownership.8, -- man/vpddecode.8: New. -- * Makefile: Handle new manual pages. -- --2003-12-28 Jean Delvare -- -- * vpddecode.c: Add product ID "PT". Reported by Ramiro Barreiro. -- --2003-12-17 Jean Delvare -- -- * vpddecode.c: Add product ID "RE". Reported by Josef Moellers. -- * vpddecode.c, biosdecode.c: Handle longer VPD records as seen on -- xSeries. These have a different checksumming method. -- --2003-12-03 Jean Delvare -- -- * vpddecode.c: Add product ID "TT". Reported by Hugues Lepesant. -- * vpddecode.c, biosdecode.c: Fix typo ("Bios" becomes "BIOS"). -- * dmidecode.c: Add another exception to the CPUID-supporting CPU list -- ("Pentium III MMX"). -- * dmidecode.c: Number devices in multi-device on board device -- information structures (DMI case 10). -- --2003-11-13 Jean Delvare -- -- * dmidecode.c: Automatically detect architectures on which to use EFI -- (ia64 for now). Suggested by Jeff Moyer. -- --2003-11-11 Jean Delvare -- -- * vpddecode.c: Add product ID "KX". Reported by Klaus Ade Johnstad, -- confirmed by Pamela Huntley. -- * dmidecode.c: Display CPUID values as decimal, not hexadecimal. -- This is a reversal of the 2003-07-18 change to be consistent with -- /proc/cpuinfo under Linux. -- * dmidecode.c: Fix processor ID decoding for older 80486. Not very -- important since such systems are unlikely to support SMBIOS. -- * dmidecode.c: Modify CPU signature display for AMD processors. -- * vpddecode.c, biosdecode.c: Fix incorrect VPD checksumming. -- --2003-10-24 Jean Delvare -- -- * dmidecode.c: Add another exception to the CPUID-supporting CPU list. -- --2003-10-19 Jean Delvare -- -- * README: Clarify why mmap is used. Fix typo. -- * Makefile: Add deleting core to the clean target. -- * version.h: Set version to 2.3. -- --2003-10-17 Jean Delvare -- -- * biosdecode.c: Use (void) instead of __attribute__ ((unused)) to -- declare that a function parameter isn't used. According to Alexandre -- Duret-Lutz, this is the portable way do to it. Fix typo in comment. -- * dmidecode.c: Fix typo. -- --2003-10-16 Jean Delvare -- -- * dmidecode.c: Remove useless comparison in dmi_system_boot_status. -- Thanks to Alexandre Duret-Lutz for pointing this out. -- * biosdecode.c: Add a missing length check in acpi_decode. Found -- using Valgrind. -- * biosdecode.c: Fix buffer overrun in main. Found using Valgrind. -- --2003-10-14 Jean Delvare -- -- * dmidecode.c: Update DMTF reference addresses. -- * dmidecode.c: List two more processors (Athlon64 and Pentium M) -- as x86-class (i.e. supporting CPUID). -- --2003-10-11 Jean Delvare -- -- Update to support DMTF Master MIF version 030621 (was 021205). -- -- * dmidecode.c: Handle unknown processor voltage. -- * dmidecode.c: Fix typo in event log method. -- * dmidecode.c: One additional processor type (Pentium M). -- * dmidecode.c: Add the AMD Opteron to the list of x86-class -- processors. Thanks to Mike Cooper for providing information. -- * vpddecode.c: New program for decoding a machine's VPD structure -- (only found in IBM machines). -- * Makefile: Update accordingly. -- * Makefile: Fix dependencies for ownership. Add strip target. Various -- cleanups (reordering, comments, optimization and debug flags). -- * README: Update to reflect the addition of the strip target and the -- vpddecode program. Some additional changes and fixes. -- --2003-10-10 Jean Delvare -- -- * dmidecode.c: Change mmap options to prevent dmidecode from being -- killed by the Linux kernel in some rare cases. Reported by -- Mike Cooper. -- * dmidecode.c: Various code cleanups and optimizations. -- --2003-10-09 Jean Delvare -- -- * dmidecode.c: Fix a bug that prevented dmidecode to reach DMI tables -- beyond the 2GB memory limit. Reported by Mike Cooper. -- * ownership.c: Add one reference. Code cleanups. -- * CHANGELOG: Fix typo. -- --2003-10-08 Jean Delvare -- -- * biosdecode.c: Fix potentially wrong checksum on Sony-specific entry. -- * biosdecode.c: Unimportant changes (comment, typo...) in -- Compaq-specific section. -- * biosdecode.c: Add support for VPD (vital product data, IBM-specific). -- * CHANGELOG: Various updates. -- --2003-10-07 Jean Delvare -- -- * ownership.c: Fix a harmless warning on x86_64. Reported by Mike -- Cooper. -- --2003-09-19 Jean Delvare -- -- * dmidecode.c: Explicitly say when no SMBIOS nor DMI entry point -- was found. Implicitly suggested by Sergey Leonovich. -- --2003-09-11 Jean Delvare -- -- * Makefile: Don't use $^ since it isn't supported by BSD make. -- Reported by Hugues Lepesant. -- --2003-09-05 Jean Delvare -- -- * Makefile: Fix missing ownership dependency for install target. -- Reported by Mario Lang. -- --2003-08-08 Jean Delvare -- -- * dmidecode.c: Update the README file (mainly the now solved laptop -- and IA-64 issues, and add a section for biosdecode and ownership). -- * version.h: Set version to 2.2. -- --2003-07-18 Jean Delvare -- -- * dmidecode.c: Display CPUID values as hexadecimal, not decimal. -- * dmidecode.c: Shift the I2C slave address by one bit to the right -- (DMI case 38). -- --2003-06-27 Jean Delvare -- -- * biosdecode.c: Better display of Compaq-specific entries (thank to -- some documentation). -- --2003-06-25 Jean Delvare -- -- * dmidecode.c: Remove fp_last (not useful anymore). Reworded the "table -- is unreachable" message to mention the -DUSE_MMAP solution. -- --2003-06-19 Jean Delvare -- -- * dmidecode.c: Add support for IA-64. -- * Makefile: Add new option CFLAGS modifier lines for IA-64. -- --2003-06-17 Jean Delvare -- -- * dmidecode.c, biosdecode.c: Move common "util" functions to util.c. -- * util.c, util.h: New. -- * types.h: New. -- * Makefile: Update accordingly. -- * biosdecode.c: Add detection of Compaq-specific entries. -- * ownership.c: New program for finding a machine's ownership tag -- (only found in Compaq machines). Requested by Luc Van de Velde. -- * Makefile: Update again. -- --2003-06-10 Jean Delvare -- -- * dmidecode.c: Fix typo in IPMI register spacing table. -- * version.h: Set version to 2.1. -- --2003-06-04 Jean Delvare -- -- * Makefile: Restore optional CFLAGS modifier lines. -- * README: New. -- --2003-05-30 Jean Delvare -- -- * dmidecode.c: Cleaner handling of unreachable table. -- --2003-05-27 Jean Delvare -- -- Update to support Intel AP-485 specification (CPUID) revision 023 -- (was 021). -- -- * dmidecode.c: Add SBF flag to processor ID (DMI case 4). Add comment -- about new flags returned in ECX. -- --2003-05-26 Jean Delvare -- -- Update to support SMBIOS specification version 2.3.4 (was 2.3.3). -- -- * dmidecode.c: Add processor and processor upgrade names (DMI case 4). -- * dmidecode.c: Add slot names (DMI case 9). -- --2003-05-22 Jean Delvare -- -- * dmidecode.c: Fix typo reported by David Wilson (DMI case 6). -- --2003-03-08 Jean Delvare -- -- * dmidecode.c: Decode more fields according to the IPMI specification -- (DMI case 38). -- --2003-03-07 Jean Delvare -- -- Fixed IPMI device information (DMI case 38). Thanks to Richard Sharpe -- for pointing the bugs out. -- -- * dmidecode.c: Fix IPMI interface type being shifted by one. -- * dmidecode.c: Fix NV storage device being improperly displayed. -- * dmidecode.c: Reword IPMI specification revision into specification -- version, as suggested in the IPMI specification itself. -- * dmidecode.c: Add a reference to the IPMI specification. -- * dmidecode.c: Show I2C address as hexadecimal. -- * dmidecode.c: Base address is a QWORD, not DWORD. -- * dmidecode.c: Decode some extra fields according to the IPMI -- specification. -- --2003-03-06 Jean Delvare -- -- * dmidecode.c, biosdecode.c: Move all changelog entries to CHANGELOG. -- * CHANGELOG: New. Format inspired by Heroes' ChangeLog file. -- * dmidecode.c, biosdecode.c, Makefile: Update copyright years. -- * dmidecode.c, biosdecode.c, Makefile: Move version definition to -- version.h. Update dependencies accordingly. -- * version.h: New. -- --2002-10-21 Jean Delvare -- -- * dmidecode.c: Change supported log type descriptors display. -- * dmidecode.c: Code optimization in event log status. -- * dmidecode.c: Remove extra newline in voltage probe accuracy. -- * dmidecode.c: Display "OEM-specific" if type is 128 or more. -- * dmidecode.c: Do not display Strings on dump if there are no strings. -- * dmidecode.c: Add ASCII-filtering to dmi_string. -- * dmidecode.c: Convert all dates to ISO 8601. -- --2002-10-18 Jean Delvare -- -- * dmidecode.c: Complete rewrite. -- * dmidecode.c: Now complies with SMBIOS specification 2.3.3. -- * dmidecode.c: Move all non-DMI stuff to biosdecode.c. -- * biosdecode.c: New. -- --2002-10-15 Jean Delvare -- -- * dmidecode.c: Fix bad index in DMI case 27 (cooling device). -- --2002-10-14 Jean Delvare -- -- * dmidecode.c: Fix typo in dmi_memory_array_location. -- * dmidecode.c: Replace Kbyte by kB in DMI case 16. -- * dmidecode.c: Add DDR entry in dmi_memory_device_type. -- * dmidecode.c: Fix extra s in SYSID. -- --2002-10-12 Jean Delvare -- -- * dmidecode.c: Fix maximum cache size and installed size being -- inverted. -- * dmidecode.c: Fix typos in port types. -- --2002-10-10 Jean Delvare -- -- * dmidecode.c: Remove extra semicolon at the end of -- dmi_memory_array_use. -- * dmidecode.c: Fix compilation warnings. -- * dmidecode.c: Add missing backslash in DMI case 37. -- * dmidecode.c: Fix BIOS ROM size (DMI case 0). -- --2002-10-05 Jean Delvare -- -- * dmidecode.c: More ACPI decoded. -- * dmidecode.c: More PNP decoded. -- * dmidecode.c: More SYSID decoded. -- * dmidecode.c: PCI Interrupt Routing decoded. -- * dmidecode.c: BIOS32 Service Directory decoded. -- * dmidecode.c: Sony system detection (unconfirmed). -- * dmidecode.c: Checksums verified whenever possible. -- * dmidecode.c: Better checks on file read and close. -- * dmidecode.c: Define VERSION and display version at beginning. -- * dmidecode.c: More secure decoding (won't run off the table in any -- case). -- * dmidecode.c: Do not try to decode more structures than announced. -- * dmidecode.c: Fix an off-by-one error that caused the last address -- being scanned to be 0x100000, not 0xFFFF0 as it should. -- --2002-09-28 Jean Delvare -- -- * dmidecode.c: Fix missing coma in dmi_bus_name. -- * dmidecode.c: Remove unwanted bitmaskings in dmi_mgmt_dev_type, -- dmi_mgmt_addr_type, dmi_fan_type, dmi_volt_loc, dmi_temp_loc and -- dmi_status. -- * dmidecode.c: Fix DMI table read bug ("dmi: read: Success"). -- * dmidecode.c: Make the code pass -W again. -- * dmidecode.c: Fix return value of dmi_card_size. -- --2002-09-20 Dave Johnson -- -- * dmidecode.c: Fix comparisons in dmi_bus_name. -- * dmidecode.c: Fix comparison in dmi_processor_type. -- * dmidecode.c: Fix bitmasking in dmi_onboard_type. -- * dmidecode.c: Fix return value of dmi_temp_loc. -- --2002-09-17 Larry Lile -- -- * dmidecode.c: Type 16 & 17 structures displayed per SMBIOS 2.3.1 spec. -- --2002-08-23 Alan Cox -- -- * dmidecode.c: Make the code pass -Wall -pedantic by fixing a few -- harmless sign of pointer mismatches. -- * dmidecode.c: Correct main() prototype. -- * dmidecode.c: Check for compilers with wrong type sizes. -- --2002-08-09 Jean Delvare -- -- * dmidecode.c: Better DMI struct count/size error display. -- * dmidecode.c: More careful memory access in dmi_table. -- * dmidecode.c: DMI case 13 (Language) decoded. -- * dmidecode.c: C++ style comments removed. Commented out code removed. -- * dmidecode.c: DMI 0.0 case handled. -- * dmideocde.c: Fix return value of dmi_port_type and -- dmi_port_connector_type. -- --2002-08-06 Jean Delvare -- -- * dmidecode.c: Reposition file pointer after DMI table display. -- * dmidecode.c: Disable first RSD PTR checksum (was not correct anyway). -- * dmidecode.c: Show actual DMI struct count and occupied size. -- * dmidecode.c: Check for NULL after malloc. -- * dmidecode.c: Use SEEK_* constants instead of numeric values. -- * dmidecode.c: Code optimization (and warning fix) in DMI cases 10 and -- 14. -- * dmidecode.c: Add else's to avoid unneeded cascaded if's in main loop. -- * dmidecode.c: Code optimization in DMI information display. -- * dmidecode.c: Fix all compilation warnings. -- --2002-08-03 Mark D. Studebaker -- -- * dmidecode.c: Better indent in dump_raw_data. -- * dmidecode.c: Fix return value of dmi_bus_name. -- * dmidecode.c: Additional sensor fields decoded. -- * dmidecode.c: Fix compilation warnings. -- --2001-12-13 Arjan van de Ven -- -- * dmidecode.c: Fix memory bank type (DMI case 6). -- --2001-07-02 Matt Domsch -- -- * dmidecode.c: Additional structures displayed per SMBIOS 2.3.1 spec. -diff --git a/NEWS b/NEWS -new file mode 100644 -index 0000000..827dafd ---- /dev/null -+++ b/NEWS -@@ -0,0 +1,123 @@ -+Version 3.1 (Tue May 23 2017) -+ - Support for SMBIOS 3.1.0 and 3.1.1. This includes new chassis types, new -+ processor family names, new processor family upgrade names, and new slot -+ types, as well as support of larger BIOS ROM sizes and cache sizes, and a -+ new structure type (43, TPM Device.) -+ - A new command line option to query OEM strings. -+ - All error messages are now printed on stderr (#47274, #48158.) -+ - Several bug fixes related to 64-bit entry points (#50037 and more.) -+ - Important bug fixes: -+ #46176 (Unexpected end of file error) -+ #46066 (Crash with SIGBUS) -+ - Various minor fixes, improvements and cleanups. -+ -+Version 3.0 (Thu Sep 03 2015) -+ - Support for SMBIOS 3.0. This includes new chassis types, new -+ processor family names, new processor family upgrade names, new slot -+ types, and new memory device types. -+ - Support for the new 64-bit entry point (_SM3_) defined in SMBIOS 3.0. -+ - Support for the new kernel interface (as of Linux v4.2) as an -+ alternative to relying /dev/mem to access the entry point and DMI -+ table. -+ - Decoding of Acer-specific DMI type 170. -+ - Decoding of HP-specific DMI types 212, 219 and 233. -+ - Various minor fixes and output format cleanups. -+ -+Version 2.12 (Wed Apr 17 2013) -+ - Support of the SMBIOS 2.8.0 specification. -+ -+Version 2.11 (Wed Jan 19 2011) -+ - Support of the SMBIOS 2.7.0 specification: -+ - UEFI support -+ - Virtual machine flags in BIOS characteristics -+ - Limited support for the Management Controller Host Interface -+ - Various fixes that address stability. -+ -+Version 2.10 (Sun Nov 23 2008) -+ - Support for Solaris (x86 only, of course). -+ - Possibility to dump the SMBIOS/DMI table to a small binary file -+ (option --dump-bin). -+ - Possibility to read the SMBIOS/DMI table from such binary files -+ (option --from-dump). -+ - Support for SMBIOS 2.6. This includes new chassis types, new -+ processor family names, new processor family upgrade names, bus -+ address for system slots, and a new entry type for on-board devices, -+ amongst many other minor changes. -+ - Support for DMI entry type 31 (Boot integrity services). -+ - Many processor family names taken from the CIM Schema document. -+ - (vpddecode) No longer ask users to report broken records. -+ - (vpddecode) Fix --quiet option. -+ -+Version 2.9 (Mon Feb 26 2007) -+ - Support of the SMBIOS 2.5 specification. It adds many enumerated -+ values for recent hardware, as well as CPU core and thread count -+ reporting. -+ - Decoding of 3 HP-specific entries. More vendor-specific entries can -+ be supported later if vendors contribute code or documentation. -+ - Run-time detection of EFI, so that a single binary can support -+ Intel-based Macintosh machines and regular x86 machines. -+ - Better IA-64 support. -+ - Fixes to the decoding of individual fields, including the CPU -+ signature of recent CPU models. -+ - (biosdecode) Support of the FJKEYINF entry point type (for Fujitsu laptops). -+ - (vpddecode) The product name look-up table was dropped. It was unreliable -+ and a burden to maintain. -+ - biosdecode, ownership and vpddecode are no longer built on IA-64. -+ -+Version 2.8 (Sat Feb 04 2006) -+ - Option --string has four additional keywords available: -+ system-uuid, chassis-type, processor-family and processor-frequency. -+ These needed additional work because, technically speaking, they are -+ not DMI strings. -+ - IPMI interface type SSIF was added. This is a new interface type -+ defined by IPMI 2.0. -+ - (vpddecode) New --string option, much similar in spirit to -+ dmidecode's. Available keywords are bios-build-id, box-serial-number, -+ motherboard-serial-number, machine-type-model and bios-release-date. -+ - (vpddecode) 9 product names were added to the lookup table. -+ - A few bug fixes, cleanups and minor improvements all around the place. -+ -+Version 2.7 (Thu Aug 04 2005) -+ - New command line interface. For example, it is now possible to limit -+ the output of dmidecode to a given DMI type, or to extract a single -+ string from the DMI table. The documentation has been updated -+ accordingly. -+ - The default output of dmidecode was slightly modified to be more -+ easily readable by humans. This might break tools parsing its output. -+ Such tools may benefit from the new command line interface, although -+ this interface shouldn't be considered stable until version 2.8. -+ - (vpddecode) New command line interface. -+ - (vpddecode) 6 product names were added. -+ -+Version 2.6 (Mon Feb 28 2005) -+ - Fixes a 2 GB memory limit regression. -+ - Basic command-line handling. -+ - BeOS and Cygwin support. -+ -+Version 2.5 (Thu Nov 11 2004) -+ - Code cleanups. -+ - Compatibility fixes. -+ - Documentation updates. -+ -+Version 2.4 (Fri Mar 19 2004) -+ - Manual pages added. -+ - (vpddecode) Many improvements. -+ - A few fixes and minor improvements. -+ -+Version 2.3 (Sun Oct 19 2003) -+ - Support of x86_64 systems. -+ - Support of systems with 2 GB and more memory. -+ - Loads of bug fixes and corrections. -+ - New tool "vpddecode" added. -+ -+Version 2.2 (Fri Aug 08 2003) -+ - Support of IA-64 systems. -+ - Support of IBM and Fujitsu-Siemens laptops. -+ - Many minor bug fixes. -+ - New tool "ownership" added. -+ -+Version 2.1 (Tue Jun 10 2003) -+ - Support of the SMBIOS 2.3.4 specification. -+ - Better support of IPMI. -+ - Minor bugs fixed. -+ - Documentation added. --- -2.9.5 - diff --git a/SOURCES/0002-dmidecode-Don-t-use-memcpy-on-dev-mem-on-arm64.patch b/SOURCES/0002-dmidecode-Don-t-use-memcpy-on-dev-mem-on-arm64.patch new file mode 100644 index 0000000..d5ccc32 --- /dev/null +++ b/SOURCES/0002-dmidecode-Don-t-use-memcpy-on-dev-mem-on-arm64.patch @@ -0,0 +1,72 @@ +From 82497fa02d60757c2cfa645cf89a79abb1435273 Mon Sep 17 00:00:00 2001 +From: Jean Delvare +Date: Fri, 16 Nov 2018 11:18:25 +0100 +Subject: [PATCH 1/4] dmidecode: Don't use memcpy on /dev/mem on arm64 + +On arm64, calling memcpy on /dev/mem will cause a bus error if the +start and the end of the buffer are not aligned on a 64-bit boundary. +Using option --no-sysfs triggers this. + +Use a slow manual byte-by-byte copy in that case, to prevent the bus +error. This is only a fallback path (at least on Linux) and not +performance-critical anyway, as it is a one-time operation and DMI +tables are usually not too large. + +This fixes bug #55026: +https://savannah.nongnu.org/bugs/index.php?55026 + +Signed-off-by: Jean Delvare +--- + config.h | 5 +++++ + util.c | 14 +++++++++++++- + 2 files changed, 18 insertions(+), 1 deletion(-) + +diff --git a/config.h b/config.h +index e39091f..4237355 100644 +--- a/config.h ++++ b/config.h +@@ -26,4 +26,9 @@ + #define ALIGNMENT_WORKAROUND + #endif + ++/* Avoid unaligned memcpy on /dev/mem */ ++#ifdef __aarch64__ ++#define USE_SLOW_MEMCPY ++#endif ++ + #endif +diff --git a/util.c b/util.c +index eeffdae..04aaadd 100644 +--- a/util.c ++++ b/util.c +@@ -155,6 +155,18 @@ void *read_file(off_t base, size_t *max_len, const char *filename) + return p; + } + ++static void safe_memcpy(void *dest, const void *src, size_t n) ++{ ++#ifdef USE_SLOW_MEMCPY ++ size_t i; ++ ++ for (i = 0; i < n; i++) ++ *((u8 *)dest + i) = *((const u8 *)src + i); ++#else ++ memcpy(dest, src, n); ++#endif ++} ++ + /* + * Copy a physical memory chunk into a memory buffer. + * This function allocates memory. +@@ -214,7 +226,7 @@ void *mem_chunk(off_t base, size_t len, const char *devmem) + if (mmp == MAP_FAILED) + goto try_read; + +- memcpy(p, (u8 *)mmp + mmoffset, len); ++ safe_memcpy(p, (u8 *)mmp + mmoffset, len); + + if (munmap(mmp, mmoffset + len) == -1) + { +-- +2.17.1 + diff --git a/SOURCES/0002-dmioem-decode-HPE-UEFI-type-219-Misc-Features.patch b/SOURCES/0002-dmioem-decode-HPE-UEFI-type-219-Misc-Features.patch deleted file mode 100644 index a16590c..0000000 --- a/SOURCES/0002-dmioem-decode-HPE-UEFI-type-219-Misc-Features.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 2ba4fab210e23cc97db57217af9a6f3b35a9b666 Mon Sep 17 00:00:00 2001 -From: Jerry Hoemann -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 -Signed-off-by: Jean Delvare ---- - 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 - diff --git a/SOURCES/0003-Fix-install-doc-target.patch b/SOURCES/0003-Fix-install-doc-target.patch deleted file mode 100644 index b9f9d88..0000000 --- a/SOURCES/0003-Fix-install-doc-target.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 371056cc0345ba8e950f0c002a0e145a3930b39c Mon Sep 17 00:00:00 2001 -From: Jean Delvare -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 - diff --git a/SOURCES/0003-dmidecode-Use-lowercase-letters-for-UUID.patch b/SOURCES/0003-dmidecode-Use-lowercase-letters-for-UUID.patch deleted file mode 100644 index 468914a..0000000 --- a/SOURCES/0003-dmidecode-Use-lowercase-letters-for-UUID.patch +++ /dev/null @@ -1,36 +0,0 @@ -From aec83995082070c47edf394c4b7f9f17fea7fd16 Mon Sep 17 00:00:00 2001 -From: Jean Delvare -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 - diff --git a/SOURCES/0003-dmidecode-Use-the-most-appropriate-unit-for-cache-si.patch b/SOURCES/0003-dmidecode-Use-the-most-appropriate-unit-for-cache-si.patch new file mode 100644 index 0000000..1e6f1cc --- /dev/null +++ b/SOURCES/0003-dmidecode-Use-the-most-appropriate-unit-for-cache-si.patch @@ -0,0 +1,53 @@ +From c43afb47fcbadabe2655fe7863a1e2ea9af1446c Mon Sep 17 00:00:00 2001 +From: Jean Delvare +Date: Tue, 15 Jan 2019 12:59:00 +0100 +Subject: [PATCH 2/4] dmidecode: Use the most appropriate unit for cache size + +As newer CPUs have larger and larger cache, using kB to represent the +cache size is getting less convenient. Reuse the same function we have +for system memory size so that large units will be used as +appropriate. For example, a cache size reported as "20 MB" looks nicer +than as "20480 kB". + +Signed-off-by: Jean Delvare +Acked-by: Neil Horman +--- + dmidecode.c | 17 +++++++++++------ + 1 file changed, 11 insertions(+), 6 deletions(-) + +diff --git a/dmidecode.c b/dmidecode.c +index 7ac6438..162e0c5 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -1560,17 +1560,22 @@ static void dmi_cache_size(u16 code) + + static void dmi_cache_size_2(u32 code) + { ++ u64 size; ++ + if (code & 0x80000000) + { + code &= 0x7FFFFFFFLU; +- /* Use a more convenient unit for large cache size */ +- if (code >= 0x8000) +- printf(" %u MB", code >> 4); +- else +- printf(" %u kB", code << 6); ++ size.l = code << 6; ++ size.h = code >> 26; + } + else +- printf(" %u kB", code); ++ { ++ size.l = code; ++ size.h = 0; ++ } ++ ++ /* Use a more convenient unit for large cache size */ ++ dmi_print_memory_size(size, 1); + } + + static void dmi_cache_types(u16 code, const char *sep) +-- +2.17.1 + diff --git a/SOURCES/0004-biosdecode-Add-option-pir-full.patch b/SOURCES/0004-biosdecode-Add-option-pir-full.patch deleted file mode 100644 index 36cfdee..0000000 --- a/SOURCES/0004-biosdecode-Add-option-pir-full.patch +++ /dev/null @@ -1,136 +0,0 @@ -From 6486331cf66e35bcf01e1c15c4396af68b6eb4d4 Mon Sep 17 00:00:00 2001 -From: Jean Delvare -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 - diff --git a/SOURCES/0004-dmidecode-Use-dmi_cache_size_2-in-dmi_cache_size.patch b/SOURCES/0004-dmidecode-Use-dmi_cache_size_2-in-dmi_cache_size.patch new file mode 100644 index 0000000..b34a414 --- /dev/null +++ b/SOURCES/0004-dmidecode-Use-dmi_cache_size_2-in-dmi_cache_size.patch @@ -0,0 +1,49 @@ +From 941591e24564e4c6d6584dbaa868976f9e80e925 Mon Sep 17 00:00:00 2001 +From: Jean Delvare +Date: Tue, 15 Jan 2019 12:59:08 +0100 +Subject: [PATCH 3/4] dmidecode: Use dmi_cache_size_2 in dmi_cache_size + +Redirect dmi_cache_size() to dmi_cache_size_2() so that the cache +size is always reported using the most appropriate unit, even if the +BIOS does not populate the 32-bit cache size fields. + +Signed-off-by: Jean Delvare +Acked-by: Neil Horman +--- + dmidecode.c | 13 +++++-------- + 1 file changed, 5 insertions(+), 8 deletions(-) + +diff --git a/dmidecode.c b/dmidecode.c +index 162e0c5..903ef35 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -1550,14 +1550,6 @@ static const char *dmi_cache_location(u8 code) + return location[code]; + } + +-static void dmi_cache_size(u16 code) +-{ +- if (code & 0x8000) +- printf(" %u kB", (code & 0x7FFF) << 6); +- else +- printf(" %u kB", code); +-} +- + static void dmi_cache_size_2(u32 code) + { + u64 size; +@@ -1578,6 +1570,11 @@ static void dmi_cache_size_2(u32 code) + dmi_print_memory_size(size, 1); + } + ++static void dmi_cache_size(u16 code) ++{ ++ dmi_cache_size_2((((u32)code & 0x8000LU) << 16) | (code & 0x7FFFLU)); ++} ++ + static void dmi_cache_types(u16 code, const char *sep) + { + /* 7.8.2 */ +-- +2.17.1 + diff --git a/SOURCES/0005-biosdecode-Clean-up-the-PIR-table-output.patch b/SOURCES/0005-biosdecode-Clean-up-the-PIR-table-output.patch deleted file mode 100644 index 7f8d8ae..0000000 --- a/SOURCES/0005-biosdecode-Clean-up-the-PIR-table-output.patch +++ /dev/null @@ -1,96 +0,0 @@ -From baeacaa7b9930badc074eaad3700b075ed9d622f Mon Sep 17 00:00:00 2001 -From: Jean Delvare -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 - diff --git a/SOURCES/0005-dmidecode-Add-Logical-non-volatile-device-to-the-mem.patch b/SOURCES/0005-dmidecode-Add-Logical-non-volatile-device-to-the-mem.patch new file mode 100644 index 0000000..db7c053 --- /dev/null +++ b/SOURCES/0005-dmidecode-Add-Logical-non-volatile-device-to-the-mem.patch @@ -0,0 +1,38 @@ +From 74dfb854b8199ddb0a27e89296fa565f4706cb9d Mon Sep 17 00:00:00 2001 +From: Jean Delvare +Date: Wed, 16 Jan 2019 09:04:55 +0100 +Subject: [PATCH 4/4] dmidecode: Add "Logical non-volatile device" to the + memory device types + +When adding support for non-volative memory, we forgot to add +"Logical non-volatile device" to the list of memory types. This +causes NVDIMM modules to show up as . Fix the problem +by adding the missing enumerated value. + +Signed-off-by: Jean Delvare +Reviewed-by: Jerry Hoemann +--- + dmidecode.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/dmidecode.c b/dmidecode.c +index 903ef35..91c6f62 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -2471,10 +2471,11 @@ static const char *dmi_memory_device_type(u8 code) + "LPDDR", + "LPDDR2", + "LPDDR3", +- "LPDDR4" /* 0x1E */ ++ "LPDDR4", ++ "Logical non-volatile device" /* 0x1F */ + }; + +- if (code >= 0x01 && code <= 0x1E) ++ if (code >= 0x01 && code <= 0x1F) + return type[code - 0x01]; + return out_of_spec; + } +-- +2.17.1 + diff --git a/SOURCES/0006-biosdecode-Avoid-repeating-pointer-arithmetic.patch b/SOURCES/0006-biosdecode-Avoid-repeating-pointer-arithmetic.patch deleted file mode 100644 index 2e568e1..0000000 --- a/SOURCES/0006-biosdecode-Avoid-repeating-pointer-arithmetic.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 2b5c925d19e1eeecf6a24809396fed2774ee0695 Mon Sep 17 00:00:00 2001 -From: Jean Delvare -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 - diff --git a/SOURCES/0007-dmioem-Reflect-HPE-s-new-company-name.patch b/SOURCES/0007-dmioem-Reflect-HPE-s-new-company-name.patch deleted file mode 100644 index c9a10fc..0000000 --- a/SOURCES/0007-dmioem-Reflect-HPE-s-new-company-name.patch +++ /dev/null @@ -1,141 +0,0 @@ -From ee07a1b4249560d620d05194eb8ff61b40d3ce23 Mon Sep 17 00:00:00 2001 -From: Jerry Hoemann -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 -Signed-off-by: Jean Delvare ---- - 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 - diff --git a/SOURCES/0008-dmioem-Sort-vendor-names-alphabetically.patch b/SOURCES/0008-dmioem-Sort-vendor-names-alphabetically.patch deleted file mode 100644 index 9414efd..0000000 --- a/SOURCES/0008-dmioem-Sort-vendor-names-alphabetically.patch +++ /dev/null @@ -1,134 +0,0 @@ -From 6517fa7c8c8a74a9eae9e6192de316ef8952f2a8 Mon Sep 17 00:00:00 2001 -From: Jean Delvare -Date: Thu, 14 Sep 2017 10:08:10 +0200 -Subject: [PATCH 08/10] dmioem: Sort vendor names alphabetically - -Signed-off-by: Jean Delvare ---- - 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 - diff --git a/SOURCES/0009-UEFI-support-on-FreeBSD.patch b/SOURCES/0009-UEFI-support-on-FreeBSD.patch deleted file mode 100644 index dc71bd3..0000000 --- a/SOURCES/0009-UEFI-support-on-FreeBSD.patch +++ /dev/null @@ -1,90 +0,0 @@ -From e629bccb2ced5f9e52e142bd841d310434975c63 Mon Sep 17 00:00:00 2001 -From: Alexey Dokuchaev -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 - #include - -+#ifdef __FreeBSD__ -+#include -+#include -+#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 - diff --git a/SOURCES/0010-dmidecode-Share-common-EFI-code.patch b/SOURCES/0010-dmidecode-Share-common-EFI-code.patch deleted file mode 100644 index 0eedc52..0000000 --- a/SOURCES/0010-dmidecode-Share-common-EFI-code.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 97d23fb9a642574ef4415e71e4a01387d06744d6 Mon Sep 17 00:00:00 2001 -From: Jean Delvare -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 - diff --git a/SPECS/dmidecode.spec b/SPECS/dmidecode.spec index 5f03699..5efe7c2 100644 --- a/SPECS/dmidecode.spec +++ b/SPECS/dmidecode.spec @@ -1,25 +1,17 @@ Summary: Tool to analyse BIOS DMI data Name: dmidecode -Version: 3.1 -Release: 2%{?dist} +Version: 3.2 +Release: 3%{?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 +Patch0: 0001-dmidecode-Fix-Redfish-Hostname-print-length.patch +Patch1: 0002-dmidecode-Don-t-use-memcpy-on-dev-mem-on-arm64.patch +Patch2: 0003-dmidecode-Use-the-most-appropriate-unit-for-cache-si.patch +Patch3: 0004-dmidecode-Use-dmi_cache_size_2-in-dmi_cache_size.patch +Patch4: 0005-dmidecode-Add-Logical-non-volatile-device-to-the-mem.patch Buildroot: %{_tmppath}/%{name}-%{version}-root BuildRequires: automake autoconf @@ -38,19 +30,11 @@ 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 +%patch0 -p1 -b .fix_Redfish_print +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 %build make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS -fPIE" LDFLAGS="-pie -Wl,-z,now" @@ -75,6 +59,14 @@ rm -rf ${buildroot} %{_mandir}/man8/* %changelog +* Fri Apr 26 2019 Lianbo Jiang - 1:3.2-3 +- Add "Logical non-volatile device" to the memory device types +- Resolves: rhbz#1664921 + +* Tue Nov 6 2018 Lianbo Jiang - 1:3.2-1 +- Sync with upstream 3.2 +- Resolves: rhbz#1628992 + * Thu Apr 26 2018 Lianbo Jiang - 1:3.1-1 - Sync with upstream - Resolves: rhbz#1568227