[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [IA64] boot windows server 2003:fix a bug about nat



# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 87247ceb0acd82acd5d02c06b4a17358b1def880
# Parent  be11edf8964e89a39d4fa98890a936503a034d5c
[IA64] boot windows server 2003:fix a bug about nat

Because EML_UNAT may be cahnged by guest bank switch,
it should be saved&restored at entry & exit path.

Signed-off-by: Anthony Xu <anthony.xu@xxxxxxxxx>
---
 xen/arch/ia64/vmx/vmx_entry.S    |    5 +++++
 xen/arch/ia64/vmx/vmx_minstate.h |    7 ++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff -r be11edf8964e -r 87247ceb0acd xen/arch/ia64/vmx/vmx_entry.S
--- a/xen/arch/ia64/vmx/vmx_entry.S     Mon Jul 31 10:14:31 2006 -0600
+++ b/xen/arch/ia64/vmx/vmx_entry.S     Mon Jul 31 10:18:28 2006 -0600
@@ -197,6 +197,11 @@ GLOBAL_ENTRY(ia64_leave_hypervisor)
     ;;
     mov ar.pfs=loc0
     adds r20=PT(PR)+16,r12
+    adds r8=PT(EML_UNAT)+16,r12
+    ;;
+    ld8 r8=[r8]
+    ;;
+    mov ar.unat=r8
     ;;
     lfetch [r20],PT(CR_IPSR)-PT(PR)
     adds r2 = PT(B6)+16,r12
diff -r be11edf8964e -r 87247ceb0acd xen/arch/ia64/vmx/vmx_minstate.h
--- a/xen/arch/ia64/vmx/vmx_minstate.h  Mon Jul 31 10:14:31 2006 -0600
+++ b/xen/arch/ia64/vmx/vmx_minstate.h  Mon Jul 31 10:18:28 2006 -0600
@@ -269,7 +269,12 @@
     ;;                  \
     st8 [r24]=r9;           /* ar.csd */    \
     st8 [r25]=r10;          /* ar.ssd */    \
-    ;;
+    ;;         \
+    mov r18=ar.unat;    \
+    adds r19=PT(EML_UNAT)-PT(R4),r2;   \
+    ;;                 \
+    st8 [r19]=r18;       /* eml_unat */ \
+
 
 #define VMX_SAVE_EXTRA               \
 .mem.offset 0,0; st8.spill [r2]=r4,16;     \

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.