xen/arm: use the __HVC macro

Use the new __HVC macro in hypercall.S.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:
Stefano Stabellini 2012-10-24 16:26:08 +01:00 committed by Konrad Rzeszutek Wilk
parent 1bcaba51eb
commit c8d258a7b2
1 changed files with 5 additions and 9 deletions

View File

@ -48,20 +48,16 @@
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/assembler.h> #include <asm/assembler.h>
#include <asm/opcodes-virt.h>
#include <xen/interface/xen.h> #include <xen/interface/xen.h>
/* HVC 0xEA1 */ #define XEN_IMM 0xEA1
#ifdef CONFIG_THUMB2_KERNEL
#define xen_hvc .word 0xf7e08ea1
#else
#define xen_hvc .word 0xe140ea71
#endif
#define HYPERCALL_SIMPLE(hypercall) \ #define HYPERCALL_SIMPLE(hypercall) \
ENTRY(HYPERVISOR_##hypercall) \ ENTRY(HYPERVISOR_##hypercall) \
mov r12, #__HYPERVISOR_##hypercall; \ mov r12, #__HYPERVISOR_##hypercall; \
xen_hvc; \ __HVC(XEN_IMM); \
mov pc, lr; \ mov pc, lr; \
ENDPROC(HYPERVISOR_##hypercall) ENDPROC(HYPERVISOR_##hypercall)
@ -76,7 +72,7 @@ ENTRY(HYPERVISOR_##hypercall) \
stmdb sp!, {r4} \ stmdb sp!, {r4} \
ldr r4, [sp, #4] \ ldr r4, [sp, #4] \
mov r12, #__HYPERVISOR_##hypercall; \ mov r12, #__HYPERVISOR_##hypercall; \
xen_hvc \ __HVC(XEN_IMM); \
ldm sp!, {r4} \ ldm sp!, {r4} \
mov pc, lr \ mov pc, lr \
ENDPROC(HYPERVISOR_##hypercall) ENDPROC(HYPERVISOR_##hypercall)
@ -100,7 +96,7 @@ ENTRY(privcmd_call)
mov r2, r3 mov r2, r3
ldr r3, [sp, #8] ldr r3, [sp, #8]
ldr r4, [sp, #4] ldr r4, [sp, #4]
xen_hvc __HVC(XEN_IMM)
ldm sp!, {r4} ldm sp!, {r4}
mov pc, lr mov pc, lr
ENDPROC(privcmd_call); ENDPROC(privcmd_call);