diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2022-12-15 22:12:10 +0200 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2023-04-22 16:20:49 +0000 |
commit | a9dd3c3fae07b8740c9da30c691a738e8d5e5fa4 (patch) | |
tree | dc502d28e1119ea1aa72ba7d499e8b7de05f6d7f /src | |
parent | 5cabc29013759f667a9a08a88c58468485749ac9 (diff) |
lib/version: Move board identification strings
These strings are now only expanded in lib/identity.c.
This improves ccache hit rates slightly, as one built object file
lib/version.o is used for all variants of a board. Also one built
object file lib/identity.o can become a ccache hit for successive
builds of a variant, while the commit hash changes.
Change-Id: Ia7d5454d95c8698ab1c1744e63ea4c04d615bb3b
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/74449
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Diffstat (limited to 'src')
-rw-r--r-- | src/device/root_device.c | 2 | ||||
-rw-r--r-- | src/include/device/device.h | 2 | ||||
-rw-r--r-- | src/include/identity.h | 11 | ||||
-rw-r--r-- | src/include/version.h | 4 | ||||
-rw-r--r-- | src/lib/Makefile.inc | 8 | ||||
-rw-r--r-- | src/lib/coreboot_table.c | 3 | ||||
-rw-r--r-- | src/lib/identity.c | 14 | ||||
-rw-r--r-- | src/lib/version.c | 10 |
8 files changed, 29 insertions, 25 deletions
diff --git a/src/device/root_device.c b/src/device/root_device.c index 1f51786153..d8edbd58bb 100644 --- a/src/device/root_device.c +++ b/src/device/root_device.c @@ -5,8 +5,6 @@ #include <device/pci.h> #include <reset.h> -const char mainboard_name[] = CONFIG_MAINBOARD_VENDOR " " CONFIG_MAINBOARD_PART_NUMBER; - void enable_static_device(struct device *dev) { if (dev->chip_ops && dev->chip_ops->enable_dev) diff --git a/src/include/device/device.h b/src/include/device/device.h index 0b67d3dc02..d044ae2b8f 100644 --- a/src/include/device/device.h +++ b/src/include/device/device.h @@ -174,8 +174,6 @@ extern DEVTREE_CONST struct device * DEVTREE_CONST all_devices; extern struct resource *free_resources; extern struct bus *free_links; -extern const char mainboard_name[]; - /* Generic device interface functions */ struct device *alloc_dev(struct bus *parent, struct device_path *path); void dev_initialize_chips(void); diff --git a/src/include/identity.h b/src/include/identity.h new file mode 100644 index 0000000000..d939291647 --- /dev/null +++ b/src/include/identity.h @@ -0,0 +1,11 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef IDENTITY_H +#define IDENTITY_H + +/* Motherboard Information */ +extern const char mainboard_name[]; +extern const char mainboard_vendor[]; +extern const char mainboard_part_number[]; + +#endif /* IDENTITY_H */ diff --git a/src/include/version.h b/src/include/version.h index 84bb34a7b5..926756a534 100644 --- a/src/include/version.h +++ b/src/include/version.h @@ -3,10 +3,6 @@ #ifndef VERSION_H #define VERSION_H -/* Motherboard Information */ -extern const char mainboard_vendor[]; -extern const char mainboard_part_number[]; - /* coreboot Version */ extern const char coreboot_version[]; extern const char coreboot_extra_version[]; diff --git a/src/lib/Makefile.inc b/src/lib/Makefile.inc index c83004a866..385c87eb7c 100644 --- a/src/lib/Makefile.inc +++ b/src/lib/Makefile.inc @@ -229,12 +229,8 @@ ifeq ($(CONFIG_DEBUG_SMI),y) smm-$(CONFIG_CONSOLE_CBMEM) += cbmem_console.c endif -bootblock-y += version.c -romstage-y += version.c -ramstage-y += version.c -smm-y += version.c -verstage-y += version.c -postcar-y += version.c +all-y += identity.c version.c +smm-y += identity.c version.c $(call src-to-obj,bootblock,$(dir)/version.c) : $(obj)/build.h $(call src-to-obj,romstage,$(dir)/version.c) : $(obj)/build.h diff --git a/src/lib/coreboot_table.c b/src/lib/coreboot_table.c index 0707fd3eca..bee389d0bf 100644 --- a/src/lib/coreboot_table.c +++ b/src/lib/coreboot_table.c @@ -4,12 +4,12 @@ #include <arch/cbconfig.h> #include <console/console.h> #include <console/uart.h> +#include <identity.h> #include <ip_checksum.h> #include <boot/coreboot_tables.h> #include <boot/tables.h> #include <boot_device.h> #include <string.h> -#include <version.h> #include <boardid.h> #include <device/device.h> #include <drivers/tpm/tpm_ppi.h> @@ -23,6 +23,7 @@ #include <spi_flash.h> #include <smmstore.h> #include <types.h> +#include <version.h> #if CONFIG(USE_OPTION_TABLE) #include <option_table.h> diff --git a/src/lib/identity.c b/src/lib/identity.c new file mode 100644 index 0000000000..04371a7382 --- /dev/null +++ b/src/lib/identity.c @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include <identity.h> + +#ifndef CONFIG_MAINBOARD_VENDOR +#error CONFIG_MAINBOARD_VENDOR not defined +#endif +#ifndef CONFIG_MAINBOARD_PART_NUMBER +#error CONFIG_MAINBOARD_PART_NUMBER not defined +#endif + +const char mainboard_vendor[] = CONFIG_MAINBOARD_VENDOR; +const char mainboard_part_number[] = CONFIG_MAINBOARD_PART_NUMBER; +const char mainboard_name[] = CONFIG_MAINBOARD_VENDOR " " CONFIG_MAINBOARD_PART_NUMBER; diff --git a/src/lib/version.c b/src/lib/version.c index 84718328f0..43d6a45821 100644 --- a/src/lib/version.c +++ b/src/lib/version.c @@ -3,13 +3,6 @@ #include <version.h> #include <build.h> -#ifndef CONFIG_MAINBOARD_VENDOR -#error CONFIG_MAINBOARD_VENDOR not defined -#endif -#ifndef CONFIG_MAINBOARD_PART_NUMBER -#error CONFIG_MAINBOARD_PART_NUMBER not defined -#endif - #ifndef COREBOOT_VERSION #error COREBOOT_VERSION not defined #endif @@ -25,9 +18,6 @@ #define COREBOOT_EXTRA_VERSION "" #endif -const char mainboard_vendor[] = CONFIG_MAINBOARD_VENDOR; -const char mainboard_part_number[] = CONFIG_MAINBOARD_PART_NUMBER; - const char coreboot_version[] = COREBOOT_VERSION; const char coreboot_extra_version[] = COREBOOT_EXTRA_VERSION; const char coreboot_build[] = COREBOOT_BUILD; |