mirror of https://gitee.com/openkylin/linux.git
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:
parent
1bcaba51eb
commit
c8d258a7b2
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue