diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-10-09 03:02:35 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-10-09 03:02:35 -0400 |
commit | 1236d6bb6e19fc72ffc6bbcdeb1bfefe450e54ee (patch) | |
tree | 47da3feee8e263e8c9352c85cf518e624be3c211 /arch/x86/include/asm/xen/hypercall.h | |
parent | 750b1a6894ecc9b178c6e3d0a1170122971b2036 (diff) | |
parent | 8a5776a5f49812d29fe4b2d0a2d71675c3facf3f (diff) |
Merge 4.14-rc4 into staging-next
We want the staging/iio fixes in here as well to handle merge issues.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/x86/include/asm/xen/hypercall.h')
-rw-r--r-- | arch/x86/include/asm/xen/hypercall.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/x86/include/asm/xen/hypercall.h b/arch/x86/include/asm/xen/hypercall.h index 9606688caa4b..7cb282e9e587 100644 --- a/arch/x86/include/asm/xen/hypercall.h +++ b/arch/x86/include/asm/xen/hypercall.h | |||
@@ -113,10 +113,9 @@ extern struct { char _entry[32]; } hypercall_page[]; | |||
113 | register unsigned long __arg2 asm(__HYPERCALL_ARG2REG) = __arg2; \ | 113 | register unsigned long __arg2 asm(__HYPERCALL_ARG2REG) = __arg2; \ |
114 | register unsigned long __arg3 asm(__HYPERCALL_ARG3REG) = __arg3; \ | 114 | register unsigned long __arg3 asm(__HYPERCALL_ARG3REG) = __arg3; \ |
115 | register unsigned long __arg4 asm(__HYPERCALL_ARG4REG) = __arg4; \ | 115 | register unsigned long __arg4 asm(__HYPERCALL_ARG4REG) = __arg4; \ |
116 | register unsigned long __arg5 asm(__HYPERCALL_ARG5REG) = __arg5; \ | 116 | register unsigned long __arg5 asm(__HYPERCALL_ARG5REG) = __arg5; |
117 | register void *__sp asm(_ASM_SP); | ||
118 | 117 | ||
119 | #define __HYPERCALL_0PARAM "=r" (__res), "+r" (__sp) | 118 | #define __HYPERCALL_0PARAM "=r" (__res), ASM_CALL_CONSTRAINT |
120 | #define __HYPERCALL_1PARAM __HYPERCALL_0PARAM, "+r" (__arg1) | 119 | #define __HYPERCALL_1PARAM __HYPERCALL_0PARAM, "+r" (__arg1) |
121 | #define __HYPERCALL_2PARAM __HYPERCALL_1PARAM, "+r" (__arg2) | 120 | #define __HYPERCALL_2PARAM __HYPERCALL_1PARAM, "+r" (__arg2) |
122 | #define __HYPERCALL_3PARAM __HYPERCALL_2PARAM, "+r" (__arg3) | 121 | #define __HYPERCALL_3PARAM __HYPERCALL_2PARAM, "+r" (__arg3) |
@@ -552,13 +551,13 @@ static inline void | |||
552 | MULTI_update_descriptor(struct multicall_entry *mcl, u64 maddr, | 551 | MULTI_update_descriptor(struct multicall_entry *mcl, u64 maddr, |
553 | struct desc_struct desc) | 552 | struct desc_struct desc) |
554 | { | 553 | { |
555 | u32 *p = (u32 *) &desc; | ||
556 | |||
557 | mcl->op = __HYPERVISOR_update_descriptor; | 554 | mcl->op = __HYPERVISOR_update_descriptor; |
558 | if (sizeof(maddr) == sizeof(long)) { | 555 | if (sizeof(maddr) == sizeof(long)) { |
559 | mcl->args[0] = maddr; | 556 | mcl->args[0] = maddr; |
560 | mcl->args[1] = *(unsigned long *)&desc; | 557 | mcl->args[1] = *(unsigned long *)&desc; |
561 | } else { | 558 | } else { |
559 | u32 *p = (u32 *)&desc; | ||
560 | |||
562 | mcl->args[0] = maddr; | 561 | mcl->args[0] = maddr; |
563 | mcl->args[1] = maddr >> 32; | 562 | mcl->args[1] = maddr >> 32; |
564 | mcl->args[2] = *p++; | 563 | mcl->args[2] = *p++; |