Ian Campbell
2010-May-20 12:13 UTC
[Xen-devel] [PATCH] ocaml: fix ocaml xc compilation on 32 bit
cc1: warnings being treated as errors
xc_lib.c: In function ''xc_domain_get_pfn_list'':
xc_lib.c:1217: error: assignment from incompatible pointer type
The XEN_DOMCTL_getmemlist interface has been 32/64 invariante since
13594:30af6cfdb05c and uint64_t is now the correct type for the PFN
list on all word sizes.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
diff -r df369d08f429 -r df09eb0ada11 tools/ocaml/libs/xc/xc.h
--- a/tools/ocaml/libs/xc/xc.h Thu May 20 12:44:14 2010 +0100
+++ b/tools/ocaml/libs/xc/xc.h Thu May 20 13:12:55 2010 +0100
@@ -141,7 +141,7 @@
int xc_shadow_allocation_set(int handle, unsigned int domid,
uint32_t mb);
int xc_domain_get_pfn_list(int handle, unsigned int domid,
- xen_pfn_t *pfn_array, unsigned long max_pfns);
+ uint64_t *pfn_array, unsigned long max_pfns);
int xc_hvm_check_pvdriver(int handle, unsigned int domid);
int xc_domain_assign_device(int handle, unsigned int domid,
diff -r df369d08f429 -r df09eb0ada11 tools/ocaml/libs/xc/xc_lib.c
--- a/tools/ocaml/libs/xc/xc_lib.c Thu May 20 12:44:14 2010 +0100
+++ b/tools/ocaml/libs/xc/xc_lib.c Thu May 20 13:12:55 2010 +0100
@@ -1208,7 +1208,7 @@
}
int xc_domain_get_pfn_list(int handle, unsigned int domid,
- xen_pfn_t *pfn_array, unsigned long max_pfns)
+ uint64_t *pfn_array, unsigned long max_pfns)
{
int ret;
DECLARE_DOMCTL(XEN_DOMCTL_getmemlist, domid);
diff -r df369d08f429 -r df09eb0ada11 tools/ocaml/libs/xc/xc_stubs.c
--- a/tools/ocaml/libs/xc/xc_stubs.c Thu May 20 12:44:14 2010 +0100
+++ b/tools/ocaml/libs/xc/xc_stubs.c Thu May 20 13:12:55 2010 +0100
@@ -952,11 +952,11 @@
CAMLlocal2(array, v);
unsigned long c_nr_pfns;
long ret, i;
- xen_pfn_t *c_array;
+ uint64_t *c_array;
c_nr_pfns = Nativeint_val(nr_pfns);
- c_array = malloc(sizeof(xen_pfn_t) * c_nr_pfns);
+ c_array = malloc(sizeof(uint64_t) * c_nr_pfns);
if (!c_array)
caml_raise_out_of_memory();
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Christoph Egger
2010-May-20 12:24 UTC
Re: [Xen-devel] [PATCH] ocaml: fix ocaml xc compilation on 32 bit
On Thursday 20 May 2010 14:13:06 Ian Campbell wrote:> cc1: warnings being treated as errors > xc_lib.c: In function ''xc_domain_get_pfn_list'': > xc_lib.c:1217: error: assignment from incompatible pointer type > > The XEN_DOMCTL_getmemlist interface has been 32/64 invariante since > 13594:30af6cfdb05c and uint64_t is now the correct type for the PFN > list on all word sizes. > > Signed-off-by: Ian Campbell <ian.campbell@citrix.com> > > diff -r df369d08f429 -r df09eb0ada11 tools/ocaml/libs/xc/xc.h > --- a/tools/ocaml/libs/xc/xc.h Thu May 20 12:44:14 2010 +0100 > +++ b/tools/ocaml/libs/xc/xc.h Thu May 20 13:12:55 2010 +0100 > @@ -141,7 +141,7 @@ > int xc_shadow_allocation_set(int handle, unsigned int domid, > uint32_t mb); > int xc_domain_get_pfn_list(int handle, unsigned int domid, > - xen_pfn_t *pfn_array, unsigned long max_pfns); > + uint64_t *pfn_array, unsigned long max_pfns); > int xc_hvm_check_pvdriver(int handle, unsigned int domid); > > int xc_domain_assign_device(int handle, unsigned int domid, > diff -r df369d08f429 -r df09eb0ada11 tools/ocaml/libs/xc/xc_lib.c > --- a/tools/ocaml/libs/xc/xc_lib.c Thu May 20 12:44:14 2010 +0100 > +++ b/tools/ocaml/libs/xc/xc_lib.c Thu May 20 13:12:55 2010 +0100 > @@ -1208,7 +1208,7 @@ > } > > int xc_domain_get_pfn_list(int handle, unsigned int domid, > - xen_pfn_t *pfn_array, unsigned long max_pfns) > + uint64_t *pfn_array, unsigned long max_pfns) > { > int ret; > DECLARE_DOMCTL(XEN_DOMCTL_getmemlist, domid); > diff -r df369d08f429 -r df09eb0ada11 tools/ocaml/libs/xc/xc_stubs.c > --- a/tools/ocaml/libs/xc/xc_stubs.c Thu May 20 12:44:14 2010 +0100 > +++ b/tools/ocaml/libs/xc/xc_stubs.c Thu May 20 13:12:55 2010 +0100 > @@ -952,11 +952,11 @@ > CAMLlocal2(array, v); > unsigned long c_nr_pfns; > long ret, i; > - xen_pfn_t *c_array; > + uint64_t *c_array; > > c_nr_pfns = Nativeint_val(nr_pfns); > > - c_array = malloc(sizeof(xen_pfn_t) * c_nr_pfns); > + c_array = malloc(sizeof(uint64_t) * c_nr_pfns);Wouldn''t it be better to have here + c_array = calloc(c_nr_pfns, sizeof(uint64_t)); ?> if (!c_array) > caml_raise_out_of_memory(); > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel-- ---to satisfy European Law for business letters: Advanced Micro Devices GmbH Einsteinring 24, 85609 Dornach b. Muenchen Geschaeftsfuehrer: Andrew Bowd, Thomas M. McCoy, Giuliano Meroni Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2010-May-20 12:56 UTC
Re: [Xen-devel] [PATCH] ocaml: fix ocaml xc compilation on 32 bit
On Thu, 2010-05-20 at 13:24 +0100, Christoph Egger wrote:> On Thursday 20 May 2010 14:13:06 Ian Campbell wrote:> > - c_array = malloc(sizeof(xen_pfn_t) * c_nr_pfns); > > + c_array = malloc(sizeof(uint64_t) * c_nr_pfns); > > Wouldn''t it be better to have here > > + c_array = calloc(c_nr_pfns, sizeof(uint64_t));I suppose so but that would be an unrelated change, please post a patch if you think it is worth it. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2010-May-20 13:13 UTC
Re: [Xen-devel] [PATCH] ocaml: fix ocaml xc compilation on 32 bit
On 20/05/2010 13:56, "Ian Campbell" <Ian.Campbell@citrix.com> wrote:>>> - c_array = malloc(sizeof(xen_pfn_t) * c_nr_pfns); >>> + c_array = malloc(sizeof(uint64_t) * c_nr_pfns); >> >> Wouldn''t it be better to have here >> >> + c_array = calloc(c_nr_pfns, sizeof(uint64_t)); > > I suppose so but that would be an unrelated change, please post a patch > if you think it is worth it.Who cares either way. calloc() has potential extra overhead for clearing the memory, which is presumably not required in this case. K. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel