summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2015-05-07 16:59:31 -0700
committerPatrick Georgi <pgeorgi@google.com>2015-05-19 20:33:28 +0200
commitf1df50edf3dd9b605f35495287101e8708a69d33 (patch)
treec595e7e2c9115dfcbd13f62ef7f513d9bb35382f
parent75515eaa4ba73136fc366b519309a99c0d1e34f2 (diff)
arm64: Reorganize payload entry code and related Kconfigs
Rename Kconfig options for secmon and spintable to be prefixed with ARM64_ instead of ARCH_, which seems to be the standard throughout the rest of coreboot (e.g. ARM_LPAE or X86_BOOTBLOCK_SIMPLE). I think this provides a clearer separation between generic options that are selected by the architecture (e.g. a hypothetical ARCH_HAS_FEATURE_X similar to some of the MAINBOARD_HAS_... we have) and options that only make sense in the context of a single architecture. Change-Id: I38c2efab833f252adbb7b61ef0af60ab25b768b0 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: 5067e47bc03f04ad2dba044f022716e0fc62bb9e Original-Change-Id: I1b2038acc0d054716a3c580ce97ea8e9a45abfa2 Original-Signed-off-by: Julius Werner <jwerner@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/270783 Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/10242 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r--src/arch/arm64/Kconfig5
-rw-r--r--src/arch/arm64/Makefile.inc2
-rw-r--r--src/arch/arm64/armv8/Makefile.inc4
-rw-r--r--src/arch/arm64/armv8/lib/Makefile.inc2
-rw-r--r--src/arch/arm64/include/arch/spintable.h6
-rw-r--r--src/mainboard/google/rush/Kconfig2
-rw-r--r--src/mainboard/google/rush_ryu/Kconfig2
-rw-r--r--src/soc/nvidia/tegra132/Kconfig2
-rw-r--r--src/soc/nvidia/tegra132/Makefile.inc2
9 files changed, 14 insertions, 13 deletions
diff --git a/src/arch/arm64/Kconfig b/src/arch/arm64/Kconfig
index 3d84a11444..fd539724e1 100644
--- a/src/arch/arm64/Kconfig
+++ b/src/arch/arm64/Kconfig
@@ -28,12 +28,13 @@ config ARM64_BOOTBLOCK_CUSTOM
bool
default n
-config ARCH_USE_SECURE_MONITOR
+config ARM64_USE_SECURE_MONITOR
bool
default n
select RELOCATABLE_MODULES
+ depends on ARCH_RAMSTAGE_ARM64
-config ARCH_SPINTABLE
+config ARM64_USE_SPINTABLE
bool
default n
depends on ARCH_RAMSTAGE_ARM64
diff --git a/src/arch/arm64/Makefile.inc b/src/arch/arm64/Makefile.inc
index 92bb058f89..4a09190239 100644
--- a/src/arch/arm64/Makefile.inc
+++ b/src/arch/arm64/Makefile.inc
@@ -153,7 +153,7 @@ ramstage-y += ../../lib/memcpy.c
ramstage-y += ../../lib/memmove.c
ramstage-y += stage_entry.S
ramstage-y += cpu-stubs.c
-ramstage-$(CONFIG_ARCH_SPINTABLE) += spintable.c spintable_asm.S
+ramstage-$(CONFIG_ARM64_USE_SPINTABLE) += spintable.c spintable_asm.S
ramstage-y += transition.c transition_asm.S
rmodules_arm64-y += ../../lib/memset.c
diff --git a/src/arch/arm64/armv8/Makefile.inc b/src/arch/arm64/armv8/Makefile.inc
index 19684b238c..bba493cf81 100644
--- a/src/arch/arm64/armv8/Makefile.inc
+++ b/src/arch/arm64/armv8/Makefile.inc
@@ -21,7 +21,7 @@
subdirs-y += lib/
-subdirs-$(CONFIG_ARCH_USE_SECURE_MONITOR) += secmon/
+subdirs-$(CONFIG_ARM64_USE_SECURE_MONITOR) += secmon/
armv8_flags = -march=armv8-a -I$(src)/arch/arm64/include/armv8/ -D__COREBOOT_ARM_ARCH__=8
@@ -92,7 +92,7 @@ ramstage-y += cpu.S
ramstage-y += exception.c
ramstage-y += mmu.c
-ramstage-$(CONFIG_ARCH_USE_SECURE_MONITOR) += secmon_loader.c
+ramstage-$(CONFIG_ARM64_USE_SECURE_MONITOR) += secmon_loader.c
ramstage-c-ccopts += $(armv8_flags)
ramstage-S-ccopts += $(armv8_asm_flags)
diff --git a/src/arch/arm64/armv8/lib/Makefile.inc b/src/arch/arm64/armv8/lib/Makefile.inc
index 7e647bd6bc..48ceaf58a0 100644
--- a/src/arch/arm64/armv8/lib/Makefile.inc
+++ b/src/arch/arm64/armv8/lib/Makefile.inc
@@ -37,7 +37,7 @@ endif
ifeq ($(CONFIG_ARCH_RAMSTAGE_ARMV8_64),y)
ramstage-y += $(lib_access)
-ifeq ($(CONFIG_ARCH_USE_SECURE_MONITOR),y)
+ifeq ($(CONFIG_ARM64_USE_SECURE_MONITOR),y)
secmon-y += $(lib_access)
endif
diff --git a/src/arch/arm64/include/arch/spintable.h b/src/arch/arm64/include/arch/spintable.h
index 8d8d662d89..a8f64136a1 100644
--- a/src/arch/arm64/include/arch/spintable.h
+++ b/src/arch/arm64/include/arch/spintable.h
@@ -25,7 +25,7 @@ struct spintable_attributes {
void *addr;
};
-#if IS_ENABLED(CONFIG_ARCH_SPINTABLE)
+#if IS_ENABLED(CONFIG_ARM64_USE_SPINTABLE)
/* Initialize spintable with provided monitor address. */
void spintable_init(void *monitor_address);
@@ -33,7 +33,7 @@ void spintable_init(void *monitor_address);
/* Return NULL on failure, otherwise the spintable info. */
const struct spintable_attributes *spintable_get_attributes(void);
-#else /* IS_ENABLED(CONFIG_SPINTABLE) */
+#else /* IS_ENABLED(CONFIG_ARM64_USE_SPINTABLE) */
static inline void spintable_init(void *monitor_address) {}
static inline const struct spintable_attributes *spintable_get_attributes(void)
@@ -41,7 +41,7 @@ static inline const struct spintable_attributes *spintable_get_attributes(void)
return NULL;
}
-#endif /* IS_ENABLED(CONFIG_SPINTABLE) */
+#endif /* IS_ENABLED(CONFIG_ARM64_USE_SPINTABLE) */
/* Start spinning on the non-boot CPUs. */
void spintable_start(void);
diff --git a/src/mainboard/google/rush/Kconfig b/src/mainboard/google/rush/Kconfig
index 9cb0223236..eb64f12eec 100644
--- a/src/mainboard/google/rush/Kconfig
+++ b/src/mainboard/google/rush/Kconfig
@@ -33,7 +33,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select MAINBOARD_HAS_CHROMEOS
select VIRTUAL_DEV_SWITCH
select BOARD_ROMSIZE_KB_4096
- select ARCH_SPINTABLE
+ select ARM64_USE_SPINTABLE
select CHROMEOS_VBNV_EC
config MAINBOARD_DIR
diff --git a/src/mainboard/google/rush_ryu/Kconfig b/src/mainboard/google/rush_ryu/Kconfig
index 2a7e0fb87d..a52589e90b 100644
--- a/src/mainboard/google/rush_ryu/Kconfig
+++ b/src/mainboard/google/rush_ryu/Kconfig
@@ -34,7 +34,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select MAINBOARD_HAS_CHROMEOS
select BOARD_ROMSIZE_KB_8192
select VIRTUAL_DEV_SWITCH
- select ARCH_SPINTABLE
+ select ARM64_USE_SPINTABLE
select CHROMEOS_VBNV_EC
config MAINBOARD_DIR
diff --git a/src/soc/nvidia/tegra132/Kconfig b/src/soc/nvidia/tegra132/Kconfig
index ee0a0ef8d9..f9dd14abd3 100644
--- a/src/soc/nvidia/tegra132/Kconfig
+++ b/src/soc/nvidia/tegra132/Kconfig
@@ -16,7 +16,7 @@ config SOC_NVIDIA_TEGRA132
select ARM_BOOTBLOCK_CUSTOM
select DYNAMIC_CBMEM
select SMP
- select ARCH_USE_SECURE_MONITOR
+ select ARM64_USE_SECURE_MONITOR
select GENERIC_GPIO_LIB
if SOC_NVIDIA_TEGRA132
diff --git a/src/soc/nvidia/tegra132/Makefile.inc b/src/soc/nvidia/tegra132/Makefile.inc
index 8e0f6db175..365dab314f 100644
--- a/src/soc/nvidia/tegra132/Makefile.inc
+++ b/src/soc/nvidia/tegra132/Makefile.inc
@@ -96,7 +96,7 @@ ramstage-y += ramstage.c
ramstage-y += mmu_operations.c
ramstage-$(CONFIG_DRIVERS_UART) += uart.c
ramstage-y += ../tegra/usb.c
-ramstage-$(CONFIG_ARCH_USE_SECURE_MONITOR) += secmon.c
+ramstage-$(CONFIG_ARM64_USE_SECURE_MONITOR) += secmon.c
secmon-y += 32bit_reset.S
secmon-y += cpu.c