RedfishPkg: Drop ARM support

Redfish uses JsonLib, which supports encoding real numbers. This
handling is implemented using C floating point types, which means that
on 32-bit ARM, a softfloat library is required, even though the CPUs we
still (marginally) care about all support floating point in hardware.

The UEFI spec does not permit the use of floating point on ARM at all,
and so the correct thing to do here is to simply disable this driver on
32-bit ARM entirely.

Note that the ARM platform code does allow the VFP unit to be enabled at
boot time, and so rebuilding this driver with hardware FP should be
feasible, in case anyone has an interest in running it on a 32-bit ARM
system.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
This commit is contained in:
Ard Biesheuvel 2024-08-29 20:13:48 +02:00 committed by mergify[bot]
parent f73f7b2318
commit 98f4d35aae
2 changed files with 2 additions and 8 deletions

View File

@ -19,7 +19,7 @@
UNLOAD_IMAGE = RedfishHttpDriverUnload
#
# VALID_ARCHITECTURES = IA32 X64 ARM AARCH64 RISCV64
# VALID_ARCHITECTURES = IA32 X64 AARCH64 RISCV64
#
[Sources]
@ -36,9 +36,6 @@
NetworkPkg/NetworkPkg.dec
RedfishPkg/RedfishPkg.dec
[LibraryClasses.ARM]
ArmSoftFloatLib
[LibraryClasses]
BaseLib
BaseMemoryLib

View File

@ -16,7 +16,7 @@
PLATFORM_VERSION = 1.0
DSC_SPECIFICATION = 0x0001001c
OUTPUT_DIRECTORY = Build/RedfishPkg
SUPPORTED_ARCHITECTURES = IA32|X64|ARM|AARCH64|RISCV64
SUPPORTED_ARCHITECTURES = IA32|X64|AARCH64|RISCV64
BUILD_TARGETS = DEBUG|RELEASE|NOOPT
SKUID_IDENTIFIER = DEFAULT
@ -52,9 +52,6 @@
IpmiLib|MdeModulePkg/Library/BaseIpmiLibNull/BaseIpmiLibNull.inf
IpmiCommandLib|MdeModulePkg/Library/BaseIpmiCommandLibNull/BaseIpmiCommandLibNull.inf
[LibraryClasses.ARM, LibraryClasses.AARCH64]
ArmSoftFloatLib|ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf
[Components]
RedfishPkg/Library/PlatformHostInterfaceLibNull/PlatformHostInterfaceLibNull.inf
RedfishPkg/Library/PlatformHostInterfaceBmcUsbNicLib/PlatformHostInterfaceBmcUsbNicLib.inf