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
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.
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.