Bug #614
openUSE_OPTION_TABLE=y with HAVE_ACPI_RESUME=y build Error 1 on baytrail
0%
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
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.