]> www.infradead.org Git - users/hch/block.git/commitdiff
Merge branch kvm-arm64/pkvm-6.10 into kvmarm-master/next
authorMarc Zyngier <maz@kernel.org>
Fri, 3 May 2024 10:39:52 +0000 (11:39 +0100)
committerMarc Zyngier <maz@kernel.org>
Fri, 3 May 2024 10:39:52 +0000 (11:39 +0100)
* kvm-arm64/pkvm-6.10: (25 commits)
  : .
  : At last, a bunch of pKVM patches, courtesy of Fuad Tabba.
  : From the cover letter:
  :
  : "This series is a bit of a bombay-mix of patches we've been
  : carrying. There's no one overarching theme, but they do improve
  : the code by fixing existing bugs in pKVM, refactoring code to
  : make it more readable and easier to re-use for pKVM, or adding
  : functionality to the existing pKVM code upstream."
  : .
  KVM: arm64: Force injection of a data abort on NISV MMIO exit
  KVM: arm64: Restrict supported capabilities for protected VMs
  KVM: arm64: Refactor setting the return value in kvm_vm_ioctl_enable_cap()
  KVM: arm64: Document the KVM/arm64-specific calls in hypercalls.rst
  KVM: arm64: Rename firmware pseudo-register documentation file
  KVM: arm64: Reformat/beautify PTP hypercall documentation
  KVM: arm64: Clarify rationale for ZCR_EL1 value restored on guest exit
  KVM: arm64: Introduce and use predicates that check for protected VMs
  KVM: arm64: Add is_pkvm_initialized() helper
  KVM: arm64: Simplify vgic-v3 hypercalls
  KVM: arm64: Move setting the page as dirty out of the critical section
  KVM: arm64: Change kvm_handle_mmio_return() return polarity
  KVM: arm64: Fix comment for __pkvm_vcpu_init_traps()
  KVM: arm64: Prevent kmemleak from accessing .hyp.data
  KVM: arm64: Do not map the host fpsimd state to hyp in pKVM
  KVM: arm64: Rename __tlb_switch_to_{guest,host}() in VHE
  KVM: arm64: Support TLB invalidation in guest context
  KVM: arm64: Avoid BBM when changing only s/w bits in Stage-2 PTE
  KVM: arm64: Check for PTE validity when checking for executable/cacheable
  KVM: arm64: Avoid BUG-ing from the host abort path
  ...

Signed-off-by: Marc Zyngier <maz@kernel.org>
13 files changed:
1  2 
arch/arm64/include/asm/kvm_emulate.h
arch/arm64/include/asm/kvm_host.h
arch/arm64/kvm/arm.c
arch/arm64/kvm/hyp/include/hyp/switch.h
arch/arm64/kvm/hyp/nvhe/switch.c
arch/arm64/kvm/hyp/nvhe/tlb.c
arch/arm64/kvm/hyp/pgtable.c
arch/arm64/kvm/hyp/vhe/switch.c
arch/arm64/kvm/hyp/vhe/tlb.c
arch/arm64/kvm/mmu.c
arch/arm64/kvm/vgic/vgic.c
arch/arm64/kvm/vgic/vgic.h
include/kvm/arm_vgic.h

Simple merge
Simple merge
Simple merge
Simple merge
index 2fc68da4036d901f8646753aa2935a6278235d0f,c6e0a49eb8606ae11be8df0d8d59acf3423e1387..ca3c09df8d7c96a3c7e0479cd2d7bbc366e0b97d
@@@ -152,10 -219,9 +219,10 @@@ void __kvm_tlb_flush_vmid_range(struct 
        start = round_down(start, stride);
  
        /* Switch to requested VMID */
-       __tlb_switch_to_guest(mmu, &cxt, false);
+       enter_vmid_context(mmu, &cxt, false);
  
 -      __flush_s2_tlb_range_op(ipas2e1is, start, pages, stride, 0);
 +      __flush_s2_tlb_range_op(ipas2e1is, start, pages, stride,
 +                              TLBI_TTL_UNKNOWN);
  
        dsb(ish);
        __tlbi(vmalle1is);
Simple merge
Simple merge
index 1a60b95381e8e90af73083e0f46ab3211eea96ee,4a653c4a277d30b458704aece37b9f5a456a981a..5fa0359f3a8709c9ee4f9128a9b66439ad0476c6
@@@ -169,10 -169,9 +169,10 @@@ void __kvm_tlb_flush_vmid_range(struct 
        dsb(ishst);
  
        /* Switch to requested VMID */
-       __tlb_switch_to_guest(mmu, &cxt);
+       enter_vmid_context(mmu, &cxt);
  
 -      __flush_s2_tlb_range_op(ipas2e1is, start, pages, stride, 0);
 +      __flush_s2_tlb_range_op(ipas2e1is, start, pages, stride,
 +                              TLBI_TTL_UNKNOWN);
  
        dsb(ish);
        __tlbi(vmalle1is);
Simple merge
Simple merge
Simple merge
Simple merge