All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] nestedsvm: fix paging mode
@ 2012-09-21 14:01 Christoph Egger
  2012-09-27 14:53 ` Tim Deegan
  0 siblings, 1 reply; 7+ messages in thread
From: Christoph Egger @ 2012-09-21 14:01 UTC (permalink / raw)
  To: xen-devel@lists.xen.org

[-- Attachment #1: Type: text/plain, Size: 644 bytes --]


On VMRUN and VMEXIT emulation update the paging mode
for Shadow-on-Nested. This allows Xen to walk the
l1 hypervisors shadow page table correctly.
Problem found with 64bit Win7 and 32bit XPMode where
Win7 switches forth and back between long mode and
PAE legacy pagetables.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>

P.S.: Please apply this patch to xen-4.2-testing as well.


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632

[-- Attachment #2: xen_nh_paging.diff --]
[-- Type: text/plain, Size: 969 bytes --]

diff -r ef514a30fd70 xen/arch/x86/hvm/svm/nestedsvm.c
--- a/xen/arch/x86/hvm/svm/nestedsvm.c	Fri Sep 21 13:25:22 2012 +0200
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c	Fri Sep 21 14:44:13 2012 +0200
@@ -745,6 +745,11 @@ nsvm_vcpu_vmrun(struct vcpu *v, struct c
         return 1;
     }
 
+    /* If we use nested paging and l1 guest uses shadow paging ... */
+    if (paging_mode_hap(v->domain) && !nestedhvm_paging_mode_hap(v))
+        /* ... update the paging modes. */
+        paging_update_paging_modes(v);
+
     nv->nv_vmswitch_in_progress = 0;
     return 0;
 }
@@ -1412,6 +1417,11 @@ nestedsvm_vcpu_vmexit(struct vcpu *v, st
      */
     rc = nhvm_vcpu_vmexit(v, regs, exitcode);
 
+    /* If we use nested paging and l1 guest uses shadow paging ... */
+    if (paging_mode_hap(v->domain) && !nestedhvm_paging_mode_hap(v))
+        /* ... update the paging modes. */
+        paging_update_paging_modes(v);
+
     nv->nv_vmswitch_in_progress = 0;
 
     if (rc)

[-- Attachment #3: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-10-05  9:07 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-21 14:01 [PATCH] nestedsvm: fix paging mode Christoph Egger
2012-09-27 14:53 ` Tim Deegan
2012-10-01 13:50   ` Christoph Egger
2012-10-04 10:37     ` Tim Deegan
2012-10-04 12:14       ` Christoph Egger
2012-10-04 13:23         ` Tim Deegan
2012-10-05  9:07           ` Christoph Egger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.