[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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@xxxxxxxxxx>
>
> 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@xxxxxxxxxxxxxxxxxxx
> 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@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.