diff options
author | Simon Glass <sjg@chromium.org> | 2021-03-15 18:00:21 +1300 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2021-03-27 13:59:59 +1300 |
commit | 68e03ca21acf3192dd08e0617ea878949ea0e4dc (patch) | |
tree | 20942b44bffc986e359d260ad1a266d4bc45c703 | |
parent | f9f06e628e17b021bdd6786717b74f1751999abe (diff) | |
download | u-boot-68e03ca21acf3192dd08e0617ea878949ea0e4dc.tar.gz |
x86: Move coreboot sysinfo parsing into generic x86 code
It is useful to be able to parse coreboot tables on any x86 build which is
booted from coreboot. Add a new Kconfig option to enable this feature and
move the code so it can be used on any board, if enabled.
Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | arch/x86/Kconfig | 21 | ||||
-rw-r--r-- | arch/x86/cpu/coreboot/Makefile | 1 | ||||
-rw-r--r-- | arch/x86/lib/Makefile | 1 | ||||
-rw-r--r-- | arch/x86/lib/coreboot/Makefile | 6 | ||||
-rw-r--r-- | arch/x86/lib/coreboot/cb_sysinfo.c (renamed from arch/x86/cpu/coreboot/tables.c) | 0 |
5 files changed, 28 insertions, 1 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 5b089af699..970bdff37f 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -1047,4 +1047,25 @@ config INTEL_GMA_SWSMISCI endif # INTEL_SOC +config COREBOOT_SYSINFO + bool "Support reading coreboot sysinfo" + default y if SYS_COREBOOT + help + Select this option to read the coreboot sysinfo table on start-up, + if present. This is written by coreboot before it exits and provides + various pieces of information about the running system, including + display, memory and build information. It is stored in + struct sysinfo_t after parsing by get_coreboot_info(). + +config SPL_COREBOOT_SYSINFO + bool "Support reading coreboot sysinfo" + depends on SPL + default y if COREBOOT_SYSINFO + help + Select this option to read the coreboot sysinfo table in SPL, + if present. This is written by coreboot before it exits and provides + various pieces of information about the running system, including + display, memory and build information. It is stored in + struct sysinfo_t after parsing by get_coreboot_info(). + endmenu diff --git a/arch/x86/cpu/coreboot/Makefile b/arch/x86/cpu/coreboot/Makefile index 605f90304e..a6cdb9a148 100644 --- a/arch/x86/cpu/coreboot/Makefile +++ b/arch/x86/cpu/coreboot/Makefile @@ -20,5 +20,4 @@ else obj-y += sdram.o endif obj-y += coreboot.o -obj-y += tables.o obj-y += timestamp.o diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile index 1bcbb49a61..65d9b3bd6a 100644 --- a/arch/x86/lib/Makefile +++ b/arch/x86/lib/Makefile @@ -15,6 +15,7 @@ ifndef CONFIG_SPL_BUILD obj-$(CONFIG_CMD_BOOTM) += bootm.o endif obj-y += cmd_boot.o +obj-$(CONFIG_$(SPL_)COREBOOT_SYSINFO) += coreboot/ obj-$(CONFIG_SEABIOS) += coreboot_table.o obj-y += early_cmos.o obj-y += e820.o diff --git a/arch/x86/lib/coreboot/Makefile b/arch/x86/lib/coreboot/Makefile new file mode 100644 index 0000000000..b5250d916b --- /dev/null +++ b/arch/x86/lib/coreboot/Makefile @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# Copyright 2021 Google LLC +# + +obj-y += cb_sysinfo.o diff --git a/arch/x86/cpu/coreboot/tables.c b/arch/x86/lib/coreboot/cb_sysinfo.c index 816a0efd13..816a0efd13 100644 --- a/arch/x86/cpu/coreboot/tables.c +++ b/arch/x86/lib/coreboot/cb_sysinfo.c |