# Copyright (c) 2022 Carlo Caione <ccaione@baylibre.com>
# SPDX-License-Identifier: Apache-2.0

config BOARD_QEMU_RISCV32E
	bool "QEMU RISCV32E target"
	depends on SOC_RISCV_VIRT
	select QEMU_TARGET
	select RISCV_ISA_RV32E
	select RISCV_ISA_EXT_ZICSR
	select RISCV_ISA_EXT_ZIFENCEI
