WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Xen

xen-devel

[Top] [All Lists]

[Xen-devel] [patch] [3/3] dom0_ops explicitly sized types

To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [patch] [3/3] dom0_ops explicitly sized types
From: Hollis Blanchard <hollisb@xxxxxxxxxx>
Date: 2006年5月24日 18:04:34 -0500
Cc: John Levon <levon@xxxxxxxxxxxxxxxxx>, xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: 2006年5月24日 16:11:22 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <1148511400.26460.39.camel@xxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <1148509900.26460.22.camel@xxxxxxxxxxxxxxxxxxxxx> <1148511175.26460.35.camel@xxxxxxxxxxxxxxxxxxxxx> <1148511400.26460.39.camel@xxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Replace 'long' in the dom0_ops and privcmd structures with uint64_t.
As discussed previously, the these operations are not performance-sensitive, so the additional cache footprint shouldn't be an issue.

Signed-off-by: Hollis Blanchard <hollisb@xxxxxxxxxx>

diff -r c1434b779f36 linux-2.6-xen-sparse/include/xen/public/privcmd.h
--- a/linux-2.6-xen-sparse/include/xen/public/privcmd.h	Wed May 24 17:45:02 2006 -0500
+++ b/linux-2.6-xen-sparse/include/xen/public/privcmd.h	Wed May 24 18:03:19 2006 -0500
@@ -39,14 +39,14 @@
 
 typedef struct privcmd_hypercall
 {
-	unsigned long op;
-	unsigned long arg[5];
+	uint64_t op;
+	uint64_t arg[5];
 } privcmd_hypercall_t;
 
 typedef struct privcmd_mmap_entry {
-	unsigned long va;
-	unsigned long mfn;
-	unsigned long npages;
+	uint64_t va;
+	uint64_t mfn;
+	uint64_t npages;
 } privcmd_mmap_entry_t; 
 
 typedef struct privcmd_mmap {
@@ -58,7 +58,7 @@ typedef struct privcmd_mmapbatch {
 typedef struct privcmd_mmapbatch {
 	int num;   /* number of pages to populate */
 	domid_t dom; /* target domain */
-	unsigned long addr; /* virtual address */
+	uint64_t addr; /* virtual address */
 	xen_pfn_t __user *arr; /* array of mfns - top nibble set on err */
 } privcmd_mmapbatch_t; 
 
diff -r c1434b779f36 xen/include/public/dom0_ops.h
--- a/xen/include/public/dom0_ops.h	Wed May 24 17:45:02 2006 -0500
+++ b/xen/include/public/dom0_ops.h	Wed May 24 18:03:19 2006 -0500
@@ -19,18 +19,18 @@
 * 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  0x03000000
+#define DOM0_INTERFACE_VERSION  0x03000001
 
 /************************************************************************/
 
 #define DOM0_GETMEMLIST    2
 struct dom0_getmemlist {
   /* IN variables. */
-  domid_t    domain;
-  unsigned long max_pfns;
+  domid_t domain;
+  uint64_t max_pfns;
   XEN_GUEST_HANDLE(xen_pfn_t) buffer;
   /* OUT variables. */
-  unsigned long num_pfns;
+  uint64_t num_pfns;
 };
 typedef struct dom0_getmemlist dom0_getmemlist_t;
 DEFINE_XEN_GUEST_HANDLE(dom0_getmemlist_t);
@@ -96,9 +96,9 @@ struct dom0_getdomaininfo {
 #define DOMFLAGS_SHUTDOWNMASK 255 /* DOMFLAGS_SHUTDOWN guest-supplied code. */
 #define DOMFLAGS_SHUTDOWNSHIFT 16
   uint32_t flags;
-  unsigned long tot_pages;
-  unsigned long max_pages;
-  unsigned long shared_info_frame;    /* MFN of shared_info struct */
+  uint64_t tot_pages;
+  uint64_t max_pages;
+  uint64_t shared_info_frame;  /* MFN of shared_info struct */
   uint64_t cpu_time;
   uint32_t nr_online_vcpus;   /* Number of VCPUs currently online. */
   uint32_t max_vcpu_id;     /* Maximum VCPUID in use by this domain. */
@@ -162,7 +162,7 @@ DEFINE_XEN_GUEST_HANDLE(dom0_settime_t);
 
 struct dom0_getpageframeinfo {
   /* IN variables. */
-  unsigned long mfn;   /* Machine page frame number to query.    */
+  uint64_t   mfn;   /* 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? */
@@ -213,7 +213,7 @@ struct dom0_tbufcontrol {
   cpumap_t   cpu_mask;
   uint32_t   evt_mask;
   /* OUT variables */
-  unsigned long buffer_mfn;
+  uint64_t   buffer_mfn;
   uint32_t size;
 };
 typedef struct dom0_tbufcontrol dom0_tbufcontrol_t;
@@ -229,8 +229,8 @@ struct dom0_physinfo {
   uint32_t sockets_per_node;
   uint32_t nr_nodes;
   uint32_t cpu_khz;
-  unsigned long total_pages;
-  unsigned long free_pages;
+  uint64_t total_pages;
+  uint64_t free_pages;
   uint32_t hw_cap[8];
 };
 typedef struct dom0_physinfo dom0_physinfo_t;
@@ -276,7 +276,7 @@ struct dom0_shadow_control {
   uint32_t    op;
   XEN_GUEST_HANDLE(ulong) dirty_bitmap;
   /* IN/OUT variables. */
-  unsigned long pages;    /* size of buffer, updated with actual size */
+  uint64_t    pages;    /* size of buffer, updated with actual size */
   /* OUT variables. */
   struct dom0_shadow_control_stats stats;
 };
@@ -286,8 +286,8 @@ DEFINE_XEN_GUEST_HANDLE(dom0_shadow_cont
 #define DOM0_SETDOMAINMAXMEM  28
 struct dom0_setdomainmaxmem {
   /* IN variables. */
-  domid_t    domain;
-  unsigned long max_memkb;
+  domid_t domain;
+  uint64_t max_memkb;
 };
 typedef struct dom0_setdomainmaxmem dom0_setdomainmaxmem_t;
 DEFINE_XEN_GUEST_HANDLE(dom0_setdomainmaxmem_t);
@@ -295,8 +295,8 @@ DEFINE_XEN_GUEST_HANDLE(dom0_setdomainma
 #define DOM0_GETPAGEFRAMEINFO2 29  /* batched interface */
 struct dom0_getpageframeinfo2 {
   /* IN variables. */
-  domid_t    domain;
-  unsigned long num;
+  domid_t domain;
+  uint64_t num;
   /* IN/OUT variables. */
   XEN_GUEST_HANDLE(ulong) array;
 };
@@ -313,12 +313,12 @@ DEFINE_XEN_GUEST_HANDLE(dom0_getpagefram
 #define DOM0_ADD_MEMTYPE     31
 struct dom0_add_memtype {
   /* IN variables. */
-  unsigned long mfn;
-  unsigned long nr_mfns;
-  uint32_t   type;
-  /* OUT variables. */
-  uint32_t   handle;
-  uint32_t   reg;
+  uint64_t mfn;
+  uint64_t nr_mfns;
+  uint32_t type;
+  /* OUT variables. */
+  uint32_t handle;
+  uint32_t reg;
 };
 typedef struct dom0_add_memtype dom0_add_memtype_t;
 DEFINE_XEN_GUEST_HANDLE(dom0_add_memtype_t);
@@ -345,8 +345,8 @@ struct dom0_read_memtype {
   /* IN variables. */
   uint32_t reg;
   /* OUT variables. */
-  unsigned long mfn;
-  unsigned long nr_mfns;
+  uint64_t mfn;
+  uint64_t nr_mfns;
   uint32_t type;
 };
 typedef struct dom0_read_memtype dom0_read_memtype_t;
@@ -499,8 +499,8 @@ DEFINE_XEN_GUEST_HANDLE(dom0_irq_permiss
 #define DOM0_IOMEM_PERMISSION 47
 struct dom0_iomem_permission {
   domid_t domain;     /* domain to be affected */
-  unsigned long first_mfn; /* first page (physical page number) in range */
-  unsigned long nr_mfns;  /* number of pages in range (>0) */
+  uint64_t first_mfn;    /* first page (physical page number) in range */
+  uint64_t nr_mfns;     /* number of pages in range (>0) */
   uint8_t allow_access;   /* allow (!0) or deny (0) access to range? */
 };
 typedef struct dom0_iomem_permission dom0_iomem_permission_t;
@@ -509,7 +509,7 @@ DEFINE_XEN_GUEST_HANDLE(dom0_iomem_permi
 #define DOM0_HYPERCALL_INIT  48
 struct dom0_hypercall_init {
   domid_t domain;     /* domain to be affected */
-  unsigned long mfn;    /* machine frame to be initialised */
+  uint64_t mfn;       /* machine frame to be initialised */
 };
 typedef struct dom0_hypercall_init dom0_hypercall_init_t;
 DEFINE_XEN_GUEST_HANDLE(dom0_hypercall_init_t);
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
Previous by Date: [Xen-devel] [patch] [1/3] global build configuration file , Hollis Blanchard
Next by Date: [Xen-devel] [patch] [2/3] use new 'xen_pfn_t' type to represent PFNs in the Xen ABI , Hollis Blanchard
Previous by Thread: [Xen-devel] [patch] [1/3] global build configuration file , Hollis Blanchard
Next by Thread: Re: [Xen-devel] [patch] [3/3] dom0_ops explicitly sized types , Muli Ben-Yehuda
Indexes: [Date] [Thread] [Top] [All Lists]

Copyright ©, Citrix Systems Inc. All rights reserved. Legal and Privacy
Citrix This site is hosted by Citrix

AltStyle によって変換されたページ (->オリジナル) /