From 86fc11d0c9b799f916d69ced72dc8a26a07591a2 Mon Sep 17 00:00:00 2001 From: Julius Werner Date: Fri, 9 Oct 2015 13:37:58 -0700 Subject: arm/arm64: Generalize bootblock C entry point When we first added ARM support to coreboot, it was clear that the bootblock would need to do vastly different tasks than on x86, so we moved its main logic under arch/. Now that we have several more architectures, it turns out (as with so many things lately) that x86 is really the odd one out, and all the others are trying to do pretty much the same thing. This has already caused maintenance issues as the ARM32 bootblock developed and less-mature architectures were left behind with old cruft. This patch tries to address that problem by centralizing that logic under lib/ for use by all architectures/SoCs that don't explicitly opt-out (with the slightly adapted existing BOOTBLOCK_CUSTOM option). This works great out of the box for ARM32 and ARM64. It could probably be easily applied to MIPS and RISCV as well, but I don't have any of those boards to test so I'll mark them as BOOTBLOCK_CUSTOM for now and leave that for later cleanup. BRANCH=None BUG=None TEST=Built Jerry and Falco, booted Oak. Change-Id: Ibbf727ad93651e388aef20e76f03f5567f9860cb Signed-off-by: Julius Werner Reviewed-on: http://review.coreboot.org/12076 Reviewed-by: Aaron Durbin Tested-by: build bot (Jenkins) --- src/Kconfig | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/Kconfig') diff --git a/src/Kconfig b/src/Kconfig index 865f7f5c5b..35628877f7 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -248,6 +248,7 @@ config FLASHMAP_OFFSET help Offset of flash map in firmware image +# TODO: This doesn't belong here, move to src/arch/x86/Kconfig choice prompt "Bootblock behaviour" default BOOTBLOCK_SIMPLE @@ -260,6 +261,12 @@ config BOOTBLOCK_NORMAL endchoice +# To be selected by arch, SoC or mainboard if it does not want use the normal +# src/lib/bootblock.c#main() C entry point. +config BOOTBLOCK_CUSTOM + bool + default n + config BOOTBLOCK_SOURCE string default "bootblock_simple.c" if BOOTBLOCK_SIMPLE -- cgit v1.2.3