summaryrefslogtreecommitdiffstats
path: root/arch/arm/xen/hypercall.S
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2012-11-05 09:50:33 -0800
committerOlof Johansson <olof@lixom.net>2012-11-05 09:50:33 -0800
commitc2d8c259bfce056437e8dbc4b048944050f9b567 (patch)
tree726e49653f7014bea034c59624ea23c21d6df13f /arch/arm/xen/hypercall.S
parente4de6c961cc8b688443c7989ae3e38d0518334a5 (diff)
parente5c5f2adeb370559f4b221d57214db85858b786a (diff)
downloadtalos-obmc-linux-c2d8c259bfce056437e8dbc4b048944050f9b567.tar.gz
talos-obmc-linux-c2d8c259bfce056437e8dbc4b048944050f9b567.zip
Merge branch 'devel/debug_ll_init' into next/multiplatform
* devel/debug_ll_init: ARM: implement debug_ll_io_init() + sync to Linux 3.7-rc4
Diffstat (limited to 'arch/arm/xen/hypercall.S')
-rw-r--r--arch/arm/xen/hypercall.S14
1 files changed, 5 insertions, 9 deletions
diff --git a/arch/arm/xen/hypercall.S b/arch/arm/xen/hypercall.S
index 074f5ed101b9..71f723984cbd 100644
--- a/arch/arm/xen/hypercall.S
+++ b/arch/arm/xen/hypercall.S
@@ -48,20 +48,16 @@
#include <linux/linkage.h>
#include <asm/assembler.h>
+#include <asm/opcodes-virt.h>
#include <xen/interface/xen.h>
-/* HVC 0xEA1 */
-#ifdef CONFIG_THUMB2_KERNEL
-#define xen_hvc .word 0xf7e08ea1
-#else
-#define xen_hvc .word 0xe140ea71
-#endif
+#define XEN_IMM 0xEA1
#define HYPERCALL_SIMPLE(hypercall) \
ENTRY(HYPERVISOR_##hypercall) \
mov r12, #__HYPERVISOR_##hypercall; \
- xen_hvc; \
+ __HVC(XEN_IMM); \
mov pc, lr; \
ENDPROC(HYPERVISOR_##hypercall)
@@ -76,7 +72,7 @@ ENTRY(HYPERVISOR_##hypercall) \
stmdb sp!, {r4} \
ldr r4, [sp, #4] \
mov r12, #__HYPERVISOR_##hypercall; \
- xen_hvc \
+ __HVC(XEN_IMM); \
ldm sp!, {r4} \
mov pc, lr \
ENDPROC(HYPERVISOR_##hypercall)
@@ -100,7 +96,7 @@ ENTRY(privcmd_call)
mov r2, r3
ldr r3, [sp, #8]
ldr r4, [sp, #4]
- xen_hvc
+ __HVC(XEN_IMM)
ldm sp!, {r4}
mov pc, lr
ENDPROC(privcmd_call);
OpenPOWER on IntegriCloud