From f3e566163ff7d3cc6f407d19bc684e81833d2138 Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Thu, 8 Mar 2012 02:00:52 +0000 Subject: [PATCH] Work around broken BIOS memory reporting Andrzej has a machine with 32GB of RAM, but only 16GB is reported by the smbios.memory.enabled. Thus, use the greater of hw.realmem and the smbios value. Reported by: Andrzej Tobola --- usr.sbin/pc-sysinstall/backend-query/sys-mem.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/usr.sbin/pc-sysinstall/backend-query/sys-mem.sh b/usr.sbin/pc-sysinstall/backend-query/sys-mem.sh index 3109aa10903..a7263708f13 100755 --- a/usr.sbin/pc-sysinstall/backend-query/sys-mem.sh +++ b/usr.sbin/pc-sysinstall/backend-query/sys-mem.sh @@ -26,7 +26,14 @@ # $FreeBSD$ if smbios_mem=$(kenv -q smbios.memory.enabled); then - expr $smbios_mem / 1024 + smbios_mem=$(expr $smbios_mem / 1024) else - expr $(sysctl -n hw.realmem) / 1048576 + smbios_mem=0 +fi +realmem=$(expr $(sysctl -n hw.realmem) / 1048576) + +if [ $smbios_mem -gt $realmem ]; then + echo $smbios_mem +else + echo $realmem fi