#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#

if ARCH_CHIP_QEMU_ARM

menu "Qemu Virt Chip Selection"

choice
	prompt "Qemu Core Configuration"
	default ARCH_CHIP_QEMU_CORTEXA7

config ARCH_CHIP_QEMU_CORTEXA7
	bool "Qemu virtual Processor (cortex-a7)"
	select ARCH_CORTEXA7
	select ARCH_HAVE_ADDRENV
	select ARCH_HAVE_ELF_EXECUTABLE
	select ARCH_HAVE_LOWVECTORS
	select ARCH_HAVE_MULTICPU
	select ARCH_NEED_ADDRENV_MAPPING
	select ARM_HAVE_NEON
	select ARM_HAVE_PSCI
	select ARMV7A_HAVE_GICv2
	select ARMV7A_HAVE_GTM
	select ARMV7A_HAVE_PTM

config ARCH_CHIP_QEMU_CORTEXR5
	bool "Qemu virtual Processor (cortex-r5)"
	select ARCH_CORTEXR5
	select ARCH_HAVE_FPU
	select ARCH_HAVE_LOWVECTORS
	select ARM_SEMIHOSTING_POWEROFF
	select ARMV7R_HAVE_GICv2
	select ARMV7R_HAVE_PTM

endchoice # Qemu Chip Selection

endmenu # "Qemu Virt Chip Selection"

config ARCH_CHIP_QEMU_TRUSTZONE
	bool "Enable Arm Security Extensions (TrustZone)"
	select ARCH_HAVE_TRUSTZONE
	default n
	---help---
		Doc: https://qemu-project.gitlab.io/qemu/system/arm/virt.html
		shows that set secure=on/of can emulating a guest CPU which
		implements the Arm Security Extensions (TrustZone).
		The default is off. And this config can enable/disable
		TrustZone in qemu chip.


endif # ARCH_CHIP_QEMU_ARM
