1# ARM Architecture 2 3# 4# ARM has 32-bit(Aarch32) and 64-bit(Aarch64) implementations 5# 6config ARCH_ARM_AARCH32 7 bool 8 select ARCH_ARM 9 help 10 32-bit ARM architecture implementations, Except the M-profile. 11 It is not limited to ARMv7-A but also ARMv7-R, ARMv8-A 32-bit and etc. 12 13# 14# Architecture Versions 15# 16config ARCH_ARM_V7M 17 bool 18 19config ARCH_ARM_V5TE 20 bool 21 22config ARCH_ARM_VER 23 string 24 default "armv7-m" if ARCH_ARM_V7M 25 default "armv5te" if ARCH_ARM_V5TE 26 27# 28# VFP Hardware 29# 30config ARCH_FPU_VFP_V3 31 bool 32 help 33 An optional extension to the Arm, Thumb, and ThumbEE instruction sets in the ARMv7-A and ARMv7-R profiles. 34 VFPv3U is a variant of VFPv3 that supports the trapping of floating-point exceptions to support code. 35 36config ARCH_FPU_VFP_V4 37 bool 38 help 39 An optional extension to the Arm, Thumb, and ThumbEE instruction sets in the ARMv7-A and ARMv7-R profiles. 40 VFPv4U is a variant of VFPv4 that supports the trapping of floating-point exceptions to support code. 41 VFPv4 and VFPv4U add both the Half-precision Extension and the fused multiply-add instructions to the features of VFPv3. 42 43config ARCH_FPU_VFP_D16 44 bool 45 depends on ARCH_ARM_AARCH32 46 help 47 VPU implemented with 16 doubleword registers (16 x 64-bit). 48 49config ARCH_FPU_VFP_D32 50 bool 51 depends on ARCH_ARM_AARCH32 52 help 53 VPU implemented with 32 doubleword registers (32 x 64-bit). 54 55config ARCH_FPU_VFP_NEON 56 bool 57 help 58 Advanced SIMD extension (NEON) support. 59 60config ARCH_FPU 61 string 62 default "vfpv3" if ARCH_FPU_VFP_V3 && ARCH_FPU_VFP_D32 63 default "vfpv3-d16" if ARCH_FPU_VFP_V3 && ARCH_FPU_VFP_D16 64 default "neon-vfpv4" if ARCH_FPU_VFP_V4 && ARCH_FPU_VFP_D32 && ARCH_FPU_VFP_NEON 65 default "vfpv4" if ARCH_FPU_VFP_V4 && ARCH_FPU_VFP_D32 66 default "vfpv4-d16" if ARCH_FPU_VFP_V4 && ARCH_FPU_VFP_D16 67 68# 69# Supported Processor Cores 70# 71config ARCH_CORTEX_M3 72 bool 73 select ARCH_ARM_V7M 74 select ARCH_ARM_AARCH32 75 76config ARCH_CORTEX_M4 77 bool 78 select ARCH_ARM_V7M 79 select ARCH_ARM_AARCH32 80 81config ARCH_CORTEX_M7 82 bool 83 select ARCH_ARM_V7M 84 select ARCH_ARM_AARCH32 85 select ARCH_FPU_VFP_V4 86 select ARCH_FPU_VFP_D32 87 select ARCH_FPU_VFP_NEON 88 89config ARCH_CORTEX_M33 90 bool 91 select ARCH_ARM_V7M 92 select ARCH_ARM_AARCH32 93 select ARCH_FPU_VFP_V4 94 select ARCH_FPU_VFP_D32 95 select ARCH_FPU_VFP_NEON 96 97config ARCH_CORTEX_M55 98 bool 99 select ARCH_ARM_V7M 100 select ARCH_ARM_AARCH32 101 select ARCH_FPU_VFP_V4 102 select ARCH_FPU_VFP_D32 103 select ARCH_FPU_VFP_NEON 104 105config ARCH_ARM9 106 bool 107 select ARCH_ARM_V5TE 108 select ARCH_ARM_AARCH32 109 110config ARCH_CPU 111 string 112 default "cortex-m3" if ARCH_CORTEX_M3 113 default "cortex-m4" if ARCH_CORTEX_M4 114 default "cortex-m7" if ARCH_CORTEX_M7 115 default "cortex-m33" if ARCH_CORTEX_M33 116 default "cortex-m55" if ARCH_CORTEX_M55 117 default "arm9" if ARCH_ARM9 118