Re: [PATCH 0/9] KVM: x86: TDP level cleanups and shadow NPT fix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 16/07/20 05:41, Sean Christopherson wrote:
> The primary purpose of this series is to implement a suggestion from Paolo
> to have the MMU make the decision between 4 and 5 level EPT/TDP (when
> 5-level page tables are supported).  Having the MMU "own" the decision of
> whether or not to use 5-level paging leads to a variety of nice cleanups,
> and ultimately gets rid of another kvm_x86_ops.
> 
> Patch 1 is a fix for SVM's shadow NPT that is compile tested only.  I
> don't know enough about the shadow NPT details to know if it's a "real"
> bug or just a supericial oddity that can't actually cause problems.
> 
> "Remove temporary WARN on expected vs. actual EPTP level mismatch" could
> easily be squashed with "Pull the PGD's level from the MMU instead of
> recalculating it", I threw it in as a separate patch to provide a
> bisection helper in case things go sideways.
> 
> Sean Christopherson (9):
>   KVM: nSVM: Correctly set the shadow NPT root level in its MMU role
>   KVM: x86/mmu: Add separate helper for shadow NPT root page role calc
>   KVM: VMX: Drop a duplicate declaration of construct_eptp()
>   KVM: VMX: Make vmx_load_mmu_pgd() static
>   KVM: x86: Pull the PGD's level from the MMU instead of recalculating
>     it
>   KVM: VXM: Remove temporary WARN on expected vs. actual EPTP level
>     mismatch
>   KVM: x86: Dynamically calculate TDP level from max level and
>     MAXPHYADDR
>   KVM: x86/mmu: Rename max_page_level to max_huge_page_level
>   KVM: x86: Specify max TDP level via kvm_configure_mmu()
> 
>  arch/x86/include/asm/kvm_host.h |  9 ++---
>  arch/x86/kvm/cpuid.c            |  2 --
>  arch/x86/kvm/mmu.h              | 10 ++++--
>  arch/x86/kvm/mmu/mmu.c          | 63 +++++++++++++++++++++++++--------
>  arch/x86/kvm/svm/nested.c       |  1 -
>  arch/x86/kvm/svm/svm.c          |  8 ++---
>  arch/x86/kvm/vmx/nested.c       |  2 +-
>  arch/x86/kvm/vmx/vmx.c          | 31 +++++++---------
>  arch/x86/kvm/vmx/vmx.h          |  6 ++--
>  arch/x86/kvm/x86.c              |  1 -
>  10 files changed, 81 insertions(+), 52 deletions(-)
> 

Queued, thanks.

Paolo




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux