On Wed, Jan 22, 2025 at 05:23:48AM +0900, FUKAUMI Naoki wrote:
> On 1/21/25 22:33, FUKAUMI Naoki wrote:
> > Hi Mark,
> > 
> > On 1/21/25 07:07, Mark Kettenis wrote:
> > > > > > With "ACPI" I can use the serial console with efiboot, but the 
> > > > > > kernel
> > > > > > output only shows up on the display after the kernel is loaded.
> > > > > 
> > > > > To support the serial console in "ACPI" mode, an SPCR table is needed.
> > > > > Probably something that should be enabled in your EDK II build.
> > > > 
> > > > It looks like the SPCR is compiled and built in, but I'm not familiar
> > > > with EDK II...
> > > 
> > > The OpenBSD bootloader prints the list of ACPI tables and SPCR isn't
> > > printed in the screenshot you made.  It might be built in, but not
> > > enabled.  There might be an option in the EDK II firmware setup menu
> > > to enable serial console redirection.
> > 
> > I checked the UEFI again, but I'm not sure if SPCR is built in and
> > enabled...
> > 
> > > > At least the serial console works under mainline Linux in ACPI mode.
> > > 
> > > Linux might be looking at the DBG2 table, which is present.  OpenBSD
> > > doesn't look at that yet.  But I'm looking into that now.  If the
> > > Orion O6 board is primarily targeted at people building some sort of
> > > desktop machine rather than a server, it might actually make sense to
> > > only provide DBG2 and not SPCR.  Such a configuration would indicate
> > > that the framebuffer should be the default output choice, but that a
> > > serial port is available for debug output.  The OpenBSD implementation
> > > I'm considering is that one could switch to serial console in this
> > > case by typing something like "set tty com0" at the boot> prompt.
> > 
> > I checked mainline Linux dmesg (acpi),
> > 
> > | [    0.000000] ACPI: Use ACPI SPCR as default console: Yes
> > 
> > I don't understand what's going on.
> 
> This doesn't seem to make sense, so SPCR must be added/enabled in UEFI.

That print comes out of arch/arm64/kernel/acpi.c and only reflects what
is set as boot option:

        acpi_parse_spcr(earlycon_acpi_spcr_enable,
                !param_acpi_nospcr);
        pr_info("Use ACPI SPCR as default console: %s\n",
                        param_acpi_nospcr ? "No" : "Yes");

If you look at your full dmesg you can see all the tables:

[    0.000000] ACPI: RSDP 0x0000000479C30018 000024 (v02 CIXTEK)
[    0.000000] ACPI: XSDT 0x0000000479C3FE98 000074 (v01 CIXTEK SKY1EDK2 
01000101      01000013)
[    0.000000] ACPI: FACP 0x0000000479C3FC98 00010C (v05 CIXTEK SKY1EDK2 
01000101 CIX  00000001)
[    0.000000] ACPI: DSDT 0x0000000479C10018 012C20 (v05 CIXTEK SKY1EDK2 
00000001 INTL 20200925)
[    0.000000] ACPI: SSDT 0x0000000479C37518 002FCA (v05 CIXTEK SKY1EDK2 
00000001 INTL 20200925)
[    0.000000] ACPI: CSRT 0x0000000479C3FA98 00008C (v00 CIXTEK SKY1EDK2 
01000101 CIX  00000001)
[    0.000000] ACPI: DBG2 0x0000000479C3FB98 00005C (v00 CIXTEK SKY1EDK2 
01000101 CIX  00000001)
[    0.000000] ACPI: GTDT 0x0000000479C3E998 000084 (v03 CIXTEK SKY1EDK2 
01000101 CIX  00000001)
[    0.000000] ACPI: IORT 0x0000000479C3BD18 000AD8 (v05 CIXTEK SKY1EDK2 
01000101 CIX  00000001)
[    0.000000] ACPI: SDEI 0x0000000479C3FE18 000024 (v01 CIXTEK SKY1EDK2 
01000101 CIX  00000001)
[    0.000000] ACPI: APIC 0x0000000479C3EA98 000428 (v05 CIXTEK SKY1EDK2 
01000101 CIX  00000001)
[    0.000000] ACPI: SSDT 0x0000000479C3CE18 0011FC (v02 CIXTEK SKY1EDK2 
01000101 CIX  00000001)
[    0.000000] ACPI: MCFG 0x0000000479C3F918 00006C (v01 CIXTEK SKY1EDK2 
01000101 CIX  00000001)

There's no SPCR, only DBG2.  So either there's a way in edk2 to enable
SPCR (there surely is, albeit maybe in code not in the user interface),
or we wait for Mark to have a diff for DBG2.

Cheers,
Patirck

> > Here is full dmesg:
> > https://drive.google.com/file/d/1islmdKWJUOnFoJLP3lNv3hyMoVXhv6yl/view?
> > usp=sharing
> > 
> > Best regards,
> > 
> > -- 
> > FUKAUMI Naoki
> > Radxa Computer (Shenzhen) Co., Ltd.
> 

Reply via email to