]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
ipmi: support getting address from EFI
authorYinlong Lu <yinlong.lu@dell.com>
Thu, 29 Apr 2021 10:04:36 +0000 (05:04 -0500)
committerEric van Gyzen <vangyzen@FreeBSD.org>
Thu, 3 Mar 2022 14:20:07 +0000 (08:20 -0600)
commita7b187860cb784fb76bd9142f6ae6c53ec5d7f42
tree23eb1b6a62b6bd73fd42f5bad81e125c39ee963e
parent0ea19e39ff050b3267d17a4d5209349b77e0b28c
ipmi: support getting address from EFI

The original implementation only supports getting the address from legacy
BIOS (by searching for the SMBIOS_SIG pattern in a fixed address space).

Try to get the SMBIOS table from EFI through efirt (EFI Runtime Services)
firstly.  Continue to search in the legacy BIOS if a NULL address is
returned from EFI.

By this way the ipmi function supports both legacy BIOS and UEFI systems.

Reviewed by: dab, vangyzen
MFC after: 1 week
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D30007

(cherry picked from commit ee8b757a949a9575c7355ea01f0475e0c526b9e5)
sys/dev/ipmi/ipmi_isa.c
sys/dev/ipmi/ipmi_pci.c
sys/dev/ipmi/ipmi_smbios.c
sys/dev/ipmi/ipmi_smbus.c