arch/riscv/kernel/acpi.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
From: Yufeng Wang <wangyufeng@kylinos.cn>
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.
Signed-off-by: Yufeng Wang <wangyufeng@kylinos.cn>
---
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)) {
--
2.34.1
On Thu, 5 Mar 2026, rom.wang wrote: > From: Yufeng Wang <wangyufeng@kylinos.cn> > > 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. > > Signed-off-by: Yufeng Wang <wangyufeng@kylinos.cn> Thanks, queued for v7.1. - Paul
On Thu, Mar 5, 2026 at 2:45 PM rom.wang <r4o5m6e8o@163.com> wrote: > > From: Yufeng Wang <wangyufeng@kylinos.cn> > > 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. > > Signed-off-by: Yufeng Wang <wangyufeng@kylinos.cn> > --- > 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); > LGTM. Thanks! Reviewed-by: Sunil V L <sunilvl@oss.qualcomm.com>
On 3/5/26 10:14, rom.wang wrote:
> From: Yufeng Wang <wangyufeng@kylinos.cn>
>
> 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@canonical.com>
>
> Signed-off-by: Yufeng Wang <wangyufeng@kylinos.cn>
> ---
> 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)) {
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@kylinos.cn>
> >
> > 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@canonical.com>
>
> >
> > Signed-off-by: Yufeng Wang <wangyufeng@kylinos.cn>
> > ---
> > 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@ziyao.cc>
Regards,
Yao Zi
© 2016 - 2026 Red Hat, Inc.