diff options
| author | Ian Campbell <[email protected]> | 2014-04-17 12:57:37 +0000 |
|---|---|---|
| committer | David Vrabel <[email protected]> | 2014-04-24 12:09:46 +0000 |
| commit | 5e40704ed2c69425bcb076fb1890417ef137e6c8 (patch) | |
| tree | cd46787cce44df343041339655636d1945e4ca0a /arch/x86/include | |
| parent | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dto... (diff) | |
| download | kernel-5e40704ed2c69425bcb076fb1890417ef137e6c8.tar.gz kernel-5e40704ed2c69425bcb076fb1890417ef137e6c8.zip | |
arm: xen: implement multicall hypercall support.
As part of this make the usual change to xen_ulong_t in place of unsigned long.
This change has no impact on x86.
The Linux definition of struct multicall_entry.result differs from the Xen
definition, I think for good reasons, and used a long rather than an unsigned
long. Therefore introduce a xen_long_t, which is a long on x86 architectures
and a signed 64-bit integer on ARM.
Use uint32_t nr_calls on x86 for consistency with the ARM definition.
Build tested on amd64 and i386 builds. Runtime tested on ARM.
Signed-off-by: Ian Campbell <[email protected]>
Cc: Stefano Stabellini <[email protected]>
Cc: Konrad Rzeszutek Wilk <[email protected]>
Cc: Boris Ostrovsky <[email protected]>
Signed-off-by: David Vrabel <[email protected]>
Diffstat (limited to 'arch/x86/include')
| -rw-r--r-- | arch/x86/include/asm/xen/hypercall.h | 2 | ||||
| -rw-r--r-- | arch/x86/include/asm/xen/interface.h | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/include/asm/xen/hypercall.h b/arch/x86/include/asm/xen/hypercall.h index e709884d0ef9..ca08a27b90b3 100644 --- a/arch/x86/include/asm/xen/hypercall.h +++ b/arch/x86/include/asm/xen/hypercall.h @@ -343,7 +343,7 @@ HYPERVISOR_memory_op(unsigned int cmd, void *arg) } static inline int -HYPERVISOR_multicall(void *call_list, int nr_calls) +HYPERVISOR_multicall(void *call_list, uint32_t nr_calls) { return _hypercall2(int, multicall, call_list, nr_calls); } diff --git a/arch/x86/include/asm/xen/interface.h b/arch/x86/include/asm/xen/interface.h index fd9cb7695b5f..3400dbaec3c3 100644 --- a/arch/x86/include/asm/xen/interface.h +++ b/arch/x86/include/asm/xen/interface.h @@ -54,6 +54,9 @@ typedef unsigned long xen_pfn_t; #define PRI_xen_pfn "lx" typedef unsigned long xen_ulong_t; #define PRI_xen_ulong "lx" +typedef long xen_long_t; +#define PRI_xen_long "lx" + /* Guest handles for primitive C types. */ __DEFINE_GUEST_HANDLE(uchar, unsigned char); __DEFINE_GUEST_HANDLE(uint, unsigned int); |
