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