# Copyright (c) 2019 BayLibre SAS
# SPDX-License-Identifier: Apache-2.0

config BOARD_QEMU_RISCV64
	bool "QEMU RISCV64 target"
	depends on SOC_RISCV_VIRT
	select QEMU_TARGET
	select 64BIT
	select CPU_HAS_FPU_DOUBLE_PRECISION
	select RISCV_ISA_RV64I
	select RISCV_ISA_EXT_ZICSR
	select RISCV_ISA_EXT_ZIFENCEI

config BOARD_QEMU_RISCV64_SMP
	bool "QEMU RISCV64 SMP target"
	depends on SOC_RISCV_VIRT
	select QEMU_TARGET
	select 64BIT
	select CPU_HAS_FPU_DOUBLE_PRECISION
	select RISCV_ISA_RV64I
	select RISCV_ISA_EXT_ZICSR
	select RISCV_ISA_EXT_ZIFENCEI
