Re: [PATCH] riscv: acpi: update FADT revision check to 6.6
From: Yao Zi
Date: Thu Mar 05 2026 - 09:22:29 EST
On Thu, Mar 05, 2026 at 02:00:50PM +0100, Heinrich Schuchardt wrote:
> 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.
I don't think so, this condition only decides whether an error is
printed as firmware bug when the kernel encountering pre-6.6 FADTs,
and the rest boot process should remain untouched. So it in fact breaks
nothing.
> 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);
Here pr_err() is the only statement enclosed by the if.
> > if (!(fadt->flags & ACPI_FADT_HW_REDUCED)) {
Reviewed-by: Yao Zi <me@xxxxxxxx>
Regards,
Yao Zi