KVM: MMU: record maximum physical address width in kvm_mmu_extended_role
authorYu Zhang <yu.c.zhang@linux.intel.com>
Thu, 31 Jan 2019 16:09:23 +0000 (00:09 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 22 Feb 2019 18:25:10 +0000 (19:25 +0100)
commitde3ccd26fafc707b09792d9b633c8b5b48865315
tree0a8d3d19ab24b7accfe02d160445688224fa238d
parent511da98d207d5c0675a10351b01e37cbe50a79e5
KVM: MMU: record maximum physical address width in kvm_mmu_extended_role

Previously, commit 7dcd57552008 ("x86/kvm/mmu: check if tdp/shadow
MMU reconfiguration is needed") offered some optimization to avoid
the unnecessary reconfiguration. Yet one scenario is broken - when
cpuid changes VM's maximum physical address width, reconfiguration
is needed to reset the reserved bits.  Also, the TDP may need to
reset its shadow_root_level when this value is changed.

To fix this, a new field, maxphyaddr, is introduced in the extended
role structure to keep track of the configured guest physical address
width.

Signed-off-by: Yu Zhang <yu.c.zhang@linux.intel.com>
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/mmu.c