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
248#define KVM_EXIT_IOAPIC_EOI 26248#define KVM_EXIT_IOAPIC_EOI 26
249#define KVM_EXIT_HYPERV 27249#define KVM_EXIT_HYPERV 27
250#define KVM_EXIT_ARM_NISV 28250#define KVM_EXIT_ARM_NISV 28
251#define KVM_EXIT_X86_RDMSR 29
252#define KVM_EXIT_X86_WRMSR 30
251 253
252/* For KVM_EXIT_INTERNAL_ERROR */254/* For KVM_EXIT_INTERNAL_ERROR */
253/* Emulate instruction failed. */255/* Emulate instruction failed. */
@@ -413,6 +415,17 @@ struct kvm_run { · 159 unmodified lines
413 __u64 esr_iss;415 __u64 esr_iss;
414 __u64 fault_ipa;416 __u64 fault_ipa;
415 } arm_nisv;417 } 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;
416 /* Fix the size of the union. */429 /* Fix the size of the union. */
417 char padding[256];430 char padding[256];
418 };431 };
@@ -1037,6 +1050,9 @@ struct kvm_ppc_resize_hpt { · 618 unmodified lines
1037#define KVM_CAP_SMALLER_MAXPHYADDR 1851050#define KVM_CAP_SMALLER_MAXPHYADDR 185
1038#define KVM_CAP_S390_DIAG318 1861051#define KVM_CAP_S390_DIAG318 186
1039#define KVM_CAP_STEAL_TIME 1871052#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
1040 1056
1041#ifdef KVM_CAP_IRQ_ROUTING1057#ifdef KVM_CAP_IRQ_ROUTING
1042 1058
@@ -1538,6 +1554,9 @@ struct kvm_pv_cmd { · 495 unmodified lines
1538/* Available with KVM_CAP_S390_PROTECTED */1554/* Available with KVM_CAP_S390_PROTECTED */
1539#define KVM_S390_PV_COMMAND _IOWR(KVMIO, 0xc5, struct kvm_pv_cmd)1555#define KVM_S390_PV_COMMAND _IOWR(KVMIO, 0xc5, struct kvm_pv_cmd)
1540 1556
1557/* Available with KVM_CAP_X86_MSR_FILTER */
1558#define KVM_X86_SET_MSR_FILTER _IOW(KVMIO, 0xc6, struct kvm_msr_filter)
1559
1541/* Secure Encrypted Virtualization command */1560/* Secure Encrypted Virtualization command */
1542enum sev_cmd_id {1561enum sev_cmd_id {
1543 /* Guest initialization commands */1562 /* 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