option: Introduce `CMOS_LAYOUT_FILE` Kconfig symbol
Mainboards with variants may not always use the same cmos.layout file. Turn the hardcoded path into a Kconfig symbol to allow changing it. Tested with BUILD_TIMELESS=1: Without including the config file in the coreboot.rom and with `USE_OPTION_TABLE` selected, building for the Asus P8H61-M PRO produces an identical coreboot image. Change-Id: I4cc622dcb70855c06cb8a816c34406f8421180df Signed-off-by: Angel Pons <th3fanbus@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/54366 Reviewed-by: Martin Roth <martinroth@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
b79d0a1799
commit
f206cda84d
|
@ -302,9 +302,9 @@ endef
|
||||||
# arg1: source file
|
# arg1: source file
|
||||||
# arg2: binary file name
|
# arg2: binary file name
|
||||||
cbfs-files-processor-nvramtool= \
|
cbfs-files-processor-nvramtool= \
|
||||||
$(eval $(2): $(1) $(src)/mainboard/$(MAINBOARDDIR)/cmos.layout | $(objutil)/nvramtool/nvramtool ; \
|
$(eval $(2): $(1) $(top)/$(call strip_quotes,$(CONFIG_CMOS_LAYOUT_FILE)) | $(objutil)/nvramtool/nvramtool ; \
|
||||||
printf " CREATE $(2) (from $(1))\n"; \
|
printf " CREATE $(2) (from $(1))\n"; \
|
||||||
$(objutil)/nvramtool/nvramtool -y $(src)/mainboard/$(MAINBOARDDIR)/cmos.layout -D $(2).tmp -p $(1) && \
|
$(objutil)/nvramtool/nvramtool -y $(top)/$(call strip_quotes,$(CONFIG_CMOS_LAYOUT_FILE)) -D $(2).tmp -p $(1) && \
|
||||||
mv $(2).tmp $(2))
|
mv $(2).tmp $(2))
|
||||||
|
|
||||||
#######################################################################
|
#######################################################################
|
||||||
|
|
|
@ -682,6 +682,11 @@ config HAVE_OPTION_TABLE
|
||||||
file containing NVRAM/CMOS bit definitions.
|
file containing NVRAM/CMOS bit definitions.
|
||||||
It defaults to 'n' but can be selected in mainboard/*/Kconfig.
|
It defaults to 'n' but can be selected in mainboard/*/Kconfig.
|
||||||
|
|
||||||
|
config CMOS_LAYOUT_FILE
|
||||||
|
string
|
||||||
|
default "src/mainboard/\$(MAINBOARDDIR)/cmos.layout"
|
||||||
|
depends on HAVE_OPTION_TABLE
|
||||||
|
|
||||||
config PCI_IO_CFG_EXT
|
config PCI_IO_CFG_EXT
|
||||||
bool
|
bool
|
||||||
default n
|
default n
|
||||||
|
|
|
@ -11,19 +11,21 @@ NVRAMTOOL:=$(objutil)/nvramtool/nvramtool
|
||||||
OPTION_TABLE_H:=
|
OPTION_TABLE_H:=
|
||||||
ifeq ($(CONFIG_HAVE_OPTION_TABLE),y)
|
ifeq ($(CONFIG_HAVE_OPTION_TABLE),y)
|
||||||
|
|
||||||
|
CMOS_LAYOUT_FILE := $(top)/$(call strip_quotes,$(CONFIG_CMOS_LAYOUT_FILE))
|
||||||
|
|
||||||
cbfs-files-y += cmos_layout.bin
|
cbfs-files-y += cmos_layout.bin
|
||||||
cmos_layout.bin-file = $(obj)/cmos_layout.bin
|
cmos_layout.bin-file = $(obj)/cmos_layout.bin
|
||||||
cmos_layout.bin-type = cmos_layout
|
cmos_layout.bin-type = cmos_layout
|
||||||
|
|
||||||
$(obj)/cmos_layout.bin: $(NVRAMTOOL) $(top)/src/mainboard/$(MAINBOARDDIR)/cmos.layout
|
$(obj)/cmos_layout.bin: $(NVRAMTOOL) $(CMOS_LAYOUT_FILE)
|
||||||
@printf " OPTION $(subst $(obj)/,,$(@))\n"
|
@printf " OPTION $(subst $(obj)/,,$(@))\n"
|
||||||
$(NVRAMTOOL) -y $(top)/src/mainboard/$(MAINBOARDDIR)/cmos.layout -L $@
|
$(NVRAMTOOL) -y $(CMOS_LAYOUT_FILE) -L $@
|
||||||
|
|
||||||
OPTION_TABLE_H:=$(obj)/option_table.h
|
OPTION_TABLE_H:=$(obj)/option_table.h
|
||||||
|
|
||||||
$(OPTION_TABLE_H): $(NVRAMTOOL) $(top)/src/mainboard/$(MAINBOARDDIR)/cmos.layout
|
$(OPTION_TABLE_H): $(NVRAMTOOL) $(CMOS_LAYOUT_FILE)
|
||||||
@printf " OPTION $(subst $(obj)/,,$(@))\n"
|
@printf " OPTION $(subst $(obj)/,,$(@))\n"
|
||||||
$(NVRAMTOOL) -y $(top)/src/mainboard/$(MAINBOARDDIR)/cmos.layout -H $@
|
$(NVRAMTOOL) -y $(CMOS_LAYOUT_FILE) -H $@
|
||||||
endif # CONFIG_HAVE_OPTION_TABLE
|
endif # CONFIG_HAVE_OPTION_TABLE
|
||||||
|
|
||||||
stripped_vgabios_id = $(call strip_quotes,$(CONFIG_VGA_BIOS_ID))
|
stripped_vgabios_id = $(call strip_quotes,$(CONFIG_VGA_BIOS_ID))
|
||||||
|
|
Loading…
Reference in New Issue