[coreboot-gerrit] New patch to review for coreboot: ca229ed Clean up architecture-specific Kconfigs

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Thu Apr 2 19:54:48 CEST 2015


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/9235

-gerrit

commit ca229edfcd2e0a4dd844c47452f17792b1133300
Author: Julius Werner <jwerner at chromium.org>
Date:   Fri Sep 19 13:18:16 2014 -0700

    Clean up architecture-specific Kconfigs
    
    It's an unfortunate side effect of our different-archs-per-stage
    mechanism that all src/arch/*/Kconfig files are always parsed with no
    if blocks to exclude them if they're not relevant. This makes it very
    easy to accidentally rely on a Kconfig default set by a totally
    different and not applying architecture.
    
    This patch moves a few Kconfigs from ARM and X86 that leaked out like
    this into a common Kconfig file for clarity. It also gives ARM64 its
    own BOOTBLOCK_CUSTOM mechanism so that it doesn't leech off the ARM one
    (currently not used by any board).
    
    In the future, we should maybe prefix all options in the arch/*/Kconfig
    files with the architecture name (such as X86_BOOTBLOCK_NORMAL and
    ARM_LPAE are already doing), to make it more apparent when they are used
    in the wrong place.
    
    BUG=None
    TEST=None (tested together with dependent changes)
    
    Change-Id: I3e8bb3dfbb2c4edada621ce16d130bd7387d4eb8
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
    Original-Commit-Id: 5528aa9252cdf711af3c160da387c6a7bebe9e76
    Original-Change-Id: Ieb2d79bae6c6800be0f93ca3489b658008b1dfae
    Original-Signed-off-by: Julius Werner <jwerner at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/219171
    Original-Reviewed-by: Aaron Durbin <adurbin at chromium.org>
---
 src/Kconfig                       | 12 ++++++++++++
 src/arch/arm/Kconfig              |  8 --------
 src/arch/arm64/Kconfig            |  6 ++++++
 src/arch/arm64/armv8/Makefile.inc |  5 ++---
 src/arch/x86/Kconfig              |  4 ----
 5 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/src/Kconfig b/src/Kconfig
index 7aee478..aa4d6ee 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -311,6 +311,14 @@ source src/drivers/intel/fsp/Kconfig
 
 endmenu
 
+config CPU_HAS_BOOTBLOCK_INIT
+	bool
+	default n
+
+config MAINBOARD_HAS_BOOTBLOCK_INIT
+	bool
+	default n
+
 source src/device/Kconfig
 
 menu "Generic Drivers"
@@ -337,6 +345,10 @@ config HEAP_SIZE
 	hex
 	default 0x4000
 
+config STACK_SIZE
+	hex
+	default 0x1000
+
 config MAX_CPUS
 	int
 	default 1
diff --git a/src/arch/arm/Kconfig b/src/arch/arm/Kconfig
index 124dc3f..77ed41a 100644
--- a/src/arch/arm/Kconfig
+++ b/src/arch/arm/Kconfig
@@ -24,14 +24,6 @@ config ARM_BOOTBLOCK_CUSTOM
 	bool
 	default n
 
-config CPU_HAS_BOOTBLOCK_INIT
-	bool
-	default n
-
-config MAINBOARD_HAS_BOOTBLOCK_INIT
-	bool
-	default n
-
 config ARM_LPAE
 	bool
 	default n
diff --git a/src/arch/arm64/Kconfig b/src/arch/arm64/Kconfig
index 2465bb1..16830bc 100644
--- a/src/arch/arm64/Kconfig
+++ b/src/arch/arm64/Kconfig
@@ -26,3 +26,9 @@ config ARCH_SPINTABLE
 	depends on ARCH_RAMSTAGE_ARM64
 
 source src/arch/arm64/armv8/Kconfig
+
+# If a custom bootblock is necessary, this option should be "select"-ed by
+# the thing that needs it, probably the CPU.
+config ARM64_BOOTBLOCK_CUSTOM
+	bool
+	default n
diff --git a/src/arch/arm64/armv8/Makefile.inc b/src/arch/arm64/armv8/Makefile.inc
index 955ca67..ae9f38d 100644
--- a/src/arch/arm64/armv8/Makefile.inc
+++ b/src/arch/arm64/armv8/Makefile.inc
@@ -32,11 +32,10 @@ armv8_asm_flags = $(armv8_flags)
 ################################################################################
 ifeq ($(CONFIG_ARCH_BOOTBLOCK_ARMV8_64),y)
 
-ifneq ($(CONFIG_ARM_BOOTBLOCK_CUSTOM),y)
+ifneq ($(CONFIG_ARM64_BOOTBLOCK_CUSTOM),y)
 bootblock-y += bootblock.S
+bootblock-y += bootblock_simple.c
 endif
-bootblock-$(CONFIG_ARM_BOOTBLOCK_SIMPLE) += bootblock_simple.c
-bootblock-$(CONFIG_ARM_BOOTBLOCK_NORMAL) += bootblock_normal.c
 bootblock-y += cache.c
 bootblock-y += cpu.S
 bootblock-$(CONFIG_BOOTBLOCK_CONSOLE) += exception.c
diff --git a/src/arch/x86/Kconfig b/src/arch/x86/Kconfig
index 580814f..93474a8 100644
--- a/src/arch/x86/Kconfig
+++ b/src/arch/x86/Kconfig
@@ -49,10 +49,6 @@ config RAMBASE
 	hex
 	default 0x100000
 
-config STACK_SIZE
-	hex
-	default 0x1000
-
 # This is something you almost certainly don't want to mess with.
 # How many SIPIs do we send when starting up APs and cores?
 # The answer in 2000 or so was '2'. Nowadays, on many systems,



More information about the coreboot-gerrit mailing list