summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2014-09-19 13:18:16 -0700
committerPatrick Georgi <pgeorgi@google.com>2015-04-02 22:06:31 +0200
commitc3e7c4e7b43ebba54a141896b74572eaa9e75abf (patch)
tree7e37edbddad36622d6dee2b47acb3df83384b8ad /src
parentdb273065f67ef432937399a324364822539ca559 (diff)
downloadcoreboot-c3e7c4e7b43ebba54a141896b74572eaa9e75abf.tar.xz
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@chromium.org> Original-Commit-Id: 5528aa9252cdf711af3c160da387c6a7bebe9e76 Original-Change-Id: Ieb2d79bae6c6800be0f93ca3489b658008b1dfae Original-Signed-off-by: Julius Werner <jwerner@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/219171 Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/9235 Reviewed-by: Aaron Durbin <adurbin@google.com> Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Diffstat (limited to 'src')
-rw-r--r--src/Kconfig12
-rw-r--r--src/arch/arm/Kconfig8
-rw-r--r--src/arch/arm64/Kconfig6
-rw-r--r--src/arch/arm64/armv8/Makefile.inc5
-rw-r--r--src/arch/x86/Kconfig4
5 files changed, 20 insertions, 15 deletions
diff --git a/src/Kconfig b/src/Kconfig
index 7aee4781ad..aa4d6eebeb 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 124dc3fcd5..77ed41aeeb 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 2465bb1f66..16830bc155 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 955ca67602..ae9f38dd75 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 580814f323..93474a8a3f 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,