update verion to 3.3

This commit is contained in:
zhouwenpei 2021-11-30 20:22:35 +08:00
parent 3f899f7afb
commit cbfb54a34f
7 changed files with 5 additions and 202 deletions

Binary file not shown.

BIN
dmidecode-3.3.tar.xz Normal file

Binary file not shown.

View File

@ -1,38 +0,0 @@
From 74dfb854b8199ddb0a27e89296fa565f4706cb9d Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Wed, 16 Jan 2019 09:04:55 +0100
Subject: [PATCH 5/8] 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 <OUT OF SPEC>. Fix the problem
by adding the missing enumerated value.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Jerry Hoemann <jerry.hoemann@hpe.com>
---
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;
}
--
1.8.3.1

View File

@ -1,72 +0,0 @@
From 82497fa02d60757c2cfa645cf89a79abb1435273 Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Fri, 16 Nov 2018 11:18:25 +0100
Subject: [PATCH 2/8] 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 <jdelvare@suse.de>
---
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)
{
--
1.8.3.1

View File

@ -1,31 +0,0 @@
From fde47bb227b8fa817c88d7e10a8eb771c46de1df Mon Sep 17 00:00:00 2001
From: Charles Rose <Charles.Rose@dell.com>
Date: Mon, 22 Oct 2018 09:48:02 +0200
Subject: [PATCH 1/8] dmidecode: Fix Redfish Hostname print length
Redfish Hostname prints beyond hlen characters. Fix it.
Signed-off-by: Charles Rose <charles.rose@dell.com>
Fixes: 78539b06117c ("dmidecode: Parse Modern Management Controller blocks")
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
---
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);
}
/*
--
1.8.3.1

View File

@ -1,53 +0,0 @@
From c43afb47fcbadabe2655fe7863a1e2ea9af1446c Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Tue, 15 Jan 2019 12:59:00 +0100
Subject: [PATCH 3/8] 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 <jdelvare@suse.de>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
---
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)
--
1.8.3.1

View File

@ -1,6 +1,6 @@
Name: dmidecode
Version: 3.2
Release: 2
Version: 3.3
Release: 1
Epoch: 1
Summary: DMI data report tool
@ -8,12 +8,6 @@ License: GPLv2+
URL: https://www.nongnu.org/dmidecode/
Source0: http://download.savannah.gnu.org/releases/dmidecode/%{name}-%{version}.tar.xz
Patch6000: bugfix-compat_uuid.patch
Patch6001: dmidecode-Fix-Redfish-Hostname-print-length.patch
Patch6002: dmidecode-Don-t-use-memcpy-on-dev-mem-on-arm64.patch
Patch6003: dmidecode-Use-the-most-appropriate-unit-for-cache-si.patch
Patch6004: dmidecode-Add-Logical-non-volatile-device-to-the-mem.patch
BuildRequires: make gcc xz
ExclusiveArch: %{ix86} x86_64 ia64 aarch64 amd64
@ -54,5 +48,8 @@ make %{?_smp_mflags} CFLAGS="%{__global_cflags}" LDFLAGS="%{__global_ldflags}"
%{_mandir}/man8/*.8.gz
%changelog
* Tue Nov 30 2021 zhouwenpei <zhouwenpei1@huawei.com> - 3.3-1
- update to 3.3
* Wed Aug 21 2019 openEuler Buildteam <buildteam@openeuler.org> - 1:3.2-2
- Package init