Re: [PATCH] riscv: acpi: update FADT revision check to 6.6

From: Heinrich Schuchardt

Date: Thu Mar 05 2026 - 08:04:19 EST


On 3/5/26 10:14, rom.wang wrote:
From: Yufeng Wang <wangyufeng@xxxxxxxxxx>

ACPI 6.6 is required for RISC-V as it introduces RISC-V specific
tables such as RHCT (RISC-V Hart Capabilities Table) and
RIMT (RISC-V I/O Mapping Table).

Update the FADT revision check from 6.5 to 6.6 and remove
the TODO comment since ACPI 6.6 has been officially released.

If I understand the change correctly:

After the patch QEMU v10.0.0 will stop to boot Linux via ACPI.
QEMU v10.1.0 will be supported as it indicates revision 6.6.
See function build_fadt_rev6() in qemu/hw/riscv/virt-acpi-build.c.

For Ubuntu this is not an issue as it is on QEMU 10.1 on recent releases (https://launchpad.net/ubuntu/+source/qemu).
Fedora 43 also has QEMU 10.1 (https://packages.fedoraproject.org/pkgs/qemu/qemu/).
Suse Tumbleweed has 10.2.1 (https://software.opensuse.org/package/qemu).

Stable Debian Trixie using 10.0 will be impacted (https://packages.debian.org/trixie/qemu-system-misc). Debian Testing has 10.2.

Acked-by: Heinrich Schuchardt <heinrich.schuchardt@xxxxxxxxxxxxx>


Signed-off-by: Yufeng Wang <wangyufeng@xxxxxxxxxx>
---
arch/riscv/kernel/acpi.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/riscv/kernel/acpi.c b/arch/riscv/kernel/acpi.c
index 71698ee11621..ff681db9f4f1 100644
--- a/arch/riscv/kernel/acpi.c
+++ b/arch/riscv/kernel/acpi.c
@@ -85,12 +85,12 @@ static int __init acpi_fadt_sanity_check(void)
* The revision in the table header is the FADT's Major revision. The
* FADT also has a minor revision, which is stored in the FADT itself.
*
- * TODO: Currently, we check for 6.5 as the minimum version to check
- * for HW_REDUCED flag. However, once RISC-V updates are released in
- * the ACPI spec, we need to update this check for exact minor revision
+ * ACPI 6.6 is required for RISC-V as it introduces RISC-V specific
+ * tables such as RHCT (RISC-V Hart Capabilities Table) and RIMT
+ * (RISC-V I/O Mapping Table).
*/
- if (table->revision < 6 || (table->revision == 6 && fadt->minor_revision < 5))
- pr_err(FW_BUG "Unsupported FADT revision %d.%d, should be 6.5+\n",
+ if (table->revision < 6 || (table->revision == 6 && fadt->minor_revision < 6))
+ pr_err(FW_BUG "Unsupported FADT revision %d.%d, should be 6.6+\n",
table->revision, fadt->minor_revision);
if (!(fadt->flags & ACPI_FADT_HW_REDUCED)) {