Blame SOURCES/0040-Report-correct-memory-size-on-SMBIOS-2.7.patch

121cca
From 5c4bfb1a4baae1bea11cc9f629bc48ee12e733a7 Mon Sep 17 00:00:00 2001
121cca
From: Lyonel Vincent <lyonel@ezix.org>
121cca
Date: Sun, 10 Jan 2021 00:38:10 +0100
121cca
Subject: [PATCH 40/65] Report correct memory size on SMBIOS < 2.7
121cca
121cca
Github PR#60
121cca
---
121cca
 src/core/dmi.cc | 11 +++++++----
121cca
 1 file changed, 7 insertions(+), 4 deletions(-)
121cca
121cca
diff --git a/src/core/dmi.cc b/src/core/dmi.cc
121cca
index 30b3ab3..d33d487 100644
121cca
--- a/src/core/dmi.cc
121cca
+++ b/src/core/dmi.cc
121cca
@@ -1567,10 +1567,13 @@ int dmiversionrev)
121cca
 
121cca
 // size
121cca
           u = data[0x0D] << 8 | data[0x0C];
121cca
-          if(u == 0x7FFF) {
121cca
-             unsigned long long extendsize = (data[0x1F] << 24) | (data[0x1E] << 16) | (data[0x1D] << 8) | data[0x1C];
121cca
-             extendsize &= 0x7FFFFFFFUL;
121cca
-             size = extendsize * 1024ULL * 1024ULL;
121cca
+          if ((dmiversionmaj > 2)
121cca
+            || ((dmiversionmaj == 2) && (dmiversionmin >= 7))) {
121cca
+             if(u == 0x7FFF) {
121cca
+                unsigned long long extendsize = (data[0x1F] << 24) | (data[0x1E] << 16) | (data[0x1D] << 8) | data[0x1C];
121cca
+                extendsize &= 0x7FFFFFFFUL;
121cca
+                size = extendsize * 1024ULL * 1024ULL;
121cca
+             }
121cca
           }
121cca
 	  else
121cca
           if (u != 0xFFFF)
121cca
-- 
121cca
2.33.1
121cca