Message ID | 20220414074000.31438-1-pbonzini@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | https://www.spinics.net/lists/kvm/msg267878.html | expand |
Uh-oh, wrong subject. Should be "KVM MMU refactoring part 2: role changes". Supersedes: <20220221162243.683208-1-pbonzini@redhat.com> Paolo On 4/14/22 09:39, Paolo Bonzini wrote: > Right now the "MMU role" is a messy mix of the shadow page table format > and the CPU paging mode (CR0/CR4/EFER, SMM, guest mode, etc). Whenever > something is different between the MMU and the CPU, it is stored as an > extra field in struct kvm_mmu; for extra bonus complication, sometimes > the same thing is stored in both the role and an extra field. > > This series cleans up things by putting the two in separate fields, > so that the "MMU role" represents exactly the role of the root page. > This in turn makes it possible to eliminate various fields that are > now redundant with either the CPU or te MMU role. > > These patches have mostly been posted and reviewed already[1], and I > have now retested them on top of kvm/next. > > Paolo > > [1] https://patchew.org/linux/20220221162243.683208-1-pbonzini@redhat.com/ > > Paolo Bonzini (21): > KVM: x86/mmu: nested EPT cannot be used in SMM > KVM: x86/mmu: constify uses of struct kvm_mmu_role_regs > KVM: x86/mmu: pull computation of kvm_mmu_role_regs to kvm_init_mmu > KVM: x86/mmu: rephrase unclear comment > KVM: x86/mmu: remove "bool base_only" arguments > KVM: x86/mmu: split cpu_role from mmu_role > KVM: x86/mmu: do not recompute root level from kvm_mmu_role_regs > KVM: x86/mmu: remove ept_ad field > KVM: x86/mmu: remove kvm_calc_shadow_root_page_role_common > KVM: x86/mmu: cleanup computation of MMU roles for two-dimensional > paging > KVM: x86/mmu: cleanup computation of MMU roles for shadow paging > KVM: x86/mmu: store shadow EFER.NX in the MMU role > KVM: x86/mmu: remove extended bits from mmu_role, rename field > KVM: x86/mmu: rename kvm_mmu_role union > KVM: x86/mmu: remove redundant bits from extended role > KVM: x86/mmu: remove valid from extended role > KVM: x86/mmu: simplify and/or inline computation of shadow MMU roles > KVM: x86/mmu: pull CPU mode computation to kvm_init_mmu > KVM: x86/mmu: replace shadow_root_level with root_role.level > KVM: x86/mmu: replace root_level with cpu_role.base.level > KVM: x86/mmu: replace direct_map with root_role.direct > > Sean Christopherson (1): > KVM: x86: Clean up and document nested #PF workaround > > arch/x86/include/asm/kvm_host.h | 19 +- > arch/x86/kvm/mmu.h | 2 +- > arch/x86/kvm/mmu/mmu.c | 376 ++++++++++++++------------------ > arch/x86/kvm/mmu/paging_tmpl.h | 14 +- > arch/x86/kvm/mmu/tdp_mmu.c | 4 +- > arch/x86/kvm/svm/nested.c | 18 +- > arch/x86/kvm/svm/svm.c | 2 +- > arch/x86/kvm/vmx/nested.c | 15 +- > arch/x86/kvm/vmx/vmx.c | 2 +- > arch/x86/kvm/x86.c | 33 ++- > 10 files changed, 219 insertions(+), 266 deletions(-) >
On Thu, Apr 14, 2022, Paolo Bonzini wrote: > Uh-oh, wrong subject. Should be "KVM MMU refactoring part 2: role changes". > > Supersedes: <20220221162243.683208-1-pbonzini@redhat.com> Still Spinics huh? I thought you were using b4 these days? :-) KVM Forum 2019 - Reports of my Bloat Have Been Greatly Exaggerated - Paolo Bonzini, Red Hat, Inc. KVM Forum 2022 - Reports of my Fossilization Have Been Greatly Understated - Paolo Bonzini, Red Hat, Inc.
On 4/14/22 17:02, Sean Christopherson wrote: >> Uh-oh, wrong subject. Should be "KVM MMU refactoring part 2: role changes". >> >> Supersedes:<20220221162243.683208-1-pbonzini@redhat.com> > > Still Spinics huh? I thought you were using b4 these days?:-) I use Patchew for tracking and either b4 or Patchew for application, but sometimes a certain search engine has different preferences. Paolo > KVM Forum 2019 - Reports of my Bloat Have Been Greatly Exaggerated - Paolo Bonzini, Red Hat, Inc. > > KVM Forum 2022 - Reports of my Fossilization Have Been Greatly Understated - Paolo Bonzini, Red Hat, Inc. >