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

Re: [Xen-devel] [PATCH 17/21] xen: xen_ulong_t substitution



On Fri, 2012-10-05 at 11:38 +0100, Ian Campbell wrote:
> From: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> 
> There is still an unwanted unsigned long in the xen public interface:
> replace it with xen_ulong_t.
> 
> Also typedef xen_ulong_t to uint64_t on ARM.

Should this change be applied to the uses of XEN_GUEST_HANDLE(ulong)
too? My main concern is the one in struct gnttab_setup_table but there
are a few others.

I suspect XEN_GUEST_HANDLE(ulong) needs to be removed entirely,
everywhere it is used should be XEN_GUEST_HANDLE(xen_ulong_t) instead?

Ian.



> 
> Changes in v2:
> 
> - do not replace the unsigned long in x86 specific calls;
> - do not replace the unsigned long in multicall_entry;
> - add missing include "xen.h" in version.h;
> - use proper printf flag for xen_ulong_t.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> Cc: keir@xxxxxxx
> Cc: JBeulich@xxxxxxxx
> ---
>  tools/python/xen/lowlevel/xc/xc.c |    2 +-
>  xen/include/public/arch-arm.h     |    3 ++-
>  xen/include/public/version.h      |    4 +++-
>  3 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/python/xen/lowlevel/xc/xc.c 
> b/tools/python/xen/lowlevel/xc/xc.c
> index 7c89756..e220f68 100644
> --- a/tools/python/xen/lowlevel/xc/xc.c
> +++ b/tools/python/xen/lowlevel/xc/xc.c
> @@ -1439,7 +1439,7 @@ static PyObject *pyxc_xeninfo(XcObject *self)
>      if ( xc_version(self->xc_handle, XENVER_commandline, &xen_commandline) 
> != 0 )
>          return pyxc_error_to_exception(self->xc_handle);
>  
> -    snprintf(str, sizeof(str), "virt_start=0x%lx", p_parms.virt_start);
> +    snprintf(str, sizeof(str), "virt_start=0x%"PRI_xen_ulong, 
> p_parms.virt_start);
>  
>      xen_pagesize = xc_version(self->xc_handle, XENVER_pagesize, NULL);
>      if (xen_pagesize < 0 )
> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
> index e3d4ad9..2ae6548 100644
> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -122,7 +122,8 @@ typedef uint64_t xen_pfn_t;
>  /* Only one. All other VCPUS must use VCPUOP_register_vcpu_info */
>  #define XEN_LEGACY_MAX_VCPUS 1
>  
> -typedef uint32_t xen_ulong_t;
> +typedef uint64_t xen_ulong_t;
> +#define PRI_xen_ulong PRIx64
>  
>  struct vcpu_guest_context {
>  #define _VGCF_online                   0
> diff --git a/xen/include/public/version.h b/xen/include/public/version.h
> index 8742c2b..c7e6f8c 100644
> --- a/xen/include/public/version.h
> +++ b/xen/include/public/version.h
> @@ -28,6 +28,8 @@
>  #ifndef __XEN_PUBLIC_VERSION_H__
>  #define __XEN_PUBLIC_VERSION_H__
>  
> +#include "xen.h"
> +
>  /* NB. All ops return zero on success, except XENVER_{version,pagesize} */
>  
>  /* arg == NULL; returns major:minor (16:16). */
> @@ -58,7 +60,7 @@ typedef char xen_changeset_info_t[64];
>  
>  #define XENVER_platform_parameters 5
>  struct xen_platform_parameters {
> -    unsigned long virt_start;
> +    xen_ulong_t virt_start;
>  };
>  typedef struct xen_platform_parameters xen_platform_parameters_t;
>  



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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