ChangeSet 1.1426, 2005/04/01 17:32:25+01:00, kaf24@xxxxxxxxxxxxxxxxxxxx
Un-PACK the dom0_op structures and bump the interface version number.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
dom0_ops.h | 306 +++++++++++++++++++++++++------------------------------------
1 files changed, 128 insertions(+), 178 deletions(-)
diff -Nru a/xen/include/public/dom0_ops.h b/xen/include/public/dom0_ops.h
--- a/xen/include/public/dom0_ops.h 2005-04-01 12:03:56 -05:00
+++ b/xen/include/public/dom0_ops.h 2005-04-01 12:03:56 -05:00
@@ -19,24 +19,19 @@
* This makes sure that old versions of dom0 tools will stop working in a
* well-defined way (rather than crashing the machine, for instance).
*/
-#define DOM0_INTERFACE_VERSION 0xAAAA1002
+#define DOM0_INTERFACE_VERSION 0xAAAA1003
/************************************************************************/
#define DOM0_GETMEMLIST 2
typedef struct {
/* IN variables. */
- domid_t domain; /* 0 */
- u16 __pad0;
- u32 __pad1;
- memory_t max_pfns; /* 8 */
- MEMORY_PADDING;
- void *buffer; /* 16 */
- MEMORY_PADDING;
+ domid_t domain;
+ memory_t max_pfns;
+ void *buffer;
/* OUT variables. */
- memory_t num_pfns; /* 24 */
- MEMORY_PADDING;
-} PACKED dom0_getmemlist_t; /* 32 bytes */
+ memory_t num_pfns;
+} dom0_getmemlist_t;
#define DOM0_SCHEDCTL 6
/* struct sched_ctl_cmd is from sched-ctl.h */
@@ -49,42 +44,36 @@
#define DOM0_CREATEDOMAIN 8
typedef struct {
/* IN parameters. */
- memory_t memory_kb; /* 0 */
- MEMORY_PADDING;
- u32 cpu; /* 8 */
- u32 __pad0; /* 12 */
+ memory_t memory_kb;
+ u32 cpu;
/* IN/OUT parameters. */
/* If 0, domain is allocated. If non-zero use it unless in use. */
- domid_t domain; /* 16 */
- u16 __pad1;
+ domid_t domain;
/* OUT parameters. */
-} PACKED dom0_createdomain_t; /* 20 bytes */
+} dom0_createdomain_t;
#define DOM0_DESTROYDOMAIN 9
typedef struct {
/* IN variables. */
- domid_t domain; /* 0 */
- u16 __pad;
-} PACKED dom0_destroydomain_t; /* 4 bytes */
+ domid_t domain;
+} dom0_destroydomain_t;
#define DOM0_PAUSEDOMAIN 10
typedef struct {
/* IN parameters. */
- domid_t domain; /* 0 */
- u16 __pad;
-} PACKED dom0_pausedomain_t; /* 4 bytes */
+ domid_t domain;
+} dom0_pausedomain_t;
#define DOM0_UNPAUSEDOMAIN 11
typedef struct {
/* IN parameters. */
- domid_t domain; /* 0 */
- u16 __pad;
-} PACKED dom0_unpausedomain_t; /* 4 bytes */
+ domid_t domain;
+} dom0_unpausedomain_t;
#define DOM0_GETDOMAININFO 12
typedef struct {
/* IN variables. */
- domid_t domain; /* 0 */ /* NB. IN/OUT variable. */
+ domid_t domain; /* NB. IN/OUT variable. */
u16 exec_domain;
/* OUT variables. */
#define DOMFLAGS_DYING (1<<0) /* Domain is scheduled to die. */
@@ -97,57 +86,50 @@
#define DOMFLAGS_CPUSHIFT 8
#define DOMFLAGS_SHUTDOWNMASK 255 /* DOMFLAGS_SHUTDOWN guest-supplied code. */
#define DOMFLAGS_SHUTDOWNSHIFT 16
- u32 flags; /* 4 */
- full_execution_context_t *ctxt; /* 8 */ /* NB. IN/OUT variable. */
- MEMORY_PADDING;
- memory_t tot_pages; /* 16 */
- MEMORY_PADDING;
- memory_t max_pages; /* 24 */
- MEMORY_PADDING;
- memory_t shared_info_frame; /* 32: MFN of shared_info struct */
- MEMORY_PADDING;
- u64 cpu_time; /* 40 */
-} PACKED dom0_getdomaininfo_t; /* 48 bytes */
+ u32 flags;
+ full_execution_context_t *ctxt; /* NB. IN/OUT variable. */
+ memory_t tot_pages;
+ memory_t max_pages;
+ memory_t shared_info_frame; /* MFN of shared_info struct */
+ u64 cpu_time;
+} dom0_getdomaininfo_t;
#define DOM0_SETDOMAININFO 13
typedef struct {
/* IN variables. */
- domid_t domain; /* 0 */
- u16 exec_domain; /* 2 */
- u32 __pad0; /* 4 */
+ domid_t domain;
+ u16 exec_domain;
/* IN/OUT parameters */
- full_execution_context_t *ctxt; /* 8 */
- MEMORY_PADDING;
-} PACKED dom0_setdomaininfo_t; /* 16 bytes */
+ full_execution_context_t *ctxt;
+} dom0_setdomaininfo_t;
#define DOM0_MSR 15
typedef struct {
/* IN variables. */
- u32 write; /* 0 */
- u32 cpu_mask; /* 4 */
- u32 msr; /* 8 */
- u32 in1; /* 12 */
- u32 in2; /* 16 */
+ u32 write;
+ u32 cpu_mask;
+ u32 msr;
+ u32 in1;
+ u32 in2;
/* OUT variables. */
- u32 out1; /* 20 */
- u32 out2; /* 24 */
-} PACKED dom0_msr_t; /* 28 bytes */
+ u32 out1;
+ u32 out2;
+} dom0_msr_t;
#define DOM0_DEBUG 16
typedef struct {
/* IN variables. */
- domid_t domain; /* 0 */
- u8 opcode; /* 2 */
- u8 __pad;
- u32 in1; /* 4 */
- u32 in2; /* 8 */
- u32 in3; /* 12 */
- u32 in4; /* 16 */
+ domid_t domain;
+ u8 opcode;
+ u32 in1;
+ u32 in2;
+ u32 in3;
+ u32 in4;
/* OUT variables. */
- u32 status; /* 20 */
- u32 out1; /* 24 */
- u32 out2; /* 28 */
-} PACKED dom0_debug_t; /* 32 bytes */
+ u32 status;
+ u32 out1;
+ u32 out2;
+} dom0_debug_t;
/*
* Set clock such that it would read <secs,usecs> after 00:00:00 UTC,
@@ -156,10 +138,10 @@
#define DOM0_SETTIME 17
typedef struct {
/* IN variables. */
- u32 secs; /* 0 */
- u32 usecs; /* 4 */
- u64 system_time; /* 8 */
-} PACKED dom0_settime_t; /* 16 bytes */
+ u32 secs;
+ u32 usecs;
+ u64 system_time;
+} dom0_settime_t;
#define DOM0_GETPAGEFRAMEINFO 18
#define NOTAB 0 /* normal page */
@@ -174,25 +156,22 @@
typedef struct {
/* IN variables. */
- memory_t pfn; /* 0: Machine page frame number to query. */
- MEMORY_PADDING;
- domid_t domain; /* 8: To which domain does the frame belong? */
- u16 __pad;
+ memory_t pfn; /* Machine page frame number to query. */
+ domid_t domain; /* To which domain does the frame belong? */
/* OUT variables. */
/* Is the page PINNED to a type? */
- u32 type; /* 12: see above type defs */
-} PACKED dom0_getpageframeinfo_t; /* 16 bytes */
+ u32 type; /* see above type defs */
+} dom0_getpageframeinfo_t;
/*
* Read console content from Xen buffer ring.
*/
#define DOM0_READCONSOLE 19
typedef struct {
- memory_t str; /* 0 */
- MEMORY_PADDING;
- u32 count; /* 8 */
- u32 cmd; /* 12 */
-} PACKED dom0_readconsole_t; /* 16 bytes */
+ memory_t str;
+ u32 count;
+ u32 cmd;
+} dom0_readconsole_t;
/*
* Pin Domain to a particular CPU (use -1 to unpin)
@@ -200,34 +179,30 @@
#define DOM0_PINCPUDOMAIN 20
typedef struct {
/* IN variables. */
- domid_t domain; /* 0 */
+ domid_t domain;
u16 exec_domain;
- s32 cpu; /* 4: -1 implies unpin */
-} PACKED dom0_pincpudomain_t; /* 8 bytes */
+ s32 cpu; /* -1 implies unpin */
+} dom0_pincpudomain_t;
/* Get trace buffers machine base address */
#define DOM0_GETTBUFS 21
typedef struct {
/* OUT variables */
- memory_t mach_addr; /* 0: location of the trace buffers */
- MEMORY_PADDING;
- u32 size; /* 8: size of each trace buffer, in bytes */
-} PACKED dom0_gettbufs_t; /* 12 bytes */
+ memory_t mach_addr;
+ u32 size;
+} dom0_gettbufs_t;
/*
* Get physical information about the host machine
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|