e46082b3ea
530b27fd-x86-MCE-Fix-race-condition-in-mctelem_reserve.patch 530b2880-Nested-VMX-update-nested-paging-mode-on-vmexit.patch 530b28c5-x86-MSI-don-t-risk-division-by-zero.patch 530c54c3-x86-mce-Reduce-boot-time-logspam.patch 5310bac3-mm-ensure-useful-progress-in-decrease_reservation.patch 5315a254-IOMMU-generalize-and-correct-softirq-processing.patch 5315a3bb-x86-don-t-propagate-acpi_skip_timer_override-do-Dom0.patch 5315a43a-x86-ACPI-also-print-address-space-for-PM1x-fields.patch 531d8db1-x86-hvm-refine-the-judgment-on-IDENT_PT-for-EMT.patch 531d8e09-x86-HVM-fix-memory-type-merging-in-epte_get_entry_emt.patch 531d8e34-x86-HVM-consolidate-passthrough-handling-in-epte_get_entry_emt.patch 531d8fd0-kexec-identify-which-cpu-the-kexec-image-is-being-executed-on.patch 531dc0e2-xmalloc-handle-correctly-page-allocation-when-align-size.patch - Add conversion tool for migrating xend/xm managed VMs to libvirt xen2libvirt.py (Jim Fehlig) OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=304
30 lines
1.1 KiB
Diff
30 lines
1.1 KiB
Diff
# Commit fd1864f48d8914fb8eeb6841cd08c2c09b368909
|
|
# Date 2014-02-24 12:09:52 +0100
|
|
# Author Yang Zhang <yang.z.zhang@Intel.com>
|
|
# Committer Jan Beulich <jbeulich@suse.com>
|
|
Nested VMX: update nested paging mode on vmexit
|
|
|
|
Since SVM and VMX use different mechanism to emulate the virtual-vmentry
|
|
and virtual-vmexit, it's hard to update the nested paging mode correctly in
|
|
common code. So we need to update the nested paging mode in their respective
|
|
code path.
|
|
SVM already updates the nested paging mode on vmexit. This patch adds the same
|
|
logic in VMX side.
|
|
|
|
Previous discussion is here:
|
|
http://lists.xen.org/archives/html/xen-devel/2013-12/msg01759.html
|
|
|
|
Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
|
|
Reviewed-by: Christoph Egger <chegger@amazon.de>
|
|
|
|
--- a/xen/arch/x86/hvm/vmx/vmx.c
|
|
+++ b/xen/arch/x86/hvm/vmx/vmx.c
|
|
@@ -2541,6 +2541,7 @@ void vmx_vmexit_handler(struct cpu_user_
|
|
vcpu_nestedhvm(v).nv_vmswitch_in_progress = 0;
|
|
if ( nestedhvm_vcpu_in_guestmode(v) )
|
|
{
|
|
+ paging_update_nestedmode(v);
|
|
if ( nvmx_n2_vmexit_handler(regs, exit_reason) )
|
|
goto out;
|
|
}
|