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

[Xen-changelog] [xen-unstable] [XEN] Fix dom/sysctl structure alignement.



# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxxxxx>
# Date 1170262461 0
# Node ID 56377f5ce588b098a0f46f77f57efc22dd2dc1cf
# Parent  9f83b07caabed347f82b9f5231ebc0092261cbeb
[XEN] Fix dom/sysctl structure alignement.

Versions of gcc up to and including 3.3 appear to ignore
__attribute__((align(x))) when applied to typedefs or to members of
anonymous unions. Workaround this by explicitly aligning each
definition of a 64 bit guest handle.

Tidy up x86_64 compat entry.S a bit.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxxxxx>
---
 xen/arch/x86/x86_64/compat/entry.S       |    7 ++-----
 xen/include/public/arch-x86/xen-x86_32.h |    2 +-
 2 files changed, 3 insertions(+), 6 deletions(-)

diff -r 9f83b07caabe -r 56377f5ce588 xen/arch/x86/x86_64/compat/entry.S
--- a/xen/arch/x86/x86_64/compat/entry.S        Wed Jan 31 15:25:04 2007 +0000
+++ b/xen/arch/x86/x86_64/compat/entry.S        Wed Jan 31 16:54:21 2007 +0000
@@ -281,9 +281,6 @@ CFIX14:
         .quad CFLT14,CFIX14
 .previous
 
-compat_domctl:
-compat_sysctl:
-
 .section .rodata, "a", @progbits
 
 ENTRY(compat_hypercall_table)
@@ -365,8 +362,8 @@ ENTRY(compat_hypercall_args_table)
         .byte 2 /* compat_event_channel_op  */
         .byte 2 /* compat_physdev_op        */
         .byte 2 /* do_hvm_op                */
-        .byte 1 /* compat_sysctl            */  /* 35 */
-        .byte 1 /* compat_domctl            */
+        .byte 1 /* do_sysctl                */  /* 35 */
+        .byte 1 /* do_domctl                */
         .byte 2 /* compat_kexec_op          */
         .rept NR_hypercalls-(.-compat_hypercall_args_table)
         .byte 0 /* compat_ni_hypercall      */
diff -r 9f83b07caabe -r 56377f5ce588 xen/include/public/arch-x86/xen-x86_32.h
--- a/xen/include/public/arch-x86/xen-x86_32.h  Wed Jan 31 15:25:04 2007 +0000
+++ b/xen/include/public/arch-x86/xen-x86_32.h  Wed Jan 31 16:54:21 2007 +0000
@@ -103,7 +103,7 @@
          (hnd).p = val;                                     \
     } while ( 0 )
 #define uint64_aligned_t uint64_t __attribute__((aligned(8)))
-#define XEN_GUEST_HANDLE_64(name) __guest_handle_64_ ## name
+#define XEN_GUEST_HANDLE_64(name) __guest_handle_64_ ## name 
__attribute__((aligned(8)))
 #endif
 
 #ifndef __ASSEMBLY__

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