Set the types in the public memory_event header file to use
fixed-sized and self-aligned fields rather than "unsigned long". AIUI
this feature only works with 64-bit hypervisors but I think this
change will be necessary to use 32-on-64 dom0 tools.
This breaks compatibility with older builds of the tools, but I can't
see any way to avoid it short of __attribute__((__packed__)).
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Acked-by: Patrick Colp <pjcolp@cs.ubc.ca>
typedef struct mem_event_shared_page {
- int port;
+ uint32_t port;
} mem_event_shared_page_t;
typedef struct mem_event_st {
- unsigned long gfn;
- unsigned long offset;
- unsigned long p2mt;
- int vcpu_id;
+ uint64_t gfn;
+ uint64_t offset;
+ uint32_t p2mt;
+ int32_t vcpu_id;
uint64_t flags;
} mem_event_request_t, mem_event_response_t;