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
|