History

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

Pull KVM updates from Paolo Bonzini: "For x86, there is a new alternative and (in the future) more scalable implementation of extended page tables that does not need a reverse map from guest physical addresses to host physical addresses. For now it is disabled by default because it is still lacking a few of the existing MMU's bells and whistles. However it is a very solid piece of work and it is already available for people to hammer on it. Other updates: ARM: - New page table code for both hypervisor and guest stage-2 - Introduction of a new EL2-private host context - Allow EL2 to have its own private per-CPU variables - Support of PMU event filtering - Complete rework of the Spectre mitigation PPC: - Fix for running nested guests with in-kernel IRQ chip - Fix race condition causing occasional host hard lockup - Minor cleanups and bugfixes x86: - allow trapping unknown MSRs to userspace - allow userspace to force #GP on specific MSRs - INVPCID support on AMD - nested AMD cleanup, on demand allocation of nested SVM state - hide PV MSRs and hypercalls for features not enabled in CPUID - new test for MSR_IA32_TSC writes from host and guest - cleanups: MMU, CPUID, shared MSRs - LAPIC latency optimizations ad bugfixes" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (232 commits) kvm: x86/mmu: NX largepage recovery for TDP MMU kvm: x86/mmu: Don't clear write flooding count for direct roots kvm: x86/mmu: Support MMIO in the TDP MMU kvm: x86/mmu: Support write protection for nesting in tdp MMU kvm: x86/mmu: Support disabling dirty logging for the tdp MMU kvm: x86/mmu: Support dirty logging for the TDP MMU kvm: x86/mmu: Support changed pte notifier in tdp MMU kvm: x86/mmu: Add access tracking for tdp_mmu kvm: x86/mmu: Support invalidate range MMU notifier for TDP MMU kvm: x86/mmu: Allocate struct kvm_mmu_pages for all pages in TDP MMU kvm: x86/mmu: Add TDP MMU PF handler kvm: x86/mmu: Remove disallowed_hugepage_adjust shadow_walk_iterator arg kvm: x86/mmu: Support zapping SPTEs in the TDP MMU KVM: Cache as_id in kvm_memory_slot kvm: x86/mmu: Add functions to handle changed TDP SPTEs kvm: x86/mmu: Allocate and free TDP MMU roots kvm: x86/mmu: Init / Uninit the TDP MMU kvm: x86/mmu: Introduce tdp_iter KVM: mmu: extract spte.h and spte.c KVM: mmu: Separate updating a PTE from kvm_set_pte_rmapp ...

Linus Torvalds committed 6 years ago

Commit f9a705a2 parents 9313f80 29cf0f5119 files · +8444 −4976Browse files

Showing the changes to include/uapi/linux (1 of 119 files). Show all

Unified · Split

include/uapi/linux/kvm.h+19−0
@@ -248,6 +248,8 @@ struct kvm_hyperv_exit { · 247 unmodified lines
248248 #define KVM_EXIT_IOAPIC_EOI 26
249249 #define KVM_EXIT_HYPERV 27
250250 #define KVM_EXIT_ARM_NISV 28
251+#define KVM_EXIT_X86_RDMSR 29
252+#define KVM_EXIT_X86_WRMSR 30
251253
252254 /* For KVM_EXIT_INTERNAL_ERROR */
253255 /* Emulate instruction failed. */
@@ -413,6 +415,17 @@ struct kvm_run { · 159 unmodified lines
413415 __u64 esr_iss;
414416 __u64 fault_ipa;
415417 } arm_nisv;
418+ /* KVM_EXIT_X86_RDMSR / KVM_EXIT_X86_WRMSR */
419+ struct {
420+ __u8 error; /* user -> kernel */
421+ __u8 pad[7];
422+#define KVM_MSR_EXIT_REASON_INVAL (1 << 0)
423+#define KVM_MSR_EXIT_REASON_UNKNOWN (1 << 1)
424+#define KVM_MSR_EXIT_REASON_FILTER (1 << 2)
425+ __u32 reason; /* kernel -> user */
426+ __u32 index; /* kernel -> user */
427+ __u64 data; /* kernel <-> user */
428+ } msr;
416429 /* Fix the size of the union. */
417430 char padding[256];
418431 };
@@ -1037,6 +1050,9 @@ struct kvm_ppc_resize_hpt { · 618 unmodified lines
10371050 #define KVM_CAP_SMALLER_MAXPHYADDR 185
10381051 #define KVM_CAP_S390_DIAG318 186
10391052 #define KVM_CAP_STEAL_TIME 187
1053+#define KVM_CAP_X86_USER_SPACE_MSR 188
1054+#define KVM_CAP_X86_MSR_FILTER 189
1055+#define KVM_CAP_ENFORCE_PV_FEATURE_CPUID 190
10401056
10411057 #ifdef KVM_CAP_IRQ_ROUTING
10421058
@@ -1538,6 +1554,9 @@ struct kvm_pv_cmd { · 495 unmodified lines
15381554 /* Available with KVM_CAP_S390_PROTECTED */
15391555 #define KVM_S390_PV_COMMAND _IOWR(KVMIO, 0xc5, struct kvm_pv_cmd)
15401556
1557+/* Available with KVM_CAP_X86_MSR_FILTER */
1558+#define KVM_X86_SET_MSR_FILTER _IOW(KVMIO, 0xc6, struct kvm_msr_filter)
1559+
15411560 /* Secure Encrypted Virtualization command */
15421561 enum sev_cmd_id {
15431562 /* Guest initialization commands */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t