# Copyright (c) 2024 Antmicro <www.antmicro.com>
# SPDX-License-Identifier: Apache-2.0

config SOC_FAMILY_QEMU_VIRT_RISCV
	select ATOMIC_OPERATIONS_BUILTIN
	select INCLUDE_RESET_VECTOR
	select RISCV_ISA_EXT_M
	select RISCV_ISA_EXT_A
	select RISCV_ISA_EXT_C
	select RISCV
	select RISCV_PRIVILEGED
	select RISCV_HAS_PLIC

if SOC_FAMILY_QEMU_VIRT_RISCV

rsource "*/Kconfig"

endif # SOC_FAMILY_QEMU_VIRT_RISCV
