forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branches 'fixes', 'generic', 'misc', 'mmu', 'pat_vmx_msrs', 'se…
…lftests', 'svm' and 'vmx' * fixes: KVM: SEV: Update KVM_AMD_SEV Kconfig entry and mention SEV-SNP KVM: SVM: Don't advertise Bus Lock Detect to guest if SVM support is missing KVM: SVM: fix emulation of msr reads/writes of MSR_FS_BASE and MSR_GS_BASE KVM: x86: Acquire kvm->srcu when handling KVM_SET_VCPU_EVENTS KVM: x86/mmu: Check that root is valid/loaded when pre-faulting SPTEs KVM: x86/mmu: Fixup comments missed by the REMOVED_SPTE=>FROZEN_SPTE rename * generic: KVM: Harden guest memory APIs against out-of-bounds accesses KVM: Write the per-page "segment" when clearing (part of) a guest page KVM: Clean up coalesced MMIO ring full check KVM: selftests: Add a test for coalesced MMIO (and PIO on x86) KVM: Fix coalesced_mmio_has_room() to avoid premature userspace exit * misc: (30 commits) KVM: x86: Remove some unused declarations KVM: x86: Forcibly leave nested if RSM to L2 hits shutdown KVM: x86: Add fastpath handling of HLT VM-Exits KVM: x86: Reorganize code in x86.c to co-locate vCPU blocking/running helpers KVM: x86: Exit to userspace if fastpath triggers one on instruction skip KVM: x86: Dedup fastpath MSR post-handling logic KVM: x86: Re-enter guest if WRMSR(X2APIC_ICR) fastpath is successful KVM: selftests: Play nice with AMD's AVIC errata KVM: selftests: Verify the guest can read back the x2APIC ICR it wrote KVM: selftests: Test x2APIC ICR reserved bits KVM: selftests: Skip ICR.BUSY test in xapic_state_test if x2APIC is enabled KVM: selftests: Add x86 helpers to play nice with x2APIC MSR #GPs KVM: selftests: Report unhandled exceptions on x86 as regular guest asserts KVM: selftests: Open code vcpu_run() equivalent in guest_printf test KVM: x86: Re-split x2APIC ICR into ICR+ICR2 for AMD (x2AVIC) KVM: x86: Move x2APIC ICR helper above kvm_apic_write_nodecode() KVM: x86: Enforce x2APIC's must-be-zero reserved ICR bits KVM: x86: Suppress userspace access failures on unsupported, "emulated" MSRs KVM: x86: Suppress failures on userspace access to advertised, unsupported MSRs KVM: x86: Hoist x86.c's global msr_* variables up above kvm_do_msr_access() ... * mmu: (33 commits) KVM: x86/mmu: Use KVM_PAGES_PER_HPAGE() instead of an open coded equivalent KVM: x86/mmu: Add KVM_RMAP_MANY to replace open coded '1' and '1ul' literals KVM: x86/mmu: Fold mmu_spte_age() into kvm_rmap_age_gfn_range() KVM: x86/mmu: Morph kvm_handle_gfn_range() into an aging specific helper KVM: x86/mmu: Honor NEED_RESCHED when zapping rmaps and blocking is allowed KVM: x86/mmu: Add a helper to walk and zap rmaps for a memslot KVM: x86/mmu: Plumb a @can_yield parameter into __walk_slot_rmaps() KVM: x86/mmu: Move walk_slot_rmaps() up near for_each_slot_rmap_range() KVM: x86/mmu: WARN on MMIO cache hit when emulating write-protected gfn KVM: x86/mmu: Detect if unprotect will do anything based on invalid_list KVM: x86/mmu: Subsume kvm_mmu_unprotect_page() into the and_retry() version KVM: x86: Rename reexecute_instruction()=>kvm_unprotect_and_retry_on_failure() KVM: x86: Update retry protection fields when forcing retry on emulation failure KVM: x86: Apply retry protection to "unprotect on failure" path KVM: x86: Check EMULTYPE_WRITE_PF_TO_SP before unprotecting gfn KVM: x86: Remove manual pfn lookup when retrying #PF after failed emulation KVM: x86/mmu: Move event re-injection unprotect+retry into common path KVM: x86/mmu: Always walk guest PTEs with WRITE access when unprotecting KVM: x86/mmu: Don't try to unprotect an INVALID_GPA KVM: x86: Fold retry_instruction() into x86_emulate_instruction() ... * pat_vmx_msrs: KVM: nVMX: Use macros and #defines in vmx_restore_vmx_misc() KVM: VMX: Open code VMX preemption timer rate mask in its accessor KVM VMX: Move MSR_IA32_VMX_MISC bit defines to asm/vmx.h KVM: nVMX: Add a helper to encode VMCS info in MSR_IA32_VMX_BASIC KVM: nVMX: Use macros and #defines in vmx_restore_vmx_basic() KVM: VMX: Track CPU's MSR_IA32_VMX_BASIC as a single 64-bit value KVM: VMX: Move MSR_IA32_VMX_BASIC bit defines to asm/vmx.h KVM: x86: Stuff vCPU's PAT with default value at RESET, not creation x86/cpu: KVM: Move macro to encode PAT value to common header x86/cpu: KVM: Add common defines for architectural memory types (PAT, MTRRs, etc.) * selftests: KVM: selftests: Verify single-stepping a fastpath VM-Exit exits to userspace KVM: selftests: Explicitly include committed one-off assets in .gitignore KVM: selftests: Add SEV-ES shutdown test KVM: selftests: Always unlink memory regions when deleting (VM free) KVM: selftests: Remove unused kvm_memcmp_hva_gva() KVM: selftests: Re-enable hyperv_evmcs/hyperv_svm_test on bare metal KVM: selftests: Move Hyper-V specific functions out of processor.c * svm: KVM: SVM: Track the per-CPU host save area as a VMCB pointer KVM: SVM: Add host SEV-ES save area structure into VMCB via a union KVM: SVM: Add a helper to convert a SME-aware PA back to a struct page KVM: SVM: Remove unnecessary GFP_KERNEL_ACCOUNT in svm_set_nested_state() * vmx: KVM: VMX: Set PFERR_GUEST_{FINAL,PAGE}_MASK if and only if the GVA is valid KVM: nVMX: Assert that vcpu->mutex is held when accessing secondary VMCSes KVM: nVMX: Explicitly invalidate posted_intr_nv if PI is disabled at VM-Enter KVM: x86: Fold kvm_get_apic_interrupt() into kvm_cpu_get_interrupt() KVM: nVMX: Detect nested posted interrupt NV at nested VM-Exit injection KVM: nVMX: Suppress external interrupt VM-Exit injection if there's no IRQ KVM: nVMX: Get to-be-acknowledge IRQ for nested VM-Exit at injection site KVM: x86: Move "ack" phase of local APIC IRQ delivery to separate API KVM: VMX: Also clear SGX EDECCSSA in KVM CPU caps when SGX is disabled KVM: VMX: hyper-v: Prevent impossible NULL pointer dereference in evmcs_load() KVM: nVMX: Use vmx_segment_cache_clear() instead of open coded equivalent KVM: nVMX: Honor userspace MSR filter lists for nested VM-Enter/VM-Exit KVM: VMX: Do not account for temporary memory allocation in ECREATE emulation KVM: VMX: Modify the BUILD_BUG_ON_MSG of the 32-bit field in the vmcs_check16 function
- Loading branch information
Showing
58 changed files
with
1,882 additions
and
1,297 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.