From f1df50edf3dd9b605f35495287101e8708a69d33 Mon Sep 17 00:00:00 2001 From: Julius Werner Date: Thu, 7 May 2015 16:59:31 -0700 Subject: 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 Original-Commit-Id: 5067e47bc03f04ad2dba044f022716e0fc62bb9e Original-Change-Id: I1b2038acc0d054716a3c580ce97ea8e9a45abfa2 Original-Signed-off-by: Julius Werner Original-Reviewed-on: https://chromium-review.googlesource.com/270783 Original-Reviewed-by: Aaron Durbin Reviewed-on: http://review.coreboot.org/10242 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer --- src/arch/arm64/Kconfig | 5 +++-- src/arch/arm64/Makefile.inc | 2 +- src/arch/arm64/armv8/Makefile.inc | 4 ++-- src/arch/arm64/armv8/lib/Makefile.inc | 2 +- src/arch/arm64/include/arch/spintable.h | 6 +++--- src/mainboard/google/rush/Kconfig | 2 +- src/mainboard/google/rush_ryu/Kconfig | 2 +- src/soc/nvidia/tegra132/Kconfig | 2 +- src/soc/nvidia/tegra132/Makefile.inc | 2 +- 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 -- cgit v1.2.3