From 46514c2b877c29c2d7c2061a9785736e270c0c62 Mon Sep 17 00:00:00 2001 From: Furquan Shaikh Date: Thu, 11 Jun 2020 11:59:07 -0700 Subject: treewide: Add Kconfig variable MEMLAYOUT_LD_FILE This change defines a Kconfig variable MEMLAYOUT_LD_FILE which allows SoC/mainboard to provide a linker file for the platform. x86 already provides a default memlayout.ld under src/arch/x86. With this new Kconfig variable, it is possible for the SoC/mainboard code for x86 to provide a custom linker file as well. Makefile.inc is updated for all architectures to use this new Kconfig variable instead of assuming memlayout.ld files under a certain path. All non-x86 boards used memlayout.ld under mainboard directory. However, a lot of these boards were simply including the memlayout from SoC. So, this change also updates these mainboards and SoCs to define the Kconfig as required. BUG=b:155322763 TEST=Verified that abuild with --timeless option results in the same coreboot.rom image for all boards. Change-Id: I6a7f96643ed0519c93967ea2c3bcd881a5d6a4d6 Signed-off-by: Furquan Shaikh Reviewed-on: https://review.coreboot.org/c/coreboot/+/42292 Reviewed-by: Paul Menzel Reviewed-by: Raul Rangel Reviewed-by: Julius Werner Tested-by: build bot (Jenkins) --- Makefile.inc | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Makefile.inc') diff --git a/Makefile.inc b/Makefile.inc index 86467a66a8..fca7ebdedd 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -13,6 +13,7 @@ CONFIG_CBFS_PREFIX:=$(call strip_quotes,$(CONFIG_CBFS_PREFIX)) CONFIG_FMDFILE:=$(call strip_quotes,$(CONFIG_FMDFILE)) CONFIG_DEVICETREE:=$(call strip_quotes, $(CONFIG_DEVICETREE)) CONFIG_OVERRIDE_DEVICETREE:=$(call strip_quotes, $(CONFIG_OVERRIDE_DEVICETREE)) +CONFIG_MEMLAYOUT_LD_FILE:=$(call strip_quotes, $(CONFIG_MEMLAYOUT_LD_FILE)) ####################################################################### # misleadingly named, this is the coreboot version @@ -609,6 +610,13 @@ smm-c-deps+=$(DEVICETREE_STATIC_C) .PHONY: devicetree devicetree: $(DEVICETREE_STATIC_C) +ramstage-y += $(CONFIG_MEMLAYOUT_LD_FILE) +romstage-y += $(CONFIG_MEMLAYOUT_LD_FILE) +bootblock-y += $(CONFIG_MEMLAYOUT_LD_FILE) +verstage-y += $(CONFIG_MEMLAYOUT_LD_FILE) +postcar-y += $(CONFIG_MEMLAYOUT_LD_FILE) +decompressor-y += $(CONFIG_MEMLAYOUT_LD_FILE) + ####################################################################### # Clean up rules clean-abuild: -- cgit v1.2.3