All of lore.kernel.org
 help / color / mirror / Atom feed
From: konrad.wilk@oracle.com (Konrad Rzeszutek Wilk)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 08/24] xen/arm: Introduce xen_pfn_t for pfn and mfn types
Date: Wed, 1 Aug 2012 10:22:49 -0400	[thread overview]
Message-ID: <20120801142249.GF7227@phenom.dumpdata.com> (raw)
In-Reply-To: <1343316846-25860-8-git-send-email-stefano.stabellini@eu.citrix.com>

On Thu, Jul 26, 2012 at 04:33:50PM +0100, Stefano Stabellini wrote:
> All the original Xen headers have xen_pfn_t as mfn and pfn type, however
> when they have been imported in Linux, xen_pfn_t has been replaced with
> unsigned long. That might work for x86 and ia64 but it does not for arm.

How come?
> Bring back xen_pfn_t and let each architecture define xen_pfn_t as they
> see fit.

I am OK with this as long as your include a comment in both of the
interface.h saying why this is needed. I am curious why 'unsinged long'
won't work? Is it b/c on ARM you always want a 64-bit type?

> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> ---
>  arch/arm/include/asm/xen/interface.h  |    2 ++
>  arch/ia64/include/asm/xen/interface.h |    2 +-
>  arch/x86/include/asm/xen/interface.h  |    2 ++
>  include/xen/interface/grant_table.h   |    4 ++--
>  include/xen/interface/memory.h        |    6 +++---
>  include/xen/interface/platform.h      |    4 ++--
>  include/xen/interface/xen.h           |    6 +++---
>  include/xen/privcmd.h                 |    2 --
>  8 files changed, 15 insertions(+), 13 deletions(-)
> 
> diff --git a/arch/arm/include/asm/xen/interface.h b/arch/arm/include/asm/xen/interface.h
> index 6c3ab59..76b1ebe 100644
> --- a/arch/arm/include/asm/xen/interface.h
> +++ b/arch/arm/include/asm/xen/interface.h
> @@ -25,6 +25,7 @@
>  	} while (0)
>  
>  #ifndef __ASSEMBLY__
> +typedef uint64_t xen_pfn_t;
>  /* Guest handles for primitive C types. */
>  __DEFINE_GUEST_HANDLE(uchar, unsigned char);
>  __DEFINE_GUEST_HANDLE(uint,  unsigned int);
> @@ -35,6 +36,7 @@ DEFINE_GUEST_HANDLE(long);
>  DEFINE_GUEST_HANDLE(void);
>  DEFINE_GUEST_HANDLE(uint64_t);
>  DEFINE_GUEST_HANDLE(uint32_t);
> +DEFINE_GUEST_HANDLE(xen_pfn_t);
>  
>  /* Maximum number of virtual CPUs in multi-processor guests. */
>  #define MAX_VIRT_CPUS 1
> diff --git a/arch/ia64/include/asm/xen/interface.h b/arch/ia64/include/asm/xen/interface.h
> index 09d5f7f..9efa068 100644
> --- a/arch/ia64/include/asm/xen/interface.h
> +++ b/arch/ia64/include/asm/xen/interface.h
> @@ -67,6 +67,7 @@
>  #define set_xen_guest_handle(hnd, val)	do { (hnd).p = val; } while (0)
>  
>  #ifndef __ASSEMBLY__
> +typedef unsigned long xen_pfn_t;
>  /* Guest handles for primitive C types. */
>  __DEFINE_GUEST_HANDLE(uchar, unsigned char);
>  __DEFINE_GUEST_HANDLE(uint, unsigned int);
> @@ -79,7 +80,6 @@ DEFINE_GUEST_HANDLE(void);
>  DEFINE_GUEST_HANDLE(uint64_t);
>  DEFINE_GUEST_HANDLE(uint32_t);
>  
> -typedef unsigned long xen_pfn_t;
>  DEFINE_GUEST_HANDLE(xen_pfn_t);
>  #define PRI_xen_pfn	"lx"
>  #endif
> diff --git a/arch/x86/include/asm/xen/interface.h b/arch/x86/include/asm/xen/interface.h
> index cbf0c9d..24c1b07 100644
> --- a/arch/x86/include/asm/xen/interface.h
> +++ b/arch/x86/include/asm/xen/interface.h
> @@ -47,6 +47,7 @@
>  #endif
>  
>  #ifndef __ASSEMBLY__
> +typedef unsigned long xen_pfn_t;
>  /* Guest handles for primitive C types. */
>  __DEFINE_GUEST_HANDLE(uchar, unsigned char);
>  __DEFINE_GUEST_HANDLE(uint,  unsigned int);
> @@ -57,6 +58,7 @@ DEFINE_GUEST_HANDLE(long);
>  DEFINE_GUEST_HANDLE(void);
>  DEFINE_GUEST_HANDLE(uint64_t);
>  DEFINE_GUEST_HANDLE(uint32_t);
> +DEFINE_GUEST_HANDLE(xen_pfn_t);
>  #endif
>  
>  #ifndef HYPERVISOR_VIRT_START
> diff --git a/include/xen/interface/grant_table.h b/include/xen/interface/grant_table.h
> index a17d844..7da811b 100644
> --- a/include/xen/interface/grant_table.h
> +++ b/include/xen/interface/grant_table.h
> @@ -338,7 +338,7 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_dump_table);
>  #define GNTTABOP_transfer                4
>  struct gnttab_transfer {
>      /* IN parameters. */
> -    unsigned long mfn;
> +    xen_pfn_t mfn;
>      domid_t       domid;
>      grant_ref_t   ref;
>      /* OUT parameters. */
> @@ -375,7 +375,7 @@ struct gnttab_copy {
>  	struct {
>  		union {
>  			grant_ref_t ref;
> -			unsigned long   gmfn;
> +			xen_pfn_t   gmfn;
>  		} u;
>  		domid_t  domid;
>  		uint16_t offset;
> diff --git a/include/xen/interface/memory.h b/include/xen/interface/memory.h
> index eac3ce1..abbbff0 100644
> --- a/include/xen/interface/memory.h
> +++ b/include/xen/interface/memory.h
> @@ -31,7 +31,7 @@ struct xen_memory_reservation {
>       *   OUT: GMFN bases of extents that were allocated
>       *   (NB. This command also updates the mach_to_phys translation table)
>       */
> -    GUEST_HANDLE(ulong) extent_start;
> +    GUEST_HANDLE(xen_pfn_t) extent_start;
>  
>      /* Number of extents, and size/alignment of each (2^extent_order pages). */
>      unsigned long  nr_extents;
> @@ -130,7 +130,7 @@ struct xen_machphys_mfn_list {
>       * any large discontiguities in the machine address space, 2MB gaps in
>       * the machphys table will be represented by an MFN base of zero.
>       */
> -    GUEST_HANDLE(ulong) extent_start;
> +    GUEST_HANDLE(xen_pfn_t) extent_start;
>  
>      /*
>       * Number of extents written to the above array. This will be smaller
> @@ -172,7 +172,7 @@ struct xen_add_to_physmap {
>      unsigned long idx;
>  
>      /* GPFN where the source mapping page should appear. */
> -    unsigned long gpfn;
> +    xen_pfn_t gpfn;
>  };
>  DEFINE_GUEST_HANDLE_STRUCT(xen_add_to_physmap);
>  
> diff --git a/include/xen/interface/platform.h b/include/xen/interface/platform.h
> index 486653f..0bea470 100644
> --- a/include/xen/interface/platform.h
> +++ b/include/xen/interface/platform.h
> @@ -54,7 +54,7 @@ DEFINE_GUEST_HANDLE_STRUCT(xenpf_settime_t);
>  #define XENPF_add_memtype         31
>  struct xenpf_add_memtype {
>  	/* IN variables. */
> -	unsigned long mfn;
> +	xen_pfn_t mfn;
>  	uint64_t nr_mfns;
>  	uint32_t type;
>  	/* OUT variables. */
> @@ -84,7 +84,7 @@ struct xenpf_read_memtype {
>  	/* IN variables. */
>  	uint32_t reg;
>  	/* OUT variables. */
> -	unsigned long mfn;
> +	xen_pfn_t mfn;
>  	uint64_t nr_mfns;
>  	uint32_t type;
>  };
> diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h
> index 4f29f33..d59a991 100644
> --- a/include/xen/interface/xen.h
> +++ b/include/xen/interface/xen.h
> @@ -192,7 +192,7 @@ struct mmuext_op {
>  	unsigned int cmd;
>  	union {
>  		/* [UN]PIN_TABLE, NEW_BASEPTR, NEW_USER_BASEPTR */
> -		unsigned long mfn;
> +		xen_pfn_t mfn;
>  		/* INVLPG_LOCAL, INVLPG_ALL, SET_LDT */
>  		unsigned long linear_addr;
>  	} arg1;
> @@ -432,11 +432,11 @@ struct start_info {
>  	unsigned long nr_pages;     /* Total pages allocated to this domain.  */
>  	unsigned long shared_info;  /* MACHINE address of shared info struct. */
>  	uint32_t flags;             /* SIF_xxx flags.                         */
> -	unsigned long store_mfn;    /* MACHINE page number of shared page.    */
> +	xen_pfn_t store_mfn;        /* MACHINE page number of shared page.    */
>  	uint32_t store_evtchn;      /* Event channel for store communication. */
>  	union {
>  		struct {
> -			unsigned long mfn;  /* MACHINE page number of console page.   */
> +			xen_pfn_t mfn;      /* MACHINE page number of console page.   */
>  			uint32_t  evtchn;   /* Event channel for console page.        */
>  		} domU;
>  		struct {
> diff --git a/include/xen/privcmd.h b/include/xen/privcmd.h
> index 4d58881..45c1aa1 100644
> --- a/include/xen/privcmd.h
> +++ b/include/xen/privcmd.h
> @@ -37,8 +37,6 @@
>  #include <linux/compiler.h>
>  #include <xen/interface/xen.h>
>  
> -typedef unsigned long xen_pfn_t;
> -
>  struct privcmd_hypercall {
>  	__u64 op;
>  	__u64 arg[5];
> -- 
> 1.7.2.5

WARNING: multiple messages have this Message-ID (diff)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com,
	Ian.Campbell@citrix.com, tim@xen.org,
	linux-arm-kernel@lists.infradead.org,
	linaro-dev@lists.linaro.org, catalin.marinas@arm.com,
	arnd@arndb.de
Subject: Re: [PATCH 08/24] xen/arm: Introduce xen_pfn_t for pfn and mfn types
Date: Wed, 1 Aug 2012 10:22:49 -0400	[thread overview]
Message-ID: <20120801142249.GF7227@phenom.dumpdata.com> (raw)
In-Reply-To: <1343316846-25860-8-git-send-email-stefano.stabellini@eu.citrix.com>

On Thu, Jul 26, 2012 at 04:33:50PM +0100, Stefano Stabellini wrote:
> All the original Xen headers have xen_pfn_t as mfn and pfn type, however
> when they have been imported in Linux, xen_pfn_t has been replaced with
> unsigned long. That might work for x86 and ia64 but it does not for arm.

How come?
> Bring back xen_pfn_t and let each architecture define xen_pfn_t as they
> see fit.

I am OK with this as long as your include a comment in both of the
interface.h saying why this is needed. I am curious why 'unsinged long'
won't work? Is it b/c on ARM you always want a 64-bit type?

> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> ---
>  arch/arm/include/asm/xen/interface.h  |    2 ++
>  arch/ia64/include/asm/xen/interface.h |    2 +-
>  arch/x86/include/asm/xen/interface.h  |    2 ++
>  include/xen/interface/grant_table.h   |    4 ++--
>  include/xen/interface/memory.h        |    6 +++---
>  include/xen/interface/platform.h      |    4 ++--
>  include/xen/interface/xen.h           |    6 +++---
>  include/xen/privcmd.h                 |    2 --
>  8 files changed, 15 insertions(+), 13 deletions(-)
> 
> diff --git a/arch/arm/include/asm/xen/interface.h b/arch/arm/include/asm/xen/interface.h
> index 6c3ab59..76b1ebe 100644
> --- a/arch/arm/include/asm/xen/interface.h
> +++ b/arch/arm/include/asm/xen/interface.h
> @@ -25,6 +25,7 @@
>  	} while (0)
>  
>  #ifndef __ASSEMBLY__
> +typedef uint64_t xen_pfn_t;
>  /* Guest handles for primitive C types. */
>  __DEFINE_GUEST_HANDLE(uchar, unsigned char);
>  __DEFINE_GUEST_HANDLE(uint,  unsigned int);
> @@ -35,6 +36,7 @@ DEFINE_GUEST_HANDLE(long);
>  DEFINE_GUEST_HANDLE(void);
>  DEFINE_GUEST_HANDLE(uint64_t);
>  DEFINE_GUEST_HANDLE(uint32_t);
> +DEFINE_GUEST_HANDLE(xen_pfn_t);
>  
>  /* Maximum number of virtual CPUs in multi-processor guests. */
>  #define MAX_VIRT_CPUS 1
> diff --git a/arch/ia64/include/asm/xen/interface.h b/arch/ia64/include/asm/xen/interface.h
> index 09d5f7f..9efa068 100644
> --- a/arch/ia64/include/asm/xen/interface.h
> +++ b/arch/ia64/include/asm/xen/interface.h
> @@ -67,6 +67,7 @@
>  #define set_xen_guest_handle(hnd, val)	do { (hnd).p = val; } while (0)
>  
>  #ifndef __ASSEMBLY__
> +typedef unsigned long xen_pfn_t;
>  /* Guest handles for primitive C types. */
>  __DEFINE_GUEST_HANDLE(uchar, unsigned char);
>  __DEFINE_GUEST_HANDLE(uint, unsigned int);
> @@ -79,7 +80,6 @@ DEFINE_GUEST_HANDLE(void);
>  DEFINE_GUEST_HANDLE(uint64_t);
>  DEFINE_GUEST_HANDLE(uint32_t);
>  
> -typedef unsigned long xen_pfn_t;
>  DEFINE_GUEST_HANDLE(xen_pfn_t);
>  #define PRI_xen_pfn	"lx"
>  #endif
> diff --git a/arch/x86/include/asm/xen/interface.h b/arch/x86/include/asm/xen/interface.h
> index cbf0c9d..24c1b07 100644
> --- a/arch/x86/include/asm/xen/interface.h
> +++ b/arch/x86/include/asm/xen/interface.h
> @@ -47,6 +47,7 @@
>  #endif
>  
>  #ifndef __ASSEMBLY__
> +typedef unsigned long xen_pfn_t;
>  /* Guest handles for primitive C types. */
>  __DEFINE_GUEST_HANDLE(uchar, unsigned char);
>  __DEFINE_GUEST_HANDLE(uint,  unsigned int);
> @@ -57,6 +58,7 @@ DEFINE_GUEST_HANDLE(long);
>  DEFINE_GUEST_HANDLE(void);
>  DEFINE_GUEST_HANDLE(uint64_t);
>  DEFINE_GUEST_HANDLE(uint32_t);
> +DEFINE_GUEST_HANDLE(xen_pfn_t);
>  #endif
>  
>  #ifndef HYPERVISOR_VIRT_START
> diff --git a/include/xen/interface/grant_table.h b/include/xen/interface/grant_table.h
> index a17d844..7da811b 100644
> --- a/include/xen/interface/grant_table.h
> +++ b/include/xen/interface/grant_table.h
> @@ -338,7 +338,7 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_dump_table);
>  #define GNTTABOP_transfer                4
>  struct gnttab_transfer {
>      /* IN parameters. */
> -    unsigned long mfn;
> +    xen_pfn_t mfn;
>      domid_t       domid;
>      grant_ref_t   ref;
>      /* OUT parameters. */
> @@ -375,7 +375,7 @@ struct gnttab_copy {
>  	struct {
>  		union {
>  			grant_ref_t ref;
> -			unsigned long   gmfn;
> +			xen_pfn_t   gmfn;
>  		} u;
>  		domid_t  domid;
>  		uint16_t offset;
> diff --git a/include/xen/interface/memory.h b/include/xen/interface/memory.h
> index eac3ce1..abbbff0 100644
> --- a/include/xen/interface/memory.h
> +++ b/include/xen/interface/memory.h
> @@ -31,7 +31,7 @@ struct xen_memory_reservation {
>       *   OUT: GMFN bases of extents that were allocated
>       *   (NB. This command also updates the mach_to_phys translation table)
>       */
> -    GUEST_HANDLE(ulong) extent_start;
> +    GUEST_HANDLE(xen_pfn_t) extent_start;
>  
>      /* Number of extents, and size/alignment of each (2^extent_order pages). */
>      unsigned long  nr_extents;
> @@ -130,7 +130,7 @@ struct xen_machphys_mfn_list {
>       * any large discontiguities in the machine address space, 2MB gaps in
>       * the machphys table will be represented by an MFN base of zero.
>       */
> -    GUEST_HANDLE(ulong) extent_start;
> +    GUEST_HANDLE(xen_pfn_t) extent_start;
>  
>      /*
>       * Number of extents written to the above array. This will be smaller
> @@ -172,7 +172,7 @@ struct xen_add_to_physmap {
>      unsigned long idx;
>  
>      /* GPFN where the source mapping page should appear. */
> -    unsigned long gpfn;
> +    xen_pfn_t gpfn;
>  };
>  DEFINE_GUEST_HANDLE_STRUCT(xen_add_to_physmap);
>  
> diff --git a/include/xen/interface/platform.h b/include/xen/interface/platform.h
> index 486653f..0bea470 100644
> --- a/include/xen/interface/platform.h
> +++ b/include/xen/interface/platform.h
> @@ -54,7 +54,7 @@ DEFINE_GUEST_HANDLE_STRUCT(xenpf_settime_t);
>  #define XENPF_add_memtype         31
>  struct xenpf_add_memtype {
>  	/* IN variables. */
> -	unsigned long mfn;
> +	xen_pfn_t mfn;
>  	uint64_t nr_mfns;
>  	uint32_t type;
>  	/* OUT variables. */
> @@ -84,7 +84,7 @@ struct xenpf_read_memtype {
>  	/* IN variables. */
>  	uint32_t reg;
>  	/* OUT variables. */
> -	unsigned long mfn;
> +	xen_pfn_t mfn;
>  	uint64_t nr_mfns;
>  	uint32_t type;
>  };
> diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h
> index 4f29f33..d59a991 100644
> --- a/include/xen/interface/xen.h
> +++ b/include/xen/interface/xen.h
> @@ -192,7 +192,7 @@ struct mmuext_op {
>  	unsigned int cmd;
>  	union {
>  		/* [UN]PIN_TABLE, NEW_BASEPTR, NEW_USER_BASEPTR */
> -		unsigned long mfn;
> +		xen_pfn_t mfn;
>  		/* INVLPG_LOCAL, INVLPG_ALL, SET_LDT */
>  		unsigned long linear_addr;
>  	} arg1;
> @@ -432,11 +432,11 @@ struct start_info {
>  	unsigned long nr_pages;     /* Total pages allocated to this domain.  */
>  	unsigned long shared_info;  /* MACHINE address of shared info struct. */
>  	uint32_t flags;             /* SIF_xxx flags.                         */
> -	unsigned long store_mfn;    /* MACHINE page number of shared page.    */
> +	xen_pfn_t store_mfn;        /* MACHINE page number of shared page.    */
>  	uint32_t store_evtchn;      /* Event channel for store communication. */
>  	union {
>  		struct {
> -			unsigned long mfn;  /* MACHINE page number of console page.   */
> +			xen_pfn_t mfn;      /* MACHINE page number of console page.   */
>  			uint32_t  evtchn;   /* Event channel for console page.        */
>  		} domU;
>  		struct {
> diff --git a/include/xen/privcmd.h b/include/xen/privcmd.h
> index 4d58881..45c1aa1 100644
> --- a/include/xen/privcmd.h
> +++ b/include/xen/privcmd.h
> @@ -37,8 +37,6 @@
>  #include <linux/compiler.h>
>  #include <xen/interface/xen.h>
>  
> -typedef unsigned long xen_pfn_t;
> -
>  struct privcmd_hypercall {
>  	__u64 op;
>  	__u64 arg[5];
> -- 
> 1.7.2.5

WARNING: multiple messages have this Message-ID (diff)
From: Konrad Rzeszutek Wilk <konrad.wilk-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
To: Stefano Stabellini
	<stefano.stabellini-mvvWK6WmYclDPfheJLI6IQ@public.gmane.org>
Cc: xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR@public.gmane.org,
	linaro-dev-cunTk1MwBs8s++Sfvej+rw@public.gmane.org,
	Ian.Campbell-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org,
	arnd-r2nGTMty4D4@public.gmane.org,
	catalin.marinas-5wv7dgnIgG8@public.gmane.org,
	tim-LM2mM/qkH7s@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH 08/24] xen/arm: Introduce xen_pfn_t for pfn and mfn types
Date: Wed, 1 Aug 2012 10:22:49 -0400	[thread overview]
Message-ID: <20120801142249.GF7227@phenom.dumpdata.com> (raw)
In-Reply-To: <1343316846-25860-8-git-send-email-stefano.stabellini-mvvWK6WmYclDPfheJLI6IQ@public.gmane.org>

On Thu, Jul 26, 2012 at 04:33:50PM +0100, Stefano Stabellini wrote:
> All the original Xen headers have xen_pfn_t as mfn and pfn type, however
> when they have been imported in Linux, xen_pfn_t has been replaced with
> unsigned long. That might work for x86 and ia64 but it does not for arm.

How come?
> Bring back xen_pfn_t and let each architecture define xen_pfn_t as they
> see fit.

I am OK with this as long as your include a comment in both of the
interface.h saying why this is needed. I am curious why 'unsinged long'
won't work? Is it b/c on ARM you always want a 64-bit type?

> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini-mvvWK6WmYclDPfheJLI6IQ@public.gmane.org>
> ---
>  arch/arm/include/asm/xen/interface.h  |    2 ++
>  arch/ia64/include/asm/xen/interface.h |    2 +-
>  arch/x86/include/asm/xen/interface.h  |    2 ++
>  include/xen/interface/grant_table.h   |    4 ++--
>  include/xen/interface/memory.h        |    6 +++---
>  include/xen/interface/platform.h      |    4 ++--
>  include/xen/interface/xen.h           |    6 +++---
>  include/xen/privcmd.h                 |    2 --
>  8 files changed, 15 insertions(+), 13 deletions(-)
> 
> diff --git a/arch/arm/include/asm/xen/interface.h b/arch/arm/include/asm/xen/interface.h
> index 6c3ab59..76b1ebe 100644
> --- a/arch/arm/include/asm/xen/interface.h
> +++ b/arch/arm/include/asm/xen/interface.h
> @@ -25,6 +25,7 @@
>  	} while (0)
>  
>  #ifndef __ASSEMBLY__
> +typedef uint64_t xen_pfn_t;
>  /* Guest handles for primitive C types. */
>  __DEFINE_GUEST_HANDLE(uchar, unsigned char);
>  __DEFINE_GUEST_HANDLE(uint,  unsigned int);
> @@ -35,6 +36,7 @@ DEFINE_GUEST_HANDLE(long);
>  DEFINE_GUEST_HANDLE(void);
>  DEFINE_GUEST_HANDLE(uint64_t);
>  DEFINE_GUEST_HANDLE(uint32_t);
> +DEFINE_GUEST_HANDLE(xen_pfn_t);
>  
>  /* Maximum number of virtual CPUs in multi-processor guests. */
>  #define MAX_VIRT_CPUS 1
> diff --git a/arch/ia64/include/asm/xen/interface.h b/arch/ia64/include/asm/xen/interface.h
> index 09d5f7f..9efa068 100644
> --- a/arch/ia64/include/asm/xen/interface.h
> +++ b/arch/ia64/include/asm/xen/interface.h
> @@ -67,6 +67,7 @@
>  #define set_xen_guest_handle(hnd, val)	do { (hnd).p = val; } while (0)
>  
>  #ifndef __ASSEMBLY__
> +typedef unsigned long xen_pfn_t;
>  /* Guest handles for primitive C types. */
>  __DEFINE_GUEST_HANDLE(uchar, unsigned char);
>  __DEFINE_GUEST_HANDLE(uint, unsigned int);
> @@ -79,7 +80,6 @@ DEFINE_GUEST_HANDLE(void);
>  DEFINE_GUEST_HANDLE(uint64_t);
>  DEFINE_GUEST_HANDLE(uint32_t);
>  
> -typedef unsigned long xen_pfn_t;
>  DEFINE_GUEST_HANDLE(xen_pfn_t);
>  #define PRI_xen_pfn	"lx"
>  #endif
> diff --git a/arch/x86/include/asm/xen/interface.h b/arch/x86/include/asm/xen/interface.h
> index cbf0c9d..24c1b07 100644
> --- a/arch/x86/include/asm/xen/interface.h
> +++ b/arch/x86/include/asm/xen/interface.h
> @@ -47,6 +47,7 @@
>  #endif
>  
>  #ifndef __ASSEMBLY__
> +typedef unsigned long xen_pfn_t;
>  /* Guest handles for primitive C types. */
>  __DEFINE_GUEST_HANDLE(uchar, unsigned char);
>  __DEFINE_GUEST_HANDLE(uint,  unsigned int);
> @@ -57,6 +58,7 @@ DEFINE_GUEST_HANDLE(long);
>  DEFINE_GUEST_HANDLE(void);
>  DEFINE_GUEST_HANDLE(uint64_t);
>  DEFINE_GUEST_HANDLE(uint32_t);
> +DEFINE_GUEST_HANDLE(xen_pfn_t);
>  #endif
>  
>  #ifndef HYPERVISOR_VIRT_START
> diff --git a/include/xen/interface/grant_table.h b/include/xen/interface/grant_table.h
> index a17d844..7da811b 100644
> --- a/include/xen/interface/grant_table.h
> +++ b/include/xen/interface/grant_table.h
> @@ -338,7 +338,7 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_dump_table);
>  #define GNTTABOP_transfer                4
>  struct gnttab_transfer {
>      /* IN parameters. */
> -    unsigned long mfn;
> +    xen_pfn_t mfn;
>      domid_t       domid;
>      grant_ref_t   ref;
>      /* OUT parameters. */
> @@ -375,7 +375,7 @@ struct gnttab_copy {
>  	struct {
>  		union {
>  			grant_ref_t ref;
> -			unsigned long   gmfn;
> +			xen_pfn_t   gmfn;
>  		} u;
>  		domid_t  domid;
>  		uint16_t offset;
> diff --git a/include/xen/interface/memory.h b/include/xen/interface/memory.h
> index eac3ce1..abbbff0 100644
> --- a/include/xen/interface/memory.h
> +++ b/include/xen/interface/memory.h
> @@ -31,7 +31,7 @@ struct xen_memory_reservation {
>       *   OUT: GMFN bases of extents that were allocated
>       *   (NB. This command also updates the mach_to_phys translation table)
>       */
> -    GUEST_HANDLE(ulong) extent_start;
> +    GUEST_HANDLE(xen_pfn_t) extent_start;
>  
>      /* Number of extents, and size/alignment of each (2^extent_order pages). */
>      unsigned long  nr_extents;
> @@ -130,7 +130,7 @@ struct xen_machphys_mfn_list {
>       * any large discontiguities in the machine address space, 2MB gaps in
>       * the machphys table will be represented by an MFN base of zero.
>       */
> -    GUEST_HANDLE(ulong) extent_start;
> +    GUEST_HANDLE(xen_pfn_t) extent_start;
>  
>      /*
>       * Number of extents written to the above array. This will be smaller
> @@ -172,7 +172,7 @@ struct xen_add_to_physmap {
>      unsigned long idx;
>  
>      /* GPFN where the source mapping page should appear. */
> -    unsigned long gpfn;
> +    xen_pfn_t gpfn;
>  };
>  DEFINE_GUEST_HANDLE_STRUCT(xen_add_to_physmap);
>  
> diff --git a/include/xen/interface/platform.h b/include/xen/interface/platform.h
> index 486653f..0bea470 100644
> --- a/include/xen/interface/platform.h
> +++ b/include/xen/interface/platform.h
> @@ -54,7 +54,7 @@ DEFINE_GUEST_HANDLE_STRUCT(xenpf_settime_t);
>  #define XENPF_add_memtype         31
>  struct xenpf_add_memtype {
>  	/* IN variables. */
> -	unsigned long mfn;
> +	xen_pfn_t mfn;
>  	uint64_t nr_mfns;
>  	uint32_t type;
>  	/* OUT variables. */
> @@ -84,7 +84,7 @@ struct xenpf_read_memtype {
>  	/* IN variables. */
>  	uint32_t reg;
>  	/* OUT variables. */
> -	unsigned long mfn;
> +	xen_pfn_t mfn;
>  	uint64_t nr_mfns;
>  	uint32_t type;
>  };
> diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h
> index 4f29f33..d59a991 100644
> --- a/include/xen/interface/xen.h
> +++ b/include/xen/interface/xen.h
> @@ -192,7 +192,7 @@ struct mmuext_op {
>  	unsigned int cmd;
>  	union {
>  		/* [UN]PIN_TABLE, NEW_BASEPTR, NEW_USER_BASEPTR */
> -		unsigned long mfn;
> +		xen_pfn_t mfn;
>  		/* INVLPG_LOCAL, INVLPG_ALL, SET_LDT */
>  		unsigned long linear_addr;
>  	} arg1;
> @@ -432,11 +432,11 @@ struct start_info {
>  	unsigned long nr_pages;     /* Total pages allocated to this domain.  */
>  	unsigned long shared_info;  /* MACHINE address of shared info struct. */
>  	uint32_t flags;             /* SIF_xxx flags.                         */
> -	unsigned long store_mfn;    /* MACHINE page number of shared page.    */
> +	xen_pfn_t store_mfn;        /* MACHINE page number of shared page.    */
>  	uint32_t store_evtchn;      /* Event channel for store communication. */
>  	union {
>  		struct {
> -			unsigned long mfn;  /* MACHINE page number of console page.   */
> +			xen_pfn_t mfn;      /* MACHINE page number of console page.   */
>  			uint32_t  evtchn;   /* Event channel for console page.        */
>  		} domU;
>  		struct {
> diff --git a/include/xen/privcmd.h b/include/xen/privcmd.h
> index 4d58881..45c1aa1 100644
> --- a/include/xen/privcmd.h
> +++ b/include/xen/privcmd.h
> @@ -37,8 +37,6 @@
>  #include <linux/compiler.h>
>  #include <xen/interface/xen.h>
>  
> -typedef unsigned long xen_pfn_t;
> -
>  struct privcmd_hypercall {
>  	__u64 op;
>  	__u64 arg[5];
> -- 
> 1.7.2.5

  reply	other threads:[~2012-08-01 14:22 UTC|newest]

Thread overview: 251+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-26 15:33 [PATCH 00/24] Introduce Xen support on ARM Stefano Stabellini
2012-07-26 15:33 ` Stefano Stabellini
2012-07-26 15:33 ` Stefano Stabellini
2012-07-26 15:33 ` [PATCH 01/24] arm: initial Xen support Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 16:30   ` [Xen-devel] " Konrad Rzeszutek Wilk
2012-07-26 16:30     ` Konrad Rzeszutek Wilk
2012-07-27 11:56     ` Stefano Stabellini
2012-07-27 11:56       ` Stefano Stabellini
2012-08-01 10:42       ` Konrad Rzeszutek Wilk
2012-08-01 10:42         ` Konrad Rzeszutek Wilk
2012-08-06 10:55         ` Stefano Stabellini
2012-08-06 10:55           ` Stefano Stabellini
2012-08-06 10:55           ` Stefano Stabellini
2012-08-01 18:27   ` Rob Herring
2012-08-01 18:27     ` Rob Herring
2012-08-02  7:35     ` Ian Campbell
2012-08-02  7:35       ` Ian Campbell
2012-08-02  7:35       ` Ian Campbell
2012-08-02 14:13       ` [Xen-devel] " Konrad Rzeszutek Wilk
2012-08-02 14:13         ` Konrad Rzeszutek Wilk
2012-08-02 14:13         ` Konrad Rzeszutek Wilk
2012-08-06 10:46         ` Stefano Stabellini
2012-08-06 10:46           ` Stefano Stabellini
2012-07-26 15:33 ` [PATCH 02/24] xen/arm: hypercalls Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 16:33   ` [Xen-devel] " Konrad Rzeszutek Wilk
2012-07-26 16:33     ` Konrad Rzeszutek Wilk
2012-07-27  9:17     ` Ian Campbell
2012-07-27  9:17       ` Ian Campbell
2012-07-27 13:02       ` Stefano Stabellini
2012-07-27 13:02         ` Stefano Stabellini
2012-07-27 13:02         ` Stefano Stabellini
2012-07-27 13:18         ` Ian Campbell
2012-07-27 13:18           ` Ian Campbell
2012-07-27 13:41           ` Stefano Stabellini
2012-07-27 13:41             ` Stefano Stabellini
2012-07-27 14:21         ` Russell King - ARM Linux
2012-07-27 14:21           ` Russell King - ARM Linux
2012-07-27 14:21           ` Russell King - ARM Linux
2012-07-27 14:36           ` Stefano Stabellini
2012-07-27 14:36             ` Stefano Stabellini
2012-07-27 14:39           ` Ian Campbell
2012-07-27 14:39             ` Ian Campbell
2012-07-27 14:59             ` Russell King - ARM Linux
2012-07-27 14:59               ` Russell King - ARM Linux
2012-07-26 16:56   ` David Vrabel
2012-07-26 16:56     ` David Vrabel
2012-07-26 17:19     ` Stefano Stabellini
2012-07-26 17:19       ` Stefano Stabellini
2012-07-26 17:19       ` Stefano Stabellini
2012-07-27  9:00     ` Ian Campbell
2012-07-27  9:00       ` Ian Campbell
2012-07-26 19:19   ` Christopher Covington
2012-07-26 19:19     ` Christopher Covington
2012-07-27  9:19     ` Ian Campbell
2012-07-27  9:19       ` Ian Campbell
2012-07-27 12:56       ` Christopher Covington
2012-07-27 12:56         ` Christopher Covington
2012-07-27 13:57         ` Stefano Stabellini
2012-07-27 13:57           ` Stefano Stabellini
2012-07-26 15:33 ` [PATCH 03/24] xen/arm: page.h definitions Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 16:36   ` [Xen-devel] " Konrad Rzeszutek Wilk
2012-07-26 16:36     ` Konrad Rzeszutek Wilk
2012-07-27 13:47     ` Stefano Stabellini
2012-07-27 13:47       ` Stefano Stabellini
2012-07-27 13:47       ` Stefano Stabellini
2012-07-26 15:33 ` [PATCH 04/24] xen/arm: sync_bitops Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 16:37   ` [Xen-devel] " Konrad Rzeszutek Wilk
2012-07-26 16:37     ` Konrad Rzeszutek Wilk
2012-07-27  9:28     ` Ian Campbell
2012-07-27  9:28       ` Ian Campbell
2012-08-01 14:35       ` Konrad Rzeszutek Wilk
2012-08-01 14:35         ` Konrad Rzeszutek Wilk
2012-08-01 14:35         ` Konrad Rzeszutek Wilk
2012-08-01 16:07         ` Stefano Stabellini
2012-08-01 16:07           ` Stefano Stabellini
2012-08-01 16:07           ` Stefano Stabellini
2012-07-26 15:33 ` [PATCH 05/24] xen/arm: empty implementation of grant_table arch specific functions Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-08-01 14:16   ` Konrad Rzeszutek Wilk
2012-08-01 14:16     ` Konrad Rzeszutek Wilk
2012-08-01 15:46     ` Stefano Stabellini
2012-08-01 15:46       ` Stefano Stabellini
2012-08-01 15:46       ` Stefano Stabellini
2012-07-26 15:33 ` [PATCH 06/24] xen: missing includes Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-27  6:57   ` [Xen-devel] " Jan Beulich
2012-07-27  6:57     ` Jan Beulich
2012-07-27  6:57     ` Jan Beulich
2012-07-27 16:47     ` Stefano Stabellini
2012-07-27 16:47       ` Stefano Stabellini
2012-07-26 15:33 ` [PATCH 07/24] xen/arm: Xen detection and shared_info page mapping Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-27  9:36   ` Ian Campbell
2012-07-27  9:36     ` Ian Campbell
2012-07-27 14:48     ` Stefano Stabellini
2012-07-27 14:48       ` Stefano Stabellini
2012-07-27 14:51       ` Ian Campbell
2012-07-27 14:51         ` Ian Campbell
2012-08-01 14:19   ` Konrad Rzeszutek Wilk
2012-08-01 14:19     ` Konrad Rzeszutek Wilk
2012-08-01 15:45     ` Stefano Stabellini
2012-08-01 15:45       ` Stefano Stabellini
2012-07-26 15:33 ` [PATCH 08/24] xen/arm: Introduce xen_pfn_t for pfn and mfn types Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-08-01 14:22   ` Konrad Rzeszutek Wilk [this message]
2012-08-01 14:22     ` Konrad Rzeszutek Wilk
2012-08-01 14:22     ` Konrad Rzeszutek Wilk
2012-08-01 15:50     ` Stefano Stabellini
2012-08-01 15:50       ` Stefano Stabellini
2012-07-26 15:33 ` [PATCH 09/24] xen/arm: compile and run xenbus Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-08-01 14:28   ` Konrad Rzeszutek Wilk
2012-08-01 14:28     ` Konrad Rzeszutek Wilk
2012-08-01 14:28     ` Konrad Rzeszutek Wilk
2012-08-06 11:17     ` Stefano Stabellini
2012-08-06 11:17       ` Stefano Stabellini
2012-07-26 15:33 ` [PATCH 10/24] xen: do not compile manage, balloon, pci, acpi and cpu_hotplug on ARM Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-27  7:01   ` [Xen-devel] " Jan Beulich
2012-07-27  7:01     ` Jan Beulich
2012-07-27  7:01     ` Jan Beulich
2012-07-27 16:51     ` Stefano Stabellini
2012-07-27 16:51       ` Stefano Stabellini
2012-07-26 15:33 ` [PATCH 11/24] xen/arm: introduce CONFIG_XEN " Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-08-01 14:34   ` [Xen-devel] " Konrad Rzeszutek Wilk
2012-08-01 14:34     ` Konrad Rzeszutek Wilk
2012-07-26 15:33 ` [PATCH 12/24] xen/arm: Introduce xen_guest_init Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-27  9:42   ` Ian Campbell
2012-07-27  9:42     ` Ian Campbell
2012-07-27 15:54     ` Stefano Stabellini
2012-07-27 15:54       ` Stefano Stabellini
2012-07-27 16:11       ` Ian Campbell
2012-07-27 16:11         ` Ian Campbell
2012-07-27 16:11         ` Ian Campbell
2012-08-01 14:38   ` Konrad Rzeszutek Wilk
2012-08-01 14:38     ` Konrad Rzeszutek Wilk
2012-07-26 15:33 ` [PATCH 13/24] xen/arm: get privilege status Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-27  9:44   ` Ian Campbell
2012-07-27  9:44     ` Ian Campbell
2012-07-27 14:25     ` Stefano Stabellini
2012-07-27 14:25       ` Stefano Stabellini
2012-07-27 14:33       ` Ian Campbell
2012-07-27 14:33         ` Ian Campbell
2012-08-01 14:39         ` Konrad Rzeszutek Wilk
2012-08-01 14:39           ` Konrad Rzeszutek Wilk
2012-08-01 14:39           ` Konrad Rzeszutek Wilk
2012-08-01 16:21           ` Stefano Stabellini
2012-08-01 16:21             ` Stefano Stabellini
2012-07-26 15:33 ` [PATCH 14/24] xen/arm: initialize grant_table on ARM Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-08-01 14:40   ` Konrad Rzeszutek Wilk
2012-08-01 14:40     ` Konrad Rzeszutek Wilk
2012-08-01 17:08     ` Stefano Stabellini
2012-08-01 17:08       ` Stefano Stabellini
2012-08-01 17:08       ` Stefano Stabellini
2012-07-26 15:33 ` [PATCH 15/24] xen/arm: receive Xen events " Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-08-01 14:44   ` Konrad Rzeszutek Wilk
2012-08-01 14:44     ` Konrad Rzeszutek Wilk
2012-08-01 14:44     ` Konrad Rzeszutek Wilk
2012-08-06 10:31     ` Stefano Stabellini
2012-08-06 10:31       ` Stefano Stabellini
2012-07-26 15:33 ` [PATCH 16/24] xen/arm: implement alloc/free_xenballooned_pages with alloc_pages/kfree Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 15:33 ` [PATCH 17/24] xen: allow privcmd for HVM guests Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-26 15:33   ` Stefano Stabellini
2012-07-27  7:04   ` [Xen-devel] " Jan Beulich
2012-07-27  7:04     ` Jan Beulich
2012-07-27  7:04     ` Jan Beulich
2012-07-27 14:10     ` Stefano Stabellini
2012-07-27 14:10       ` Stefano Stabellini
2012-07-27 14:10       ` Stefano Stabellini
2012-08-01 14:47       ` Konrad Rzeszutek Wilk
2012-08-01 14:47         ` Konrad Rzeszutek Wilk
2012-08-01 14:47         ` Konrad Rzeszutek Wilk
2012-07-26 15:34 ` [PATCH 18/24] xen/arm: compile blkfront and blkback Stefano Stabellini
2012-07-26 15:34   ` Stefano Stabellini
2012-07-26 15:34   ` Stefano Stabellini
2012-07-27  9:48   ` Ian Campbell
2012-07-27  9:48     ` Ian Campbell
2012-07-27 16:25     ` Stefano Stabellini
2012-07-27 16:25       ` Stefano Stabellini
2012-07-27 16:25       ` Stefano Stabellini
2012-08-01 14:48   ` Konrad Rzeszutek Wilk
2012-08-01 14:48     ` Konrad Rzeszutek Wilk
2012-08-01 14:48     ` Konrad Rzeszutek Wilk
2012-08-01 16:19     ` Stefano Stabellini
2012-08-01 16:19       ` Stefano Stabellini
2012-07-26 15:34 ` [PATCH 19/24] xen/arm: compile netback Stefano Stabellini
2012-07-26 15:34   ` Stefano Stabellini
2012-07-26 15:34   ` Stefano Stabellini
2012-07-26 15:34 ` [PATCH 20/24] xen: update xen_add_to_physmap interface Stefano Stabellini
2012-07-26 15:34   ` Stefano Stabellini
2012-07-26 15:34   ` Stefano Stabellini
2012-08-01 14:52   ` Konrad Rzeszutek Wilk
2012-08-01 14:52     ` Konrad Rzeszutek Wilk
2012-08-01 16:18     ` Stefano Stabellini
2012-08-01 16:18       ` Stefano Stabellini
2012-08-01 18:19     ` Mukesh Rathor
2012-08-01 18:19       ` Mukesh Rathor
2012-08-01 18:19       ` Mukesh Rathor
2012-07-26 15:34 ` [PATCH 21/24] arm/v2m: initialize arch_timers even if v2m_timer is not present Stefano Stabellini
2012-07-26 15:34   ` Stefano Stabellini
2012-07-26 15:34   ` Stefano Stabellini
2012-08-01 14:52   ` Konrad Rzeszutek Wilk
2012-08-01 14:52     ` Konrad Rzeszutek Wilk
2012-08-01 14:52     ` Konrad Rzeszutek Wilk
2012-08-01 16:06     ` Stefano Stabellini
2012-08-01 16:06       ` Stefano Stabellini
2012-08-01 16:06       ` Stefano Stabellini
2012-07-26 15:34 ` [PATCH 22/24] ARM: enable earlyprintk=xen Stefano Stabellini
2012-07-26 15:34   ` Stefano Stabellini
2012-07-26 15:34   ` Stefano Stabellini
2012-07-26 15:34 ` [PATCH 23/24] hvc_xen: allow dom0_write_console for HVM guests Stefano Stabellini
2012-07-26 15:34   ` Stefano Stabellini
2012-07-26 15:34   ` Stefano Stabellini
2012-08-01 14:54   ` Konrad Rzeszutek Wilk
2012-08-01 14:54     ` Konrad Rzeszutek Wilk
2012-08-01 16:04     ` Stefano Stabellini
2012-08-01 16:04       ` Stefano Stabellini
2012-08-01 16:04       ` Stefano Stabellini
2012-07-26 15:34 ` [PATCH 24/24] [HACK] xen/arm: implement xen_remap_domain_mfn_range Stefano Stabellini
2012-07-26 15:34   ` Stefano Stabellini
2012-07-26 15:34   ` Stefano Stabellini
2012-08-01 14:56   ` Konrad Rzeszutek Wilk
2012-08-01 14:56     ` Konrad Rzeszutek Wilk
2012-08-01 14:56     ` Konrad Rzeszutek Wilk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120801142249.GF7227@phenom.dumpdata.com \
    --to=konrad.wilk@oracle.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.