dmidecode/0003-dmidecode-Use-the-most-appropriate-unit-for-cache-si.patch
Petr Šabata 021502ebf0 RHEL 9.0.0 Alpha bootstrap
The content of this branch was automatically imported from Fedora ELN
with the following as its source:
https://src.fedoraproject.org/rpms/dmidecode#04cccb08c8cb4b2143d0067d74688fc5189bfc79
2020-10-14 23:42:23 +02:00

54 lines
1.4 KiB
Diff

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 03/18] 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)
--
2.24.0