From: Paolo Bonzini Date: Fri, 5 May 2023 10:11:48 +0000 (-0400) Subject: Merge tag 'kvm-riscv-6.4-1' of https://github.com/kvm-riscv/linux into HEAD X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=d4fba4dfdcce1e23bc769591bc2e993118391b53;p=linux.git Merge tag 'kvm-riscv-6.4-1' of https://github.com/kvm-riscv/linux into HEAD KVM/riscv changes for 6.4 - ONE_REG interface to enable/disable SBI extensions - Zbb extension for Guest/VM - AIA CSR virtualization --- d4fba4dfdcce1e23bc769591bc2e993118391b53 diff --cc arch/riscv/include/asm/hwcap.h index 9af7939708558,ab2abf5615208..e0c40a4c63d51 --- a/arch/riscv/include/asm/hwcap.h +++ b/arch/riscv/include/asm/hwcap.h @@@ -42,8 -42,8 +42,10 @@@ #define RISCV_ISA_EXT_ZBB 30 #define RISCV_ISA_EXT_ZICBOM 31 #define RISCV_ISA_EXT_ZIHINTPAUSE 32 -#define RISCV_ISA_EXT_SMAIA 33 -#define RISCV_ISA_EXT_SSAIA 34 +#define RISCV_ISA_EXT_SVNAPOT 33 +#define RISCV_ISA_EXT_ZICBOZ 34 ++#define RISCV_ISA_EXT_SMAIA 35 ++#define RISCV_ISA_EXT_SSAIA 36 #define RISCV_ISA_EXT_MAX 64 #define RISCV_ISA_EXT_NAME_LEN_MAX 32 diff --cc arch/riscv/include/uapi/asm/kvm.h index e44c1e90eaa77,59707b80b3151..f92790c9481a3 --- a/arch/riscv/include/uapi/asm/kvm.h +++ b/arch/riscv/include/uapi/asm/kvm.h @@@ -106,7 -117,8 +118,9 @@@ enum KVM_RISCV_ISA_EXT_ID KVM_RISCV_ISA_EXT_SVINVAL, KVM_RISCV_ISA_EXT_ZIHINTPAUSE, KVM_RISCV_ISA_EXT_ZICBOM, + KVM_RISCV_ISA_EXT_ZICBOZ, + KVM_RISCV_ISA_EXT_ZBB, + KVM_RISCV_ISA_EXT_SSAIA, KVM_RISCV_ISA_EXT_MAX, }; diff --cc arch/riscv/kernel/cpu.c index 3df38052dcbd7,ae1e7bbf9344e..c96aa56cf1c7b --- a/arch/riscv/kernel/cpu.c +++ b/arch/riscv/kernel/cpu.c @@@ -182,9 -186,10 +182,11 @@@ arch_initcall(riscv_cpuinfo_init) */ static struct riscv_isa_ext_data isa_ext_arr[] = { __RISCV_ISA_EXT_DATA(zicbom, RISCV_ISA_EXT_ZICBOM), + __RISCV_ISA_EXT_DATA(zicboz, RISCV_ISA_EXT_ZICBOZ), __RISCV_ISA_EXT_DATA(zihintpause, RISCV_ISA_EXT_ZIHINTPAUSE), __RISCV_ISA_EXT_DATA(zbb, RISCV_ISA_EXT_ZBB), + __RISCV_ISA_EXT_DATA(smaia, RISCV_ISA_EXT_SMAIA), + __RISCV_ISA_EXT_DATA(ssaia, RISCV_ISA_EXT_SSAIA), __RISCV_ISA_EXT_DATA(sscofpmf, RISCV_ISA_EXT_SSCOFPMF), __RISCV_ISA_EXT_DATA(sstc, RISCV_ISA_EXT_SSTC), __RISCV_ISA_EXT_DATA(svinval, RISCV_ISA_EXT_SVINVAL), diff --cc arch/riscv/kvm/Kconfig index 5682d8c017b3e,5bcb2d519b95d..28891e583259c --- a/arch/riscv/kvm/Kconfig +++ b/arch/riscv/kvm/Kconfig @@@ -20,14 -20,15 +20,14 @@@ if VIRTUALIZATIO config KVM tristate "Kernel-based Virtual Machine (KVM) support (EXPERIMENTAL)" depends on RISCV_SBI && MMU + select HAVE_KVM_EVENTFD + select HAVE_KVM_VCPU_ASYNC_IOCTL + select KVM_GENERIC_DIRTYLOG_READ_PROTECT select KVM_GENERIC_HARDWARE_ENABLING - select MMU_NOTIFIER - select PREEMPT_NOTIFIERS select KVM_MMIO - select KVM_GENERIC_DIRTYLOG_READ_PROTECT select KVM_XFER_TO_GUEST_WORK - select HAVE_KVM_VCPU_ASYNC_IOCTL - select HAVE_KVM_EVENTFD + select MMU_NOTIFIER + select PREEMPT_NOTIFIERS - select SRCU help Support hosting virtualized guest machines. diff --cc arch/riscv/kvm/vcpu.c index 6adb1b6112a1d,811c7e9a308c2..8bd9f2a8a0b91 --- a/arch/riscv/kvm/vcpu.c +++ b/arch/riscv/kvm/vcpu.c @@@ -61,9 -62,9 +62,10 @@@ static const unsigned long kvm_isa_ext_ KVM_ISA_EXT_ARR(SSTC), KVM_ISA_EXT_ARR(SVINVAL), KVM_ISA_EXT_ARR(SVPBMT), + KVM_ISA_EXT_ARR(ZBB), KVM_ISA_EXT_ARR(ZIHINTPAUSE), KVM_ISA_EXT_ARR(ZICBOM), + KVM_ISA_EXT_ARR(ZICBOZ), }; static unsigned long kvm_riscv_vcpu_base2isa_ext(unsigned long base_ext)