Project

General

Profile

Actions

Bug #614

open

USE_OPTION_TABLE=y with HAVE_ACPI_RESUME=y build Error 1 on baytrail

Added by Walter Sonius 6 days ago. Updated 4 days ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
10/19/2025
Due date:
% Done:

0%

Estimated time:
Affected versions:
Needs backport to:
Affected hardware:
baytrail
Affected OS:

Description

On multiple tested Baytrail platforms, building coreboot errors when enabling CMOS support USE_OPTION_TABLE and HAVE_ACPI_RESUME active, while the later is the default for most platforms.

Affected hardware:

Affected coreboot versions:

coreboot 25.06-77-g812d0e2f626d
coreboot 25.09-70-g98a54453284e

Reproduce:

make distclean
touch .config
./util/scripts/config --enable VENDOR_BOSTENTECH
./util/scripts/config --enable BOARD_BOSTENTECH_GBYT4

./util/scripts/config --enable USE_OPTION_TABLE
make olddefconfig

make

Error message:

...
    CC         bootblock/southbridge/intel/common/spi.o
    CC         bootblock/superio/ite/common/early_serial.o
    CC         bootblock/superio/ite/common/gpio.o
    LINK       cbfs/fallback/bootblock.debug
/home/neon/Desktop/coreboot/util/crossgcc/xgcc/bin/i386-elf-ld.bfd: section .car.mrc_var LMA wraps around address space
/home/neon/Desktop/coreboot/util/crossgcc/xgcc/bin/i386-elf-ld.bfd: build/bootblock/drivers/pc80/rtc/option.o: in function `acpi_is_wakeup_s3':
/home/neon/Desktop/coreboot/src/include/acpi/acpi.h:1984:(.text.sanitize_cmos+0xf): undefined reference to `acpi_get_sleep_type'
make: *** [src/arch/x86/Makefile.mk:83: build/cbfs/fallback/bootblock.debug] Error 1

A workaround to get CMOS support enabled and build is to have HAVE_ACPI_RESUME disabled (removed from Kconfig) for these boards.

However if the board also has an active serial port with CONFIG_CONSOLE_SERIAL coreboot console output, you have to disable that as well otherwise you get the Error below (Jetway nf9n-2930).

    CC         bootblock/southbridge/intel/common/reset.o
    CC         bootblock/southbridge/intel/common/spi.o
    CC         bootblock/superio/fintek/common/early_serial.o
    LINK       cbfs/fallback/bootblock.debug
/home/neon/Desktop/coreboot/util/crossgcc/xgcc/bin/i386-elf-ld.bfd: section .car.mrc_var LMA wraps around address space
make: *** [src/arch/x86/Makefile.mk:83: build/cbfs/fallback/bootblock.debug] Error 1

Contrary the google/rambi/ninja image builds without this error:

make distclean
touch .config
./util/scripts/config --enable VENDOR_GOOGLE
./util/scripts/config --enable BOARD_GOOGLE_NINJA

./util/scripts/config --enable USE_OPTION_TABLE
make olddefconfig

make
Actions #1

Updated by Keith Hui 5 days ago

Your logs show two errors. One is that acpi_get_sleep_type() is not implemented, and second is that your bootblock seems to be overflowing.

See if you can make the bootblock larger with CONFIG_C_ENV_BOOTBLOCK_SIZE.

I don't do Baytrail, so this is all I can tell you.

Actions #2

Updated by Walter Sonius 4 days ago ยท Edited

Tried adding C_ENV_BOOTBLOCK_SIZE from the emulation/qemu-i440fx/Kconfig example tried 0x80000 and 0x160000 0x1600000 all with same error, any suggestion for a size?

config C_ENV_BOOTBLOCK_SIZE
        hex
        default 0x80000

If I revert patch Stop resetting CMOS during s3 resume CB:78288 I can get it to build without the acpi_is_wakeup_s3 errors when serial console coreboot log output is active CONFIG_CONSOLE_SERIAL=y, but it will probably reset CMOS on acpi S3 as side effect.

Probably another reason this won't error on google devices since there are acpi_is_wakeup_s3 code references in ec.c or mainboard.c in other ports.

There has been more cleanup patch series "replace_option_api" and "clean_Includes" which might have affected this behavior.

Actions

Also available in: Atom PDF