Hi Andy,
As described in #51 that if CSM Support is disabled in AMI Bios ipmiutils fails. This is because SMBIOS entry address is not present in 0xF0000. On more investigation we found that SM BIOS entry point is present at 0x6d5a7000 and 0xF0000 when CSM Support is enabled and at 0x0x6d5a7000 when CSM Support is disabled. So I think 0xF0000 might be to support legacy BIOS and in Uefi bios this may not be required. If we issue the dmidecode command to not use sysfs (dmidecode --no-sysfs) dmidecode find address 0x0x6d5a7000 from the file /sys/firmware/efi/systab. Can ipmiutils use the dmidecode way to find smbios entry address? This will allow ipmiutils to handle both legacy bios and Uefi BIOS cases well.
cat /sys/firmware/efi/systab
MPS=0xfcc50
ACPI20=0x6933e014
ACPI=0x6933e000
SMBIOS3=0x6d5a7000
SMBIOS=0x6d5a8000
Thanks
Arvind
That makes sense. Thanks for doing the research to present it this way. We would need to leverage /sys/firmware/efi/systab (in Linux only, not Windows, other) to support this method.
A fix for this is now published in ipmiutil-3.1.9 at http://ipmiutil.sf.net
In order for it to be handled in Linux, Windows, BSD, etc., I used the literal 0x6d5a7000 instead of getting it from systab.