• Marc Zyngier's avatar
    Merge branch kvm-arm64/pkvm-vcpu-state into kvmarm-master/next · cfa72993
    Marc Zyngier authored
    * kvm-arm64/pkvm-vcpu-state: (25 commits)
      : .
      : Large drop of pKVM patches from Will Deacon and co, adding
      : a private vm/vcpu state at EL2, managed independently from
      : the EL1 state. From the cover letter:
      :
      : "This is version six of the pKVM EL2 state series, extending the pKVM
      : hypervisor code so that it can dynamically instantiate and manage VM
      : data structures without the host being able to access them directly.
      : These structures consist of a hyp VM, a set of hyp vCPUs and the stage-2
      : page-table for the MMU. The pages used to hold the hypervisor structures
      : are returned to the host when the VM is destroyed."
      : .
      KVM: arm64: Use the pKVM hyp vCPU structure in handle___kvm_vcpu_run()
      KVM: arm64: Don't unnecessarily map host kernel sections at EL2
      KVM: arm64: Explicitly map 'kvm_vgic_global_state' at EL2
      KVM: arm64: Maintain a copy of 'kvm_arm_vmid_bits' at EL2
      KVM: arm64: Unmap 'kvm_arm_hyp_percpu_base' from the host
      KVM: arm64: Return guest memory from EL2 via dedicated teardown memcache
      KVM: arm64: Instantiate guest stage-2 page-tables at EL2
      KVM: arm64: Consolidate stage-2 initialisation into a single function
      KVM: arm64: Add generic hyp_memcache helpers
      KVM: arm64: Provide I-cache invalidation by virtual address at EL2
      KVM: arm64: Initialise hypervisor copies of host symbols unconditionally
      KVM: arm64: Add per-cpu fixmap infrastructure at EL2
      KVM: arm64: Instantiate pKVM hypervisor VM and vCPU structures from EL1
      KVM: arm64: Add infrastructure to create and track pKVM instances at EL2
      KVM: arm64: Rename 'host_kvm' to 'host_mmu'
      KVM: arm64: Add hyp_spinlock_t static initializer
      KVM: arm64: Include asm/kvm_mmu.h in nvhe/mem_protect.h
      KVM: arm64: Add helpers to pin memory shared with the hypervisor at EL2
      KVM: arm64: Prevent the donation of no-map pages
      KVM: arm64: Implement do_donate() helper for donating memory
      ...
    Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
    cfa72993
arm.c 54.3 KB