aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2012-10-17 04:39:14 -0400
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2012-10-19 15:17:55 -0400
commitef32f89298c094b6ed76c0c4981b7a51e939cb71 (patch)
tree944cee088fd708167500c6c4a7ed4d87cad3f026
parentbf86ad8095d4684ada0d37bb1355ede2c88a5e4e (diff)
xen: grant: use xen_pfn_t type for frame_list.
This correctly sizes it as 64 bit on ARM but leaves it as unsigned long on x86 (therefore no intended change on x86). The long and ulong guest handles are now unused (and a bit dangerous) so remove them. Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
-rw-r--r--arch/arm/include/asm/xen/interface.h2
-rw-r--r--arch/arm/xen/grant-table.c2
-rw-r--r--arch/x86/include/asm/xen/interface.h2
-rw-r--r--drivers/xen/grant-table.c8
-rw-r--r--include/xen/grant_table.h2
-rw-r--r--include/xen/interface/grant_table.h2
6 files changed, 7 insertions, 11 deletions
diff --git a/arch/arm/include/asm/xen/interface.h b/arch/arm/include/asm/xen/interface.h
index 62160f259b0e..1d6ef9c2d1d9 100644
--- a/arch/arm/include/asm/xen/interface.h
+++ b/arch/arm/include/asm/xen/interface.h
@@ -37,10 +37,8 @@ typedef uint64_t xen_ulong_t;
37/* Guest handles for primitive C types. */ 37/* Guest handles for primitive C types. */
38__DEFINE_GUEST_HANDLE(uchar, unsigned char); 38__DEFINE_GUEST_HANDLE(uchar, unsigned char);
39__DEFINE_GUEST_HANDLE(uint, unsigned int); 39__DEFINE_GUEST_HANDLE(uint, unsigned int);
40__DEFINE_GUEST_HANDLE(ulong, unsigned long);
41DEFINE_GUEST_HANDLE(char); 40DEFINE_GUEST_HANDLE(char);
42DEFINE_GUEST_HANDLE(int); 41DEFINE_GUEST_HANDLE(int);
43DEFINE_GUEST_HANDLE(long);
44DEFINE_GUEST_HANDLE(void); 42DEFINE_GUEST_HANDLE(void);
45DEFINE_GUEST_HANDLE(uint64_t); 43DEFINE_GUEST_HANDLE(uint64_t);
46DEFINE_GUEST_HANDLE(uint32_t); 44DEFINE_GUEST_HANDLE(uint32_t);
diff --git a/arch/arm/xen/grant-table.c b/arch/arm/xen/grant-table.c
index dbd1330c0196..859a9bb002d5 100644
--- a/arch/arm/xen/grant-table.c
+++ b/arch/arm/xen/grant-table.c
@@ -33,7 +33,7 @@
33#include <xen/page.h> 33#include <xen/page.h>
34#include <xen/grant_table.h> 34#include <xen/grant_table.h>
35 35
36int arch_gnttab_map_shared(unsigned long *frames, unsigned long nr_gframes, 36int arch_gnttab_map_shared(xen_pfn_t *frames, unsigned long nr_gframes,
37 unsigned long max_nr_gframes, 37 unsigned long max_nr_gframes,
38 void **__shared) 38 void **__shared)
39{ 39{
diff --git a/arch/x86/include/asm/xen/interface.h b/arch/x86/include/asm/xen/interface.h
index c5b13e76d730..ca9487d4f176 100644
--- a/arch/x86/include/asm/xen/interface.h
+++ b/arch/x86/include/asm/xen/interface.h
@@ -57,10 +57,8 @@ typedef unsigned long xen_ulong_t;
57/* Guest handles for primitive C types. */ 57/* Guest handles for primitive C types. */
58__DEFINE_GUEST_HANDLE(uchar, unsigned char); 58__DEFINE_GUEST_HANDLE(uchar, unsigned char);
59__DEFINE_GUEST_HANDLE(uint, unsigned int); 59__DEFINE_GUEST_HANDLE(uint, unsigned int);
60__DEFINE_GUEST_HANDLE(ulong, unsigned long);
61DEFINE_GUEST_HANDLE(char); 60DEFINE_GUEST_HANDLE(char);
62DEFINE_GUEST_HANDLE(int); 61DEFINE_GUEST_HANDLE(int);
63DEFINE_GUEST_HANDLE(long);
64DEFINE_GUEST_HANDLE(void); 62DEFINE_GUEST_HANDLE(void);
65DEFINE_GUEST_HANDLE(uint64_t); 63DEFINE_GUEST_HANDLE(uint64_t);
66DEFINE_GUEST_HANDLE(uint32_t); 64DEFINE_GUEST_HANDLE(uint32_t);
diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c
index 3a567b15600b..39aefa890110 100644
--- a/drivers/xen/grant-table.c
+++ b/drivers/xen/grant-table.c
@@ -84,7 +84,7 @@ struct gnttab_ops {
84 * nr_gframes is the number of frames to map grant table. Returning 84 * nr_gframes is the number of frames to map grant table. Returning
85 * GNTST_okay means success and negative value means failure. 85 * GNTST_okay means success and negative value means failure.
86 */ 86 */
87 int (*map_frames)(unsigned long *frames, unsigned int nr_gframes); 87 int (*map_frames)(xen_pfn_t *frames, unsigned int nr_gframes);
88 /* 88 /*
89 * Release a list of frames which are mapped in map_frames for grant 89 * Release a list of frames which are mapped in map_frames for grant
90 * entry status. 90 * entry status.
@@ -958,7 +958,7 @@ static unsigned nr_status_frames(unsigned nr_grant_frames)
958 return (nr_grant_frames * GREFS_PER_GRANT_FRAME + SPP - 1) / SPP; 958 return (nr_grant_frames * GREFS_PER_GRANT_FRAME + SPP - 1) / SPP;
959} 959}
960 960
961static int gnttab_map_frames_v1(unsigned long *frames, unsigned int nr_gframes) 961static int gnttab_map_frames_v1(xen_pfn_t *frames, unsigned int nr_gframes)
962{ 962{
963 int rc; 963 int rc;
964 964
@@ -975,7 +975,7 @@ static void gnttab_unmap_frames_v1(void)
975 arch_gnttab_unmap(gnttab_shared.addr, nr_grant_frames); 975 arch_gnttab_unmap(gnttab_shared.addr, nr_grant_frames);
976} 976}
977 977
978static int gnttab_map_frames_v2(unsigned long *frames, unsigned int nr_gframes) 978static int gnttab_map_frames_v2(xen_pfn_t *frames, unsigned int nr_gframes)
979{ 979{
980 uint64_t *sframes; 980 uint64_t *sframes;
981 unsigned int nr_sframes; 981 unsigned int nr_sframes;
@@ -1027,7 +1027,7 @@ static void gnttab_unmap_frames_v2(void)
1027static int gnttab_map(unsigned int start_idx, unsigned int end_idx) 1027static int gnttab_map(unsigned int start_idx, unsigned int end_idx)
1028{ 1028{
1029 struct gnttab_setup_table setup; 1029 struct gnttab_setup_table setup;
1030 unsigned long *frames; 1030 xen_pfn_t *frames;
1031 unsigned int nr_gframes = end_idx + 1; 1031 unsigned int nr_gframes = end_idx + 1;
1032 int rc; 1032 int rc;
1033 1033
diff --git a/include/xen/grant_table.h b/include/xen/grant_table.h
index ba0d77529a29..962b7df5eabf 100644
--- a/include/xen/grant_table.h
+++ b/include/xen/grant_table.h
@@ -170,7 +170,7 @@ gnttab_set_unmap_op(struct gnttab_unmap_grant_ref *unmap, phys_addr_t addr,
170 unmap->dev_bus_addr = 0; 170 unmap->dev_bus_addr = 0;
171} 171}
172 172
173int arch_gnttab_map_shared(unsigned long *frames, unsigned long nr_gframes, 173int arch_gnttab_map_shared(xen_pfn_t *frames, unsigned long nr_gframes,
174 unsigned long max_nr_gframes, 174 unsigned long max_nr_gframes,
175 void **__shared); 175 void **__shared);
176int arch_gnttab_map_status(uint64_t *frames, unsigned long nr_gframes, 176int arch_gnttab_map_status(uint64_t *frames, unsigned long nr_gframes,
diff --git a/include/xen/interface/grant_table.h b/include/xen/interface/grant_table.h
index f9f8b975ae74..e40fae9bf11a 100644
--- a/include/xen/interface/grant_table.h
+++ b/include/xen/interface/grant_table.h
@@ -310,7 +310,7 @@ struct gnttab_setup_table {
310 uint32_t nr_frames; 310 uint32_t nr_frames;
311 /* OUT parameters. */ 311 /* OUT parameters. */
312 int16_t status; /* GNTST_* */ 312 int16_t status; /* GNTST_* */
313 GUEST_HANDLE(ulong) frame_list; 313 GUEST_HANDLE(xen_pfn_t) frame_list;
314}; 314};
315DEFINE_GUEST_HANDLE_STRUCT(gnttab_setup_table); 315DEFINE_GUEST_HANDLE_STRUCT(gnttab_setup_table);
316 316