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

[Xen-changelog] Move saved_upcall_mask in cpu_user_regs to CS+4 rather than CS+2 on



ChangeSet 1.1712, 2005/06/10 09:25:44+01:00, kaf24@xxxxxxxxxxxxxxxxxxxx

        Move saved_upcall_mask in cpu_user_regs to CS+4 rather than CS+2 on
        x86/64.
        Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>



 arch/x86/x86_64/entry.S      |    2 +-
 include/public/arch-x86_64.h |   14 +++++++-------
 2 files changed, 8 insertions(+), 8 deletions(-)


diff -Nru a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
--- a/xen/arch/x86/x86_64/entry.S       2005-06-10 05:02:49 -04:00
+++ b/xen/arch/x86/x86_64/entry.S       2005-06-10 05:02:49 -04:00
@@ -316,7 +316,7 @@
         testb $TBF_INTERRUPT,%cl
         setnz VCPUINFO_upcall_mask(%rax)# TBF_INTERRUPT -> clear upcall mask
         popq  %rax
-        shll  $16,%eax                  # Bits 16-23: saved_upcall_mask
+        shlq  $32,%rax                  # Bits 32-39: saved_upcall_mask
         movw  UREGS_cs+8(%rsp),%ax      # Bits  0-15: CS
 FLT5:   movq  %rax,8(%rsi)              # CS/saved_upcall_mask
         movq  UREGS_rip+8(%rsp),%rax
diff -Nru a/xen/include/public/arch-x86_64.h b/xen/include/public/arch-x86_64.h
--- a/xen/include/public/arch-x86_64.h  2005-06-10 05:02:49 -04:00
+++ b/xen/include/public/arch-x86_64.h  2005-06-10 05:02:49 -04:00
@@ -153,16 +153,16 @@
     u32 error_code;    /* private */
     u32 entry_vector;  /* private */
     union { u64 rip, eip; };
-    u16 cs;
+    u16 cs, _pad0[1];
     u8  saved_upcall_mask;
-    u8  _pad0[5];
+    u8  _pad1[3];
     union { u64 rflags, eflags; };
     union { u64 rsp, esp; };
-    u16 ss, _pad1[3];
-    u16 es, _pad2[3];
-    u16 ds, _pad3[3];
-    u16 fs, _pad4[3]; /* Non-zero => takes precedence over fs_base.      */
-    u16 gs, _pad5[3]; /* Non-zero => takes precedence over gs_base_user. */
+    u16 ss, _pad2[3];
+    u16 es, _pad3[3];
+    u16 ds, _pad4[3];
+    u16 fs, _pad5[3]; /* Non-zero => takes precedence over fs_base.      */
+    u16 gs, _pad6[3]; /* Non-zero => takes precedence over gs_base_user. */
 } cpu_user_regs_t;
 
 typedef u64 tsc_timestamp_t; /* RDTSC timestamp */

_______________________________________________
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®.