提交 c8d258a7 编写于 作者: S Stefano Stabellini 提交者: Konrad Rzeszutek Wilk

xen/arm: use the __HVC macro

Use the new __HVC macro in hypercall.S.
Signed-off-by: NStefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
上级 1bcaba51
...@@ -48,20 +48,16 @@ ...@@ -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) \ ...@@ -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) ...@@ -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);
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册