ACPI

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Sat Dec 16 01:45:01 PST 2023


Hello Anup,

different RISC-V platforms have chosen to generate ACPI tables in 
edk2-platforms.

With u-boot-next we can pass ACPI tables generated by 
qemu-system-riscv64 as EFI configuration table to the OS. For x86 
platforms the generation of ACPI tables has been implemented inside 
U-Boot. The same could be done for RISC-V.

Wouldn't it be preferable to move the generation of ACPI tables to the 
OpenSBI layer?

These are the advantages I see:

* Different UEFI implementations don't have to duplicate code. For 
instance you could have a very thin EFI implementation that is just good 
enough to call the Linux entry point (see the discussion about 
Coreboot). Or you could easily switch between EDK II and U-Boot without 
rewriting ACPI related code.

* As far as ACPI tables can be derived from device-trees we could use 
common library functions to generate the tables for all platforms.

To pass ACPI tables from OpenSBI to U-Boot or EDK II we could use a 
device-tree node.

Best regards

Heinrich



More information about the opensbi mailing list