KVM: VMX: Refactor 32-bit PSE PT creation to avoid using MMU macro
authorSean Christopherson <seanjc@google.com>
Tue, 14 Jun 2022 23:33:22 +0000 (23:33 +0000)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 20 Jun 2022 10:21:26 +0000 (06:21 -0400)
Compute the number of PTEs to be filled for the 32-bit PSE page tables
using the page size and the size of each entry.  While using the MMU's
PT32_ENT_PER_PAGE macro is arguably better in isolation, removing VMX's
usage will allow a future namespacing cleanup to move the guest page
table macros into paging_tmpl.h, out of the reach of code that isn't
directly related to shadow paging.

No functional change intended.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20220614233328.3896033-3-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx/vmx.c

index 2609bcc..4002f6c 100644 (file)
@@ -3710,7 +3710,7 @@ static int init_rmode_identity_map(struct kvm *kvm)
        }
 
        /* Set up identity-mapping pagetable for EPT in real mode */
-       for (i = 0; i < PT32_ENT_PER_PAGE; i++) {
+       for (i = 0; i < (PAGE_SIZE / sizeof(tmp)); i++) {
                tmp = (i << 22) + (_PAGE_PRESENT | _PAGE_RW | _PAGE_USER |
                        _PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_PSE);
                if (__copy_to_user(uaddr + i * sizeof(tmp), &tmp, sizeof(tmp))) {