
On 12/15/23 18:46, Andy Shevchenko wrote:
On Fri, Dec 15, 2023 at 05:40:16PM +0100, Heinrich Schuchardt wrote:
On non x86 platforms the hardware reduce flag must be set in the FADT table. Write an error message if the flag is missing.
...
- if (!IS_ENABLED(CONFIG_X86) &&
!(fadt->flags & ACPI_FADT_HW_REDUCED_ACPI))
log_err("FADT not ACPI hardware reduced compliant\n");
I guess it's half baked solution as this, HW reduced, flag adds more limitations even on x86. If you want a good validation it should be done in a separate function taking others aspects into account.
But since it doesn't affect my area of interest in U-Boot, I won't prevent you from doing this way, it's up to the U-Boot maintainers how to proceed with it.
This flag is checked by Linux. It won't boot at all if the flag is not set on arm64 or riscv64. See arch/arm64/kernel/acpi.c and arch/riscv/kernel/acpi.c, function acpi_fadt_sanity_check().
Once you have booted you can use the Firmware Test Suite (FWTS) to check the rest. I don't plan rewriting such a validation in U-Boot.
Best regards
Heinrich