10d163575Sopenharmony_ci# ARM Architecture 20d163575Sopenharmony_ci 30d163575Sopenharmony_ci# 40d163575Sopenharmony_ci# ARM has 32-bit(Aarch32) and 64-bit(Aarch64) implementations 50d163575Sopenharmony_ci# 60d163575Sopenharmony_ciconfig ARCH_ARM_AARCH32 70d163575Sopenharmony_ci bool 80d163575Sopenharmony_ci select ARCH_ARM 90d163575Sopenharmony_ci help 100d163575Sopenharmony_ci 32-bit ARM architecture implementations, Except the M-profile. 110d163575Sopenharmony_ci It is not limited to ARMv7-A but also ARMv7-R, ARMv8-A 32-bit and etc. 120d163575Sopenharmony_ci 130d163575Sopenharmony_ci# 140d163575Sopenharmony_ci# Architecture Versions 150d163575Sopenharmony_ci# 160d163575Sopenharmony_ciconfig ARCH_ARM_V7A 170d163575Sopenharmony_ci bool 180d163575Sopenharmony_ci 190d163575Sopenharmony_ciconfig ARCH_ARM_VER 200d163575Sopenharmony_ci string 210d163575Sopenharmony_ci default "armv7-a" if ARCH_ARM_V7A 220d163575Sopenharmony_ci 230d163575Sopenharmony_ci# 240d163575Sopenharmony_ci# VFP Hardware 250d163575Sopenharmony_ci# 260d163575Sopenharmony_ciconfig ARCH_FPU_VFP_V3 270d163575Sopenharmony_ci bool 280d163575Sopenharmony_ci help 290d163575Sopenharmony_ci An optional extension to the Arm, Thumb, and ThumbEE instruction sets in the ARMv7-A and ARMv7-R profiles. 300d163575Sopenharmony_ci VFPv3U is a variant of VFPv3 that supports the trapping of floating-point exceptions to support code. 310d163575Sopenharmony_ci 320d163575Sopenharmony_ciconfig ARCH_FPU_VFP_V4 330d163575Sopenharmony_ci bool 340d163575Sopenharmony_ci help 350d163575Sopenharmony_ci An optional extension to the Arm, Thumb, and ThumbEE instruction sets in the ARMv7-A and ARMv7-R profiles. 360d163575Sopenharmony_ci VFPv4U is a variant of VFPv4 that supports the trapping of floating-point exceptions to support code. 370d163575Sopenharmony_ci VFPv4 and VFPv4U add both the Half-precision Extension and the fused multiply-add instructions to the features of VFPv3. 380d163575Sopenharmony_ci 390d163575Sopenharmony_ciconfig ARCH_FPU_VFP_D16 400d163575Sopenharmony_ci bool 410d163575Sopenharmony_ci depends on ARCH_ARM_AARCH32 420d163575Sopenharmony_ci help 430d163575Sopenharmony_ci VPU implemented with 16 doubleword registers (16 x 64-bit). 440d163575Sopenharmony_ci 450d163575Sopenharmony_ciconfig ARCH_FPU_VFP_D32 460d163575Sopenharmony_ci bool 470d163575Sopenharmony_ci depends on ARCH_ARM_AARCH32 480d163575Sopenharmony_ci help 490d163575Sopenharmony_ci VPU implemented with 32 doubleword registers (32 x 64-bit). 500d163575Sopenharmony_ci 510d163575Sopenharmony_ciconfig ARCH_FPU_VFP_NEON 520d163575Sopenharmony_ci bool 530d163575Sopenharmony_ci help 540d163575Sopenharmony_ci Advanced SIMD extension (NEON) support. 550d163575Sopenharmony_ci 560d163575Sopenharmony_ciconfig ARCH_FPU 570d163575Sopenharmony_ci string 580d163575Sopenharmony_ci default "vfpv3" if ARCH_FPU_VFP_V3 && ARCH_FPU_VFP_D32 590d163575Sopenharmony_ci default "vfpv3-d16" if ARCH_FPU_VFP_V3 && ARCH_FPU_VFP_D16 600d163575Sopenharmony_ci default "neon-vfpv4" if ARCH_FPU_VFP_V4 && ARCH_FPU_VFP_D32 && ARCH_FPU_VFP_NEON 610d163575Sopenharmony_ci default "vfpv4" if ARCH_FPU_VFP_V4 && ARCH_FPU_VFP_D32 620d163575Sopenharmony_ci default "vfpv4-d16" if ARCH_FPU_VFP_V4 && ARCH_FPU_VFP_D16 630d163575Sopenharmony_ci 640d163575Sopenharmony_ci# 650d163575Sopenharmony_ci# Supported Processor Cores 660d163575Sopenharmony_ci# 670d163575Sopenharmony_ciconfig ARCH_CORTEX_A7 680d163575Sopenharmony_ci bool 690d163575Sopenharmony_ci select ARCH_ARM_V7A 700d163575Sopenharmony_ci select ARCH_ARM_AARCH32 710d163575Sopenharmony_ci select ARCH_FPU_VFP_V4 720d163575Sopenharmony_ci select ARCH_FPU_VFP_D32 730d163575Sopenharmony_ci select ARCH_FPU_VFP_NEON 740d163575Sopenharmony_ci 750d163575Sopenharmony_ciconfig ARCH_CPU 760d163575Sopenharmony_ci string 770d163575Sopenharmony_ci default "cortex-a7" if ARCH_CORTEX_A7 780d163575Sopenharmony_ci 790d163575Sopenharmony_ci# 800d163575Sopenharmony_ci# Supported GIC version 810d163575Sopenharmony_ci# 820d163575Sopenharmony_ci 830d163575Sopenharmony_cichoice 840d163575Sopenharmony_ci prompt "GIC version" 850d163575Sopenharmony_ci default ARCH_GIC_V2 860d163575Sopenharmony_ci help 870d163575Sopenharmony_ci Interrupt Controller. 880d163575Sopenharmony_ci 890d163575Sopenharmony_ciconfig ARCH_GIC_V2 900d163575Sopenharmony_ci bool "GIC Version 2" 910d163575Sopenharmony_ci help 920d163575Sopenharmony_ci This GIC(General Interrupt Controller) version 2 driver is compatatble with 930d163575Sopenharmony_ci GIC version 1 and version 2. 940d163575Sopenharmony_ci 950d163575Sopenharmony_ciconfig ARCH_GIC_V3 960d163575Sopenharmony_ci bool "GIC Version 3" 970d163575Sopenharmony_ci depends on ARCH_ARM_V8A || ARCH_ARM_V8R 980d163575Sopenharmony_ci help 990d163575Sopenharmony_ci General Interrupt Controller version 3. 1000d163575Sopenharmony_ci 1010d163575Sopenharmony_ciendchoice 1020d163575Sopenharmony_ci 1030d163575Sopenharmony_ci 104