summaryrefslogtreecommitdiff
path: root/scripts/stackdelta
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2022-02-09 01:53:55 +0300
committerPaolo Bonzini <pbonzini@redhat.com>2022-02-25 16:20:17 +0300
commit594bef7931089cbdeaf7d8954d54535c8ddd4b30 (patch)
treeb872721a995491c9395860c153f0fbe5e59f1b37 /scripts/stackdelta
parentb9e5603c2a3accbadfec570ac501a54431a6bdba (diff)
downloadlinux-594bef7931089cbdeaf7d8954d54535c8ddd4b30.tar.xz
KVM: x86/mmu: do not consult levels when freeing roots
Right now, PGD caching requires a complicated dance of first computing the MMU role and passing it to __kvm_mmu_new_pgd(), and then separately calling kvm_init_mmu(). Part of this is due to kvm_mmu_free_roots using mmu->root_level and mmu->shadow_root_level to distinguish whether the page table uses a single root or 4 PAE roots. Because kvm_init_mmu() can overwrite mmu->root_level, kvm_mmu_free_roots() must be called before kvm_init_mmu(). However, even after kvm_init_mmu() there is a way to detect whether the page table may hold PAE roots, as root.hpa isn't backed by a shadow when it points at PAE roots. Using this method results in simpler code, and is one less obstacle in moving all calls to __kvm_mmu_new_pgd() after the MMU has been initialized. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'scripts/stackdelta')
0 files changed, 0 insertions, 0 deletions