* kvm-arm64/nv-nv: : . : Flick the switch on the NV support by adding the missing piece : in the form of the VNCR page management. From the cover letter: : : "This is probably the most interesting bit of the whole NV adventure. : So far, everything else has been a walk in the park, but this one is : where the real fun takes place. : : With FEAT_NV2, most of the NV support revolves around tricking a guest : into accessing memory while it tries to access system registers. The : hypervisor's job is to handle the context switch of the actual : registers with the state in memory as needed." : . KVM: arm64: nv: Release faulted-in VNCR page from mmu_lock critical section KVM: arm64: nv: Handle TLBI S1E2 for VNCR invalidation with mmu_lock held KVM: arm64: nv: Hold mmu_lock when invalidating VNCR SW-TLB before translating KVM: arm64: Document NV caps and vcpu flags KVM: arm64: Allow userspace to request KVM_ARM_VCPU_EL2* KVM: arm64: nv: Remove dead code from ERET handling KVM: arm64: nv: Plumb TLBI S1E2 into system instruction dispatch KVM: arm64: nv: Add S1 TLB invalidation primitive for VNCR_EL2 KVM: arm64: nv: Program host's VNCR_EL2 to the fixmap address KVM: arm64: nv: Handle VNCR_EL2 invalidation from MMU notifiers KVM: arm64: nv: Handle mapping of VNCR_EL2 at EL2 KVM: arm64: nv: Handle VNCR_EL2-triggered faults KVM: arm64: nv: Add userspace and guest handling of VNCR_EL2 KVM: arm64: nv: Add pseudo-TLB backing VNCR_EL2 KVM: arm64: nv: Don't adjust PSTATE.M when L2 is nesting KVM: arm64: nv: Move TLBI range decoding to a helper KVM: arm64: nv: Snapshot S1 ASID tagging information during walk KVM: arm64: nv: Extract translation helper from the AT code KVM: arm64: nv: Allocate VNCR page when required arm64: sysreg: Add layout for VNCR_EL2
Showing the changes to include/uapi (1 of 16 files). Show all
Unified · Split
| @@ -930,6 +930,8 @@ struct kvm_enable_cap { · 929 unmodified lines | |||
| 930 | #define KVM_CAP_X86_APIC_BUS_CYCLES_NS 237 | 930 | #define KVM_CAP_X86_APIC_BUS_CYCLES_NS 237 |
| 931 | #define KVM_CAP_X86_GUEST_MODE 238 | 931 | #define KVM_CAP_X86_GUEST_MODE 238 |
| 932 | #define KVM_CAP_ARM_WRITABLE_IMP_ID_REGS 239 | 932 | #define KVM_CAP_ARM_WRITABLE_IMP_ID_REGS 239 |
| 933 | #define KVM_CAP_ARM_EL2 240 | ||
| 934 | #define KVM_CAP_ARM_EL2_E2H0 241 | ||
| 933 | 935 | ||
| 934 | struct kvm_irq_routing_irqchip { | 936 | struct kvm_irq_routing_irqchip { |
| 935 | __u32 irqchip; | 937 | __u32 irqchip; |