2024-05-30 01:54:15

by Liu Wei

[permalink] [raw]
Subject: [PATCH] ACPI: Do not enable ACPI SPCR console by default on arm64

Consistency with x86 and loongarch, don't enable ACPI SPCR console
by default on arm64

Signed-off-by: Liu Wei <[email protected]>
---
arch/arm64/kernel/acpi.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c
index dba8fcec7f33..1deda3e5a0d2 100644
--- a/arch/arm64/kernel/acpi.c
+++ b/arch/arm64/kernel/acpi.c
@@ -227,7 +227,8 @@ void __init acpi_boot_table_init(void)
if (earlycon_acpi_spcr_enable)
early_init_dt_scan_chosen_stdout();
} else {
- acpi_parse_spcr(earlycon_acpi_spcr_enable, true);
+ /* Do not enable ACPI SPCR console by default */
+ acpi_parse_spcr(earlycon_acpi_spcr_enable, false);
if (IS_ENABLED(CONFIG_ACPI_BGRT))
acpi_table_parse(ACPI_SIG_BGRT, acpi_parse_bgrt);
}
--
2.42.1





2024-05-30 13:07:48

by Prarit Bhargava

[permalink] [raw]
Subject: Re: [PATCH] ACPI: Do not enable ACPI SPCR console by default on arm64

On 5/29/24 21:53, Liu Wei wrote:
> Consistency with x86 and loongarch, don't enable ACPI SPCR console
> by default on arm64
>
> Signed-off-by: Liu Wei <[email protected]>
> ---
> arch/arm64/kernel/acpi.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c
> index dba8fcec7f33..1deda3e5a0d2 100644
> --- a/arch/arm64/kernel/acpi.c
> +++ b/arch/arm64/kernel/acpi.c
> @@ -227,7 +227,8 @@ void __init acpi_boot_table_init(void)
> if (earlycon_acpi_spcr_enable)
> early_init_dt_scan_chosen_stdout();
> } else {
> - acpi_parse_spcr(earlycon_acpi_spcr_enable, true);
> + /* Do not enable ACPI SPCR console by default */
> + acpi_parse_spcr(earlycon_acpi_spcr_enable, false);
> if (IS_ENABLED(CONFIG_ACPI_BGRT))
> acpi_table_parse(ACPI_SIG_BGRT, acpi_parse_bgrt);
> }

It's been a while, and the status of arm hardware may have changed.
IIRC the choice to force enable this is that most arm hardware is
headless and this was a _required_ option for booting.

I'm not sure if that's still the case as it's been a long time.

Can anyone from the ARM community provide an approval here?

P.


2024-05-31 01:58:34

by Liu Wei

[permalink] [raw]
Subject: Re: [PATCH] ACPI: Do not enable ACPI SPCR console by default on arm64

From: Prarit Bhargava <[email protected]>

On 5/29/24 21:53, Liu Wei wrote:
> > Consistency with x86 and loongarch, don't enable ACPI SPCR console
> > by default on arm64
> >
> > Signed-off-by: Liu Wei <[email protected]>
> > ---
> > arch/arm64/kernel/acpi.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c
> > index dba8fcec7f33..1deda3e5a0d2 100644
> > --- a/arch/arm64/kernel/acpi.c
> > +++ b/arch/arm64/kernel/acpi.c
> > @@ -227,7 +227,8 @@ void __init acpi_boot_table_init(void)
> > if (earlycon_acpi_spcr_enable)
> > early_init_dt_scan_chosen_stdout();
> > } else {
> > - acpi_parse_spcr(earlycon_acpi_spcr_enable, true);
> > + /* Do not enable ACPI SPCR console by default */
> > + acpi_parse_spcr(earlycon_acpi_spcr_enable, false);
> > if (IS_ENABLED(CONFIG_ACPI_BGRT))
> > acpi_table_parse(ACPI_SIG_BGRT, acpi_parse_bgrt);
> > }
>
> It's been a while, and the status of arm hardware may have changed.
> IIRC the choice to force enable this is that most arm hardware is
> headless and this was a _required_ option for booting.
>
> I'm not sure if that's still the case as it's been a long time.
>
> Can anyone from the ARM community provide an approval here?
>
> P.

Though most ARM devices are headless, with the increasing number of ARM servers
or desktops, if the SPCR table from ACPI is still used as the default console
on ARM, the console behavior on ARM architecture will differ from other
architecture servers.

A similar effect can be achieved by adding console=tty0 in kernel cmdline, but
I think it is important to ensure consistency among different architecture
strategies as much as possible.

Thanks for your patient explanation.