[PATCH 0/2] ACPI: Improve SPCR handling and messaging on SPCR-less systems

Li Chen posted 2 patches 10 months, 2 weeks ago
There is a newer version of this series
arch/arm64/kernel/acpi.c | 9 ++++++---
include/linux/acpi.h     | 2 +-
2 files changed, 7 insertions(+), 4 deletions(-)
[PATCH 0/2] ACPI: Improve SPCR handling and messaging on SPCR-less systems
Posted by Li Chen 10 months, 2 weeks ago
From: Li Chen <chenl311@chinatelecom.cn>

This small series improves the kernel behavior and output when the ACPI SPCR
table is not present or not supported.

Currently, even on systems that completely lack an SPCR table, the kernel prints:
"Use ACPI SPCR as default console: Yes"

Or if with acpi=nospcr:
"Use ACPI SPCR as default console: No"

This may mislead users into thinking an SPCR table exists
when in fact there is no such table at all. This series addresses this in two steps:

Patch 1 ensures that acpi_parse_spcr() returns -ENODEV if CONFIG_ACPI_SPCR_TABLE is disabled.

Patch 2 updates arm64 acpi_boot_table_init() to only print the SPCR console message
if acpi_parse_spcr() succeeds.

This results in cleaner and more accurate boot logs on ARM64.

Tested on both SPCR-enabled and SPCR-less qemu-system arm64 virt platform. [1]

[1]: https://patchew.org/QEMU/20250528105404.457729-1-me@linux.beauty/

Li Chen (2):
  ACPI: Return -ENODEV from acpi_parse_spcr() when SPCR support is
    disabled
  ACPI: Suppress misleading SPCR console message when SPCR table is
    absent

 arch/arm64/kernel/acpi.c | 9 ++++++---
 include/linux/acpi.h     | 2 +-
 2 files changed, 7 insertions(+), 4 deletions(-)

-- 
2.49.0
Re: [PATCH 0/2] ACPI: Improve SPCR handling and messaging on SPCR-less systems
Posted by Hanjun Guo 10 months ago
Hi Li Chen,

On 2025/6/6 15:27, Li Chen wrote:
> From: Li Chen <chenl311@chinatelecom.cn>
> 
> This small series improves the kernel behavior and output when the ACPI SPCR
> table is not present or not supported.
> 
> Currently, even on systems that completely lack an SPCR table, the kernel prints:
> "Use ACPI SPCR as default console: Yes"

Agreed, this is wrong, we need to fix it.

> 
> Or if with acpi=nospcr:
> "Use ACPI SPCR as default console: No"

I think this is OK, it's just to let you know we are not
using ACPI SPCR console when ACPI is enabled, including
cases with no SPCR table.

> 
> This may mislead users into thinking an SPCR table exists
> when in fact there is no such table at all. This series addresses this in two steps:
> 
> Patch 1 ensures that acpi_parse_spcr() returns -ENODEV if CONFIG_ACPI_SPCR_TABLE is disabled.
> 
> Patch 2 updates arm64 acpi_boot_table_init() to only print the SPCR console message
> if acpi_parse_spcr() succeeds.

I have some detail comments for patch 2.

Thanks
Hanjun
Re: [PATCH 0/2] ACPI: Improve SPCR handling and messaging on SPCR-less systems
Posted by Li Chen 10 months ago
Gentle ping incase of forgotten.

 ---- On Fri, 06 Jun 2025 15:27:43 +0800  Li Chen <me@linux.beauty> wrote --- 
 > From: Li Chen <chenl311@chinatelecom.cn>
 > 
 > This small series improves the kernel behavior and output when the ACPI SPCR
 > table is not present or not supported.
 > 
 > Currently, even on systems that completely lack an SPCR table, the kernel prints:
 > "Use ACPI SPCR as default console: Yes"
 > 
 > Or if with acpi=nospcr:
 > "Use ACPI SPCR as default console: No"
 > 
 > This may mislead users into thinking an SPCR table exists
 > when in fact there is no such table at all. This series addresses this in two steps:
 > 
 > Patch 1 ensures that acpi_parse_spcr() returns -ENODEV if CONFIG_ACPI_SPCR_TABLE is disabled.
 > 
 > Patch 2 updates arm64 acpi_boot_table_init() to only print the SPCR console message
 > if acpi_parse_spcr() succeeds.
 > 
 > This results in cleaner and more accurate boot logs on ARM64.
 > 
 > Tested on both SPCR-enabled and SPCR-less qemu-system arm64 virt platform. [1]
 > 
 > [1]: https://patchew.org/QEMU/20250528105404.457729-1-me@linux.beauty/
 > 
 > Li Chen (2):
 >   ACPI: Return -ENODEV from acpi_parse_spcr() when SPCR support is
 >     disabled
 >   ACPI: Suppress misleading SPCR console message when SPCR table is
 >     absent
 > 
 >  arch/arm64/kernel/acpi.c | 9 ++++++---
 >  include/linux/acpi.h     | 2 +-
 >  2 files changed, 7 insertions(+), 4 deletions(-)
 > 
 > -- 
 > 2.49.0
 > 
 > 

Regards,
Li