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

[Xen-changelog] Un-PACK the dom0_op structures and bump the interface version number.



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


 


Rackspace

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