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