WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] Need to save and restore MSRs for VMX domains across con

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] Need to save and restore MSRs for VMX domains across context switches.
From: Xen patchbot -unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 13 Jul 2005 04:38:10 -0400
Delivery-date: Wed, 13 Jul 2005 08:38:36 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 6778d68a2c4cea49bccc90ead12395ee28d61189
# Parent  3a4ef6acd5451499b604fd36035eaa435dc5d2c3

Need to save and restore MSRs for VMX domains across context switches.

Signed-off-by: Yunhong Jiang <yunhong.jiang@xxxxxxxxx>
Signed-off-by: Jun Nakajima <jun.nakajima@xxxxxxxxx>
Signed-off-by: Arun Sharma <arun.sharma@xxxxxxxxx>

diff -r 3a4ef6acd545 -r 6778d68a2c4c xen/arch/x86/domain.c
--- a/xen/arch/x86/domain.c     Wed Jul 13 08:25:08 2005
+++ b/xen/arch/x86/domain.c     Wed Jul 13 08:36:38 2005
@@ -643,6 +643,10 @@
 static void save_segments(struct vcpu *v)
 {
     struct cpu_user_regs *regs = &v->arch.guest_context.user_regs;
+
+    if ( VMX_DOMAIN(v) )
+        rdmsrl(MSR_SHADOW_GS_BASE, v->arch.arch_vmx.msr_content.shadow_gs);
+
     __asm__ __volatile__ ( "movl %%ds,%0" : "=m" (regs->ds) );
     __asm__ __volatile__ ( "movl %%es,%0" : "=m" (regs->es) );
     __asm__ __volatile__ ( "movl %%fs,%0" : "=m" (regs->fs) );
@@ -791,7 +795,11 @@
 
         local_irq_enable();
         
-        if ( !VMX_DOMAIN(next) )
+        if ( VMX_DOMAIN(next) )
+        {
+            vmx_restore_msrs(next);
+        }
+        else
         {
             load_LDT(next);
             load_segments(realprev, next);

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] Need to save and restore MSRs for VMX domains across context switches., Xen patchbot -unstable <=