b989e4f3a6
Summary: 1. to enable Toolchain select Kconfig option, making something depend on the opton to be configured with menuconfig Signed-off-by: qinwei1 <qinwei1@xiaomi.com>
142 lines
2.6 KiB
Plaintext
142 lines
2.6 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
if ARCH_ARM64
|
|
comment "ARM64 Options"
|
|
|
|
choice
|
|
prompt "ARM64 Toolchain Selection"
|
|
default ARM64_TOOLCHAIN_GNU_EABI
|
|
|
|
config ARM64_TOOLCHAIN_GNU_EABI
|
|
bool "Generic GNU EABI toolchain"
|
|
select ARCH_TOOLCHAIN_GNU
|
|
---help---
|
|
This option should work for any modern GNU toolchain (GCC 4.5 or newer)
|
|
|
|
config ARM64_TOOLCHAIN_CLANG
|
|
bool "LLVM Clang toolchain"
|
|
select ARCH_TOOLCHAIN_CLANG
|
|
|
|
endchoice
|
|
|
|
choice
|
|
prompt "ARM64 chip selection"
|
|
default ARCH_CHIP_QEMU
|
|
|
|
config ARCH_CHIP_A64
|
|
bool "Allwinner A64"
|
|
select ARCH_CORTEX_A53
|
|
select ARCH_HAVE_ADDRENV
|
|
select ARCH_HAVE_RESET
|
|
select ARCH_NEED_ADDRENV_MAPPING
|
|
---help---
|
|
Allwinner A64 SoC
|
|
|
|
config ARCH_CHIP_QEMU
|
|
bool "QEMU virt platform (ARMv8a)"
|
|
select ARCH_CORTEX_A53
|
|
select ARCH_HAVE_ADDRENV
|
|
select ARCH_NEED_ADDRENV_MAPPING
|
|
---help---
|
|
QEMU virt platform (ARMv8a)
|
|
|
|
endchoice
|
|
|
|
config ARCH_ARMV8A
|
|
bool
|
|
default n
|
|
|
|
config ARCH_ARMV8R
|
|
bool
|
|
default n
|
|
|
|
config ARCH_CORTEX_A53
|
|
bool
|
|
default n
|
|
select ARCH_ARMV8A
|
|
select ARM_HAVE_NEON
|
|
select ARCH_HAVE_TRUSTZONE
|
|
select ARCH_DCACHE
|
|
select ARCH_ICACHE
|
|
select ARCH_HAVE_MMU
|
|
select ARCH_HAVE_FPU
|
|
select ARCH_HAVE_TESTSET
|
|
|
|
config ARCH_CORTEX_A57
|
|
bool
|
|
default n
|
|
select ARCH_ARMV8A
|
|
select ARM_HAVE_NEON
|
|
select ARCH_HAVE_TRUSTZONE
|
|
select ARCH_DCACHE
|
|
select ARCH_ICACHE
|
|
select ARCH_HAVE_MMU
|
|
select ARCH_HAVE_FPU
|
|
select ARCH_HAVE_TESTSET
|
|
|
|
config ARCH_CORTEX_A72
|
|
bool
|
|
default n
|
|
select ARCH_ARMV8A
|
|
select ARM_HAVE_NEON
|
|
select ARCH_HAVE_TRUSTZONE
|
|
select ARCH_DCACHE
|
|
select ARCH_ICACHE
|
|
select ARCH_HAVE_MMU
|
|
select ARCH_HAVE_FPU
|
|
select ARCH_HAVE_TESTSET
|
|
|
|
config ARCH_CORTEX_R82
|
|
bool
|
|
default n
|
|
select ARCH_ARMV8R
|
|
select ARCH_DCACHE
|
|
select ARCH_ICACHE
|
|
select ARCH_HAVE_MPU
|
|
select ARCH_HAVE_TESTSET
|
|
|
|
config ARCH_FAMILY
|
|
string
|
|
default "armv8-a" if ARCH_ARMV8A
|
|
default "armv8-r" if ARCH_ARMV8R
|
|
|
|
config ARCH_CHIP
|
|
string
|
|
default "a64" if ARCH_CHIP_A64
|
|
default "qemu" if ARCH_CHIP_QEMU
|
|
|
|
config ARCH_HAVE_TRUSTZONE
|
|
bool
|
|
default n
|
|
---help---
|
|
Automatically selected to indicate that the ARM CPU supports
|
|
TrustZone.
|
|
|
|
config ARM_HAVE_NEON
|
|
bool
|
|
default n
|
|
---help---
|
|
Decide whether support NEON instruction
|
|
|
|
config ARM_GIC_VERSION
|
|
int "GIC version"
|
|
default 2 if ARCH_CHIP_A64
|
|
default 3
|
|
range 2 4
|
|
---help---
|
|
Version of Generic Interrupt Controller (GIC) supported by the
|
|
architecture
|
|
|
|
if ARCH_CHIP_A64
|
|
source "arch/arm64/src/a64/Kconfig"
|
|
endif
|
|
|
|
if ARCH_CHIP_QEMU
|
|
source "arch/arm64/src/qemu/Kconfig"
|
|
endif
|
|
|
|
endif # ARCH_ARM64
|