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@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Release-acked-by: Wei Liu <wei.liu2@citrix.com>
#include <xen/xen.h>
#include <sys/mman.h>
-#define __packed __attribute__((packed))
-
#include "x86_emulate/x86_emulate.h"
#include "blowfish.h"
#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))
#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 */
# 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)
* 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
{
* 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;