]> Git Repo - linux.git/commitdiff
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
authorLinus Torvalds <[email protected]>
Fri, 23 Oct 2020 18:17:56 +0000 (11:17 -0700)
committerLinus Torvalds <[email protected]>
Fri, 23 Oct 2020 18:17:56 +0000 (11:17 -0700)
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
  ...

18 files changed:
1  2 
Documentation/virt/kvm/api.rst
Documentation/virt/kvm/cpuid.rst
arch/arm64/include/asm/pgtable-hwdef.h
arch/arm64/include/asm/pgtable-prot.h
arch/arm64/kernel/image-vars.h
arch/arm64/kernel/vmlinux.lds.S
arch/arm64/kvm/pmu-emul.c
arch/arm64/kvm/sys_regs.c
arch/powerpc/kvm/book3s_hv.c
arch/x86/include/uapi/asm/svm.h
arch/x86/kernel/kvm.c
arch/x86/kvm/hyperv.c
arch/x86/kvm/svm/sev.c
arch/x86/kvm/svm/svm.c
arch/x86/kvm/vmx/nested.c
arch/x86/kvm/vmx/vmx.c
arch/x86/mm/fault.c
include/kvm/arm_pmu.h

Simple merge
index 9150e9d1c39b8921241ced9715e4c3df3c2fcf38,f1583e682cc83813c38fc76a51162f236228fed5..7d81c0aa4a59c1303224ab8f534825d02143d159
@@@ -38,64 -38,64 +38,64 @@@ returns:
  
  where ``flag`` is defined as below:
  
- ================================= =========== ================================
- flag                              value       meaning
- ================================= =========== ================================
- KVM_FEATURE_CLOCKSOURCE           0           kvmclock available at msrs
-                                               0x11 and 0x12
+ ================================== =========== ================================
+ flag                               value       meaning
+ ================================== =========== ================================
+ KVM_FEATURE_CLOCKSOURCE            0           kvmclock available at msrs
+                                                0x11 and 0x12
  
- KVM_FEATURE_NOP_IO_DELAY          1           not necessary to perform delays
-                                               on PIO operations
+ KVM_FEATURE_NOP_IO_DELAY           1           not necessary to perform delays
+                                                on PIO operations
  
- KVM_FEATURE_MMU_OP                2           deprecated
+ KVM_FEATURE_MMU_OP                 2           deprecated
  
- KVM_FEATURE_CLOCKSOURCE2          3           kvmclock available at msrs
-                                               0x4b564d00 and 0x4b564d01
+ KVM_FEATURE_CLOCKSOURCE2           3           kvmclock available at msrs
+                                                0x4b564d00 and 0x4b564d01
  
- KVM_FEATURE_ASYNC_PF              4           async pf can be enabled by
-                                               writing to msr 0x4b564d02
+ KVM_FEATURE_ASYNC_PF               4           async pf can be enabled by
+                                                writing to msr 0x4b564d02
  
- KVM_FEATURE_STEAL_TIME            5           steal time can be enabled by
-                                               writing to msr 0x4b564d03
+ KVM_FEATURE_STEAL_TIME             5           steal time can be enabled by
+                                                writing to msr 0x4b564d03
  
- KVM_FEATURE_PV_EOI                6           paravirtualized end of interrupt
-                                               handler can be enabled by
-                                               writing to msr 0x4b564d04
+ KVM_FEATURE_PV_EOI                 6           paravirtualized end of interrupt
+                                                handler can be enabled by
+                                                writing to msr 0x4b564d04
  
- KVM_FEATURE_PV_UNHAULT            7           guest checks this feature bit
-                                               before enabling paravirtualized
-                                               spinlock support
+ KVM_FEATURE_PV_UNHALT              7           guest checks this feature bit
+                                                before enabling paravirtualized
+                                                spinlock support
  
- KVM_FEATURE_PV_TLB_FLUSH          9           guest checks this feature bit
-                                               before enabling paravirtualized
-                                               tlb flush
+ KVM_FEATURE_PV_TLB_FLUSH           9           guest checks this feature bit
+                                                before enabling paravirtualized
+                                                tlb flush
  
- KVM_FEATURE_ASYNC_PF_VMEXIT       10          paravirtualized async PF VM EXIT
-                                               can be enabled by setting bit 2
-                                               when writing to msr 0x4b564d02
+ KVM_FEATURE_ASYNC_PF_VMEXIT        10          paravirtualized async PF VM EXIT
+                                                can be enabled by setting bit 2
+                                                when writing to msr 0x4b564d02
  
- KVM_FEATURE_PV_SEND_IPI           11          guest checks this feature bit
-                                               before enabling paravirtualized
-                                               sebd IPIs
+ KVM_FEATURE_PV_SEND_IPI            11          guest checks this feature bit
+                                                before enabling paravirtualized
+                                                send IPIs
  
- KVM_FEATURE_POLL_CONTROL          12          host-side polling on HLT can
-                                               be disabled by writing
-                                               to msr 0x4b564d05.
 -KVM_FEATURE_PV_POLL_CONTROL        12          host-side polling on HLT can
++KVM_FEATURE_POLL_CONTROL           12          host-side polling on HLT can
+                                                be disabled by writing
+                                                to msr 0x4b564d05.
  
- KVM_FEATURE_PV_SCHED_YIELD        13          guest checks this feature bit
-                                               before using paravirtualized
-                                               sched yield.
+ KVM_FEATURE_PV_SCHED_YIELD         13          guest checks this feature bit
+                                                before using paravirtualized
+                                                sched yield.
  
- KVM_FEATURE_ASYNC_PF_INT          14          guest checks this feature bit
-                                               before using the second async
-                                               pf control msr 0x4b564d06 and
-                                               async pf acknowledgment msr
-                                               0x4b564d07.
+ KVM_FEATURE_ASYNC_PF_INT           14          guest checks this feature bit
+                                                before using the second async
+                                                pf control msr 0x4b564d06 and
+                                                async pf acknowledgment msr
+                                                0x4b564d07.
  
- KVM_FEATURE_CLOCSOURCE_STABLE_BIT 24          host will warn if no guest-side
-                                               per-cpu warps are expeced in
-                                               kvmclock
- ================================= =========== ================================
+ KVM_FEATURE_CLOCKSOURCE_STABLE_BIT 24          host will warn if no guest-side
+                                                per-cpu warps are expected in
+                                                kvmclock
+ ================================== =========== ================================
  
  ::
  
index 4cd0d6ca8aa11ad8c52b579ab7a2df62d0c95de2,8f094c43072a1921d1351ec1bb9bba193d0cd2f9..046be789fbb479967067cbc13e55693701f394fd
@@@ -64,10 -56,8 +64,9 @@@ extern bool arm64_use_ng_mappings
  #define PROT_SECT_NORMAL_EXEC (PROT_SECT_DEFAULT | PMD_SECT_UXN | PMD_ATTRINDX(MT_NORMAL))
  
  #define _PAGE_DEFAULT         (_PROT_DEFAULT | PTE_ATTRINDX(MT_NORMAL))
- #define _HYP_PAGE_DEFAULT     _PAGE_DEFAULT
  
  #define PAGE_KERNEL           __pgprot(PROT_NORMAL)
 +#define PAGE_KERNEL_TAGGED    __pgprot(PROT_NORMAL_TAGGED)
  #define PAGE_KERNEL_RO                __pgprot((PROT_NORMAL & ~PTE_WRITE) | PTE_RDONLY)
  #define PAGE_KERNEL_ROX               __pgprot((PROT_NORMAL & ~(PTE_WRITE | PTE_PXN)) | PTE_RDONLY)
  #define PAGE_KERNEL_EXEC      __pgprot(PROT_NORMAL & ~PTE_PXN)
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
This page took 0.159955 seconds and 4 git commands to generate.