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

[Xen-changelog] [xen master] x86/emul: Use explicit __attribute__((__packed__)) rather than __packed



commit 22bc820abb5200729dc387e6a0653c31daecfef3
Author:     Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
AuthorDate: Tue Oct 25 18:46:39 2016 +0100
Commit:     Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Wed Oct 26 14:03:52 2016 +0100

    x86/emul: Use explicit __attribute__((__packed__)) rather than __packed
    
    x86_emulate.h is included by the userspace test harness.  Avoid using
    constructs which don't come from standard header files.
    
    Reposition the test harnesses inclusion of x86_emulate.h to avoid relying on
    any definitions intended for use by x86_emulate.c alone.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
    Release-acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>
---
 tools/tests/x86_emulator/test_x86_emulator.c | 2 --
 tools/tests/x86_emulator/x86_emulate.c       | 6 ++----
 xen/arch/x86/x86_emulate/x86_emulate.h       | 4 ++--
 3 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/tools/tests/x86_emulator/test_x86_emulator.c 
b/tools/tests/x86_emulator/test_x86_emulator.c
index 15d100a..6f6d70f 100644
--- a/tools/tests/x86_emulator/test_x86_emulator.c
+++ b/tools/tests/x86_emulator/test_x86_emulator.c
@@ -8,8 +8,6 @@
 #include <xen/xen.h>
 #include <sys/mman.h>
 
-#define __packed __attribute__((packed))
-
 #include "x86_emulate/x86_emulate.h"
 #include "blowfish.h"
 
diff --git a/tools/tests/x86_emulator/x86_emulate.c 
b/tools/tests/x86_emulator/x86_emulate.c
index 50a4262..af90b6e 100644
--- a/tools/tests/x86_emulator/x86_emulate.c
+++ b/tools/tests/x86_emulator/x86_emulate.c
@@ -6,6 +6,8 @@
 #include <string.h>
 #include <xen/xen.h>
 
+#include "x86_emulate/x86_emulate.h"
+
 typedef bool bool_t;
 
 #define is_canonical_address(x) (((int64_t)(x) >> 47) == ((int64_t)(x) >> 63))
@@ -23,8 +25,6 @@ typedef bool bool_t;
 #define cpu_has_amd_erratum(nr) 0
 #define mark_regs_dirty(r) ((void)(r))
 
-#define __packed __attribute__((packed))
-
 /* For generic assembly code: use macros to define operation/operand sizes. */
 #ifdef __i386__
 # define __OS          "l"  /* Operation Suffix */
@@ -34,8 +34,6 @@ typedef bool bool_t;
 # define __OP          "r"  /* Operand Prefix */
 #endif
 
-#include "x86_emulate/x86_emulate.h"
-
 #define get_stub(stb) ((void *)((stb).addr = (uintptr_t)(stb).buf))
 #define put_stub(stb)
 
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h 
b/xen/arch/x86/x86_emulate/x86_emulate.h
index 641711e..c1a5a48 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.h
+++ b/xen/arch/x86/x86_emulate/x86_emulate.h
@@ -71,7 +71,7 @@ enum x86_swint_emulation {
  * Attribute for segment selector. This is a copy of bit 40:47 & 52:55 of the
  * segment descriptor. It happens to match the format of an AMD SVM VMCB.
  */
-typedef union __packed segment_attributes {
+typedef union __attribute__((__packed__)) segment_attributes {
     uint16_t bytes;
     struct
     {
@@ -91,7 +91,7 @@ typedef union __packed segment_attributes {
  * Full state of a segment register (visible and hidden portions).
  * Again, this happens to match the format of an AMD SVM VMCB.
  */
-struct __packed segment_register {
+struct __attribute__((__packed__)) segment_register {
     uint16_t   sel;
     segment_attributes_t attr;
     uint32_t   limit;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

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