diff options
author | Julius Werner <jwerner@chromium.org> | 2019-07-09 14:02:43 -0700 |
---|---|---|
committer | Julius Werner <jwerner@chromium.org> | 2019-08-01 13:45:03 -0700 |
commit | 402b3cf8766fe2cb4ae462f7ee7761d08a1ba56c (patch) | |
tree | bf3de0c17a38822188847b7bdaad7f70441637b0 /include | |
parent | d5dfdeb65ff5b7f24dded201d2945c7b74565ce8 (diff) |
Switch AARCH32/AARCH64 to __aarch64__
NOTE: AARCH32/AARCH64 macros are now deprecated in favor of __aarch64__.
All common C compilers pre-define the same macros to signal which
architecture the code is being compiled for: __arm__ for AArch32 (or
earlier versions) and __aarch64__ for AArch64. There's no need for TF-A
to define its own custom macros for this. In order to unify code with
the export headers (which use __aarch64__ to avoid another dependency),
let's deprecate the AARCH32 and AARCH64 macros and switch the code base
over to the pre-defined standard macro. (Since it is somewhat
unintuitive that __arm__ only means AArch32, let's standardize on only
using __aarch64__.)
Change-Id: Ic77de4b052297d77f38fc95f95f65a8ee70cf200
Signed-off-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/common/ep_info.h | 2 | ||||
-rw-r--r-- | include/common/runtime_svc.h | 12 | ||||
-rw-r--r-- | include/lib/el3_runtime/context_mgmt.h | 4 | ||||
-rw-r--r-- | include/lib/el3_runtime/cpu_data.h | 24 | ||||
-rw-r--r-- | include/lib/el3_runtime/pubsub_events.h | 4 | ||||
-rw-r--r-- | include/lib/utils_def.h | 18 | ||||
-rw-r--r-- | include/lib/xlat_tables/xlat_mmu_helpers.h | 18 | ||||
-rw-r--r-- | include/lib/xlat_tables/xlat_tables_arch.h | 6 | ||||
-rw-r--r-- | include/lib/xlat_tables/xlat_tables_defs.h | 2 | ||||
-rw-r--r-- | include/plat/arm/common/arm_def.h | 8 | ||||
-rw-r--r-- | include/plat/arm/common/plat_arm.h | 4 | ||||
-rw-r--r-- | include/plat/common/common_def.h | 10 |
12 files changed, 56 insertions, 56 deletions
diff --git a/include/common/ep_info.h b/include/common/ep_info.h index 29981509..4bfa1fa6 100644 --- a/include/common/ep_info.h +++ b/include/common/ep_info.h @@ -41,7 +41,7 @@ CASSERT(ENTRY_POINT_INFO_PC_OFFSET == __builtin_offsetof(entry_point_info_t, pc), \ assert_BL31_pc_offset_mismatch); -#ifdef AARCH32 +#ifndef __aarch64__ CASSERT(ENTRY_POINT_INFO_LR_SVC_OFFSET == __builtin_offsetof(entry_point_info_t, lr_svc), assert_entrypoint_lr_offset_error); diff --git a/include/common/runtime_svc.h b/include/common/runtime_svc.h index 3b0a2248..472a32a1 100644 --- a/include/common/runtime_svc.h +++ b/include/common/runtime_svc.h @@ -20,15 +20,15 @@ * Constants to allow the assembler access a runtime service * descriptor */ -#ifdef AARCH32 -#define RT_SVC_SIZE_LOG2 U(4) -#define RT_SVC_DESC_INIT U(8) -#define RT_SVC_DESC_HANDLE U(12) -#else +#ifdef __aarch64__ #define RT_SVC_SIZE_LOG2 U(5) #define RT_SVC_DESC_INIT U(16) #define RT_SVC_DESC_HANDLE U(24) -#endif /* AARCH32 */ +#else +#define RT_SVC_SIZE_LOG2 U(4) +#define RT_SVC_DESC_INIT U(8) +#define RT_SVC_DESC_HANDLE U(12) +#endif /* __aarch64__ */ #define SIZEOF_RT_SVC_DESC (U(1) << RT_SVC_SIZE_LOG2) diff --git a/include/lib/el3_runtime/context_mgmt.h b/include/lib/el3_runtime/context_mgmt.h index f23f9cd4..7c996d12 100644 --- a/include/lib/el3_runtime/context_mgmt.h +++ b/include/lib/el3_runtime/context_mgmt.h @@ -35,7 +35,7 @@ void cm_init_context_by_index(unsigned int cpu_idx, void cm_setup_context(cpu_context_t *ctx, const entry_point_info_t *ep); void cm_prepare_el3_exit(uint32_t security_state); -#ifndef AARCH32 +#ifdef __aarch64__ void cm_el1_sysregs_context_save(uint32_t security_state); void cm_el1_sysregs_context_restore(uint32_t security_state); void cm_set_elr_el3(uint32_t security_state, uintptr_t entrypoint); @@ -78,6 +78,6 @@ static inline void cm_set_next_context(void *context) #else void *cm_get_next_context(void); void cm_set_next_context(void *context); -#endif /* AARCH32 */ +#endif /* __aarch64__ */ #endif /* CONTEXT_MGMT_H */ diff --git a/include/lib/el3_runtime/cpu_data.h b/include/lib/el3_runtime/cpu_data.h index 66c47ab7..55db4cff 100644 --- a/include/lib/el3_runtime/cpu_data.h +++ b/include/lib/el3_runtime/cpu_data.h @@ -11,15 +11,7 @@ #include <bl31/ehf.h> -#ifdef AARCH32 - -#if CRASH_REPORTING -#error "Crash reporting is not supported in AArch32" -#endif -#define CPU_DATA_CPU_OPS_PTR 0x0 -#define CPU_DATA_CRASH_BUF_OFFSET 0x4 - -#else /* AARCH32 */ +#ifdef __aarch64__ /* Offsets for the cpu_data structure */ #define CPU_DATA_CRASH_BUF_OFFSET 0x18 @@ -27,7 +19,15 @@ #define CPU_DATA_CRASH_BUF_SIZE 64 #define CPU_DATA_CPU_OPS_PTR 0x10 -#endif /* AARCH32 */ +#else /* __aarch64__ */ + +#if CRASH_REPORTING +#error "Crash reporting is not supported in AArch32" +#endif +#define CPU_DATA_CPU_OPS_PTR 0x0 +#define CPU_DATA_CRASH_BUF_OFFSET 0x4 + +#endif /* __aarch64__ */ #if CRASH_REPORTING #define CPU_DATA_CRASH_BUF_END (CPU_DATA_CRASH_BUF_OFFSET + \ @@ -84,7 +84,7 @@ * used for this. ******************************************************************************/ typedef struct cpu_data { -#ifndef AARCH32 +#ifdef __aarch64__ void *cpu_context[2]; #endif uintptr_t cpu_ops_ptr; @@ -127,7 +127,7 @@ CASSERT(CPU_DATA_PMF_TS0_OFFSET == __builtin_offsetof struct cpu_data *_cpu_data_by_index(uint32_t cpu_index); -#ifndef AARCH32 +#ifdef __aarch64__ /* Return the cpu_data structure for the current CPU. */ static inline struct cpu_data *_cpu_data(void) { diff --git a/include/lib/el3_runtime/pubsub_events.h b/include/lib/el3_runtime/pubsub_events.h index 8e4a87af..50120826 100644 --- a/include/lib/el3_runtime/pubsub_events.h +++ b/include/lib/el3_runtime/pubsub_events.h @@ -24,7 +24,7 @@ REGISTER_PUBSUB_EVENT(psci_cpu_on_finish); REGISTER_PUBSUB_EVENT(psci_suspend_pwrdown_start); REGISTER_PUBSUB_EVENT(psci_suspend_pwrdown_finish); -#ifdef AARCH64 +#ifdef __aarch64__ /* * These events are published by the AArch64 context management framework * after the secure context is restored/saved via @@ -40,4 +40,4 @@ REGISTER_PUBSUB_EVENT(cm_exited_secure_world); */ REGISTER_PUBSUB_EVENT(cm_entering_normal_world); REGISTER_PUBSUB_EVENT(cm_exited_normal_world); -#endif /* AARCH64 */ +#endif /* __aarch64__ */ diff --git a/include/lib/utils_def.h b/include/lib/utils_def.h index 7098bace..35ae33a6 100644 --- a/include/lib/utils_def.h +++ b/include/lib/utils_def.h @@ -21,10 +21,10 @@ #define BIT_32(nr) (U(1) << (nr)) #define BIT_64(nr) (ULL(1) << (nr)) -#ifdef AARCH32 -#define BIT BIT_32 -#else +#ifdef __aarch64__ #define BIT BIT_64 +#else +#define BIT BIT_32 #endif /* @@ -46,10 +46,10 @@ (((~UINT64_C(0)) << (l)) & (~UINT64_C(0) >> (64 - 1 - (h)))) #endif -#ifdef AARCH32 -#define GENMASK GENMASK_32 -#else +#ifdef __aarch64__ #define GENMASK GENMASK_64 +#else +#define GENMASK GENMASK_32 #endif /* @@ -109,10 +109,10 @@ ((_u32) > (UINT32_MAX - (_inc))) /* Register size of the current architecture. */ -#ifdef AARCH32 -#define REGSZ U(4) -#else +#ifdef __aarch64__ #define REGSZ U(8) +#else +#define REGSZ U(4) #endif /* diff --git a/include/lib/xlat_tables/xlat_mmu_helpers.h b/include/lib/xlat_tables/xlat_mmu_helpers.h index efe0dd5e..abdf1b6d 100644 --- a/include/lib/xlat_tables/xlat_mmu_helpers.h +++ b/include/lib/xlat_tables/xlat_mmu_helpers.h @@ -65,14 +65,7 @@ void setup_mmu_cfg(uint64_t *params, unsigned int flags, const uint64_t *base_table, unsigned long long max_pa, uintptr_t max_va, int xlat_regime); -#ifdef AARCH32 -/* AArch32 specific translation table API */ -void enable_mmu_svc_mon(unsigned int flags); -void enable_mmu_hyp(unsigned int flags); - -void enable_mmu_direct_svc_mon(unsigned int flags); -void enable_mmu_direct_hyp(unsigned int flags); -#else +#ifdef __aarch64__ /* AArch64 specific translation table APIs */ void enable_mmu_el1(unsigned int flags); void enable_mmu_el2(unsigned int flags); @@ -81,7 +74,14 @@ void enable_mmu_el3(unsigned int flags); void enable_mmu_direct_el1(unsigned int flags); void enable_mmu_direct_el2(unsigned int flags); void enable_mmu_direct_el3(unsigned int flags); -#endif /* AARCH32 */ +#else +/* AArch32 specific translation table API */ +void enable_mmu_svc_mon(unsigned int flags); +void enable_mmu_hyp(unsigned int flags); + +void enable_mmu_direct_svc_mon(unsigned int flags); +void enable_mmu_direct_hyp(unsigned int flags); +#endif /* __aarch64__ */ bool xlat_arch_is_granule_size_supported(size_t size); size_t xlat_arch_get_max_supported_granule_size(void); diff --git a/include/lib/xlat_tables/xlat_tables_arch.h b/include/lib/xlat_tables/xlat_tables_arch.h index 72375340..0ce0cacb 100644 --- a/include/lib/xlat_tables/xlat_tables_arch.h +++ b/include/lib/xlat_tables/xlat_tables_arch.h @@ -7,10 +7,10 @@ #ifndef XLAT_TABLES_ARCH_H #define XLAT_TABLES_ARCH_H -#ifdef AARCH32 -#include "aarch32/xlat_tables_aarch32.h" -#else +#ifdef __aarch64__ #include "aarch64/xlat_tables_aarch64.h" +#else +#include "aarch32/xlat_tables_aarch32.h" #endif /* diff --git a/include/lib/xlat_tables/xlat_tables_defs.h b/include/lib/xlat_tables/xlat_tables_defs.h index 000811f3..76cfc0b3 100644 --- a/include/lib/xlat_tables/xlat_tables_defs.h +++ b/include/lib/xlat_tables/xlat_tables_defs.h @@ -62,7 +62,7 @@ #define OSH (U(0x2) << 6) #define ISH (U(0x3) << 6) -#ifdef AARCH64 +#ifdef __aarch64__ /* Guarded Page bit */ #define GP (ULL(1) << 50) #endif diff --git a/include/plat/arm/common/arm_def.h b/include/plat/arm/common/arm_def.h index ead1a8b3..53bd13fc 100644 --- a/include/plat/arm/common/arm_def.h +++ b/include/plat/arm/common/arm_def.h @@ -434,7 +434,7 @@ #endif #endif -#if defined(AARCH32) || JUNO_AARCH32_EL3_RUNTIME +#if !defined(__aarch64__) || JUNO_AARCH32_EL3_RUNTIME /******************************************************************************* * BL32 specific defines for EL3 runtime in AArch32 mode ******************************************************************************/ @@ -498,17 +498,17 @@ # else # error "Unsupported ARM_TSP_RAM_LOCATION_ID value" # endif -#endif /* AARCH32 || JUNO_AARCH32_EL3_RUNTIME */ +#endif /* !__aarch64__ || JUNO_AARCH32_EL3_RUNTIME */ /* * BL32 is mandatory in AArch32. In AArch64, undefine BL32_BASE if there is no * SPD and no SPM, as they are the only ones that can be used as BL32. */ -#if !(defined(AARCH32) || JUNO_AARCH32_EL3_RUNTIME) +#if defined(__aarch64__) && !JUNO_AARCH32_EL3_RUNTIME # if defined(SPD_none) && !ENABLE_SPM # undef BL32_BASE # endif /* defined(SPD_none) && !ENABLE_SPM */ -#endif /* !(defined(AARCH32) || JUNO_AARCH32_EL3_RUNTIME) */ +#endif /* defined(__aarch64__) && !JUNO_AARCH32_EL3_RUNTIME */ /******************************************************************************* * FWU Images: NS_BL1U, BL2U & NS_BL2U defines. diff --git a/include/plat/arm/common/plat_arm.h b/include/plat/arm/common/plat_arm.h index c8260e88..07a46c51 100644 --- a/include/plat/arm/common/plat_arm.h +++ b/include/plat/arm/common/plat_arm.h @@ -69,7 +69,7 @@ typedef struct arm_tzc_regions_info { void arm_setup_romlib(void); -#if defined(IMAGE_BL31) || (defined(AARCH32) && defined(IMAGE_BL32)) +#if defined(IMAGE_BL31) || (!defined(__aarch64__) && defined(IMAGE_BL32)) /* * Use this macro to instantiate lock before it is used in below * arm_lock_xxx() macros @@ -102,7 +102,7 @@ void arm_setup_romlib(void); #define arm_lock_get() #define arm_lock_release() -#endif /* defined(IMAGE_BL31) || (defined(AARCH32) && defined(IMAGE_BL32)) */ +#endif /* defined(IMAGE_BL31) || (!defined(__aarch64__) && defined(IMAGE_BL32)) */ #if ARM_RECOM_STATE_ID_ENC /* diff --git a/include/plat/common/common_def.h b/include/plat/common/common_def.h index 66c88ba8..14ae603b 100644 --- a/include/plat/common/common_def.h +++ b/include/plat/common/common_def.h @@ -20,13 +20,13 @@ /* * Platform binary types for linking */ -#ifdef AARCH32 -#define PLATFORM_LINKER_FORMAT "elf32-littlearm" -#define PLATFORM_LINKER_ARCH arm -#else +#ifdef __aarch64__ #define PLATFORM_LINKER_FORMAT "elf64-littleaarch64" #define PLATFORM_LINKER_ARCH aarch64 -#endif /* AARCH32 */ +#else +#define PLATFORM_LINKER_FORMAT "elf32-littlearm" +#define PLATFORM_LINKER_ARCH arm +#endif /* __aarch64__ */ /* * Generic platform constants |