Merge tag 'kvm-riscv-6.4-1' of https://github.com/kvm-riscv/linux into HEAD
authorPaolo Bonzini <pbonzini@redhat.com>
Fri, 5 May 2023 10:11:48 +0000 (06:11 -0400)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 5 May 2023 10:11:48 +0000 (06:11 -0400)
KVM/riscv changes for 6.4

- ONE_REG interface to enable/disable SBI extensions
- Zbb extension for Guest/VM
- AIA CSR virtualization

1  2 
arch/riscv/include/asm/csr.h
arch/riscv/include/asm/hwcap.h
arch/riscv/include/uapi/asm/kvm.h
arch/riscv/kernel/cpu.c
arch/riscv/kernel/cpufeature.c
arch/riscv/kvm/Kconfig
arch/riscv/kvm/vcpu.c
arch/riscv/kvm/vm.c

Simple merge
  #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
@@@ -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,
  };
  
@@@ -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),
Simple merge
@@@ -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.
  
@@@ -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)
Simple merge