[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v4 11/19] xen/arm: Move macro VABORT_GEN_BY_GUEST to common header
We want to move part of SErrors checking code from hyp_error assembly code to a function. This new function will use this macro to distinguish the guest SErrors from hypervisor SErrors. So we have to move this macro to common header. The VABORT_GEN_BY_GUEST macro uses the symbols abort_guest_exit_start and abort_guest_exit_end. After we move this macro to a common header, we need to make sure that the two symbols are visible to other source files. Currently, they are declared .global in arm32/entry.S, but not arm64/entry.S. Fix that. Signed-off-by: Wei Chen <Wei.Chen@xxxxxxx> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> --- xen/arch/arm/arm64/entry.S | 2 ++ xen/include/asm-arm/arm32/processor.h | 10 ---------- xen/include/asm-arm/processor.h | 10 ++++++++++ 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/xen/arch/arm/arm64/entry.S b/xen/arch/arm/arm64/entry.S index 3d2fdfb..d2ebf5b 100644 --- a/xen/arch/arm/arm64/entry.S +++ b/xen/arch/arm/arm64/entry.S @@ -380,10 +380,12 @@ check_pending_vserror: * exception handler, and the elr_el2 will be set to * abort_guest_exit_start or abort_guest_exit_end. */ + .global abort_guest_exit_start abort_guest_exit_start: isb + .global abort_guest_exit_end abort_guest_exit_end: /* Mask PSTATE asynchronous abort bit, close the checking window. */ msr daifset, #4 diff --git a/xen/include/asm-arm/arm32/processor.h b/xen/include/asm-arm/arm32/processor.h index f6d5df3..68cc821 100644 --- a/xen/include/asm-arm/arm32/processor.h +++ b/xen/include/asm-arm/arm32/processor.h @@ -56,16 +56,6 @@ struct cpu_user_regs uint32_t pad1; /* Doubleword-align the user half of the frame */ }; -/* Functions for pending virtual abort checking window. */ -void abort_guest_exit_start(void); -void abort_guest_exit_end(void); - -#define VABORT_GEN_BY_GUEST(r) \ -( \ - ( (unsigned long)abort_guest_exit_start == (r)->pc ) || \ - ( (unsigned long)abort_guest_exit_end == (r)->pc ) \ -) - #endif /* Layout as used in assembly, with src/dest registers mixed in */ diff --git a/xen/include/asm-arm/processor.h b/xen/include/asm-arm/processor.h index d7b0711..163c39c 100644 --- a/xen/include/asm-arm/processor.h +++ b/xen/include/asm-arm/processor.h @@ -711,6 +711,16 @@ void do_trap_guest_error(struct cpu_user_regs *regs); register_t get_default_hcr_flags(void); +/* Functions for pending virtual abort checking window. */ +void abort_guest_exit_start(void); +void abort_guest_exit_end(void); + +#define VABORT_GEN_BY_GUEST(r) \ +( \ + ( (unsigned long)abort_guest_exit_start == (r)->pc ) || \ + ( (unsigned long)abort_guest_exit_end == (r)->pc ) \ +) + #endif /* __ASSEMBLY__ */ #endif /* __ASM_ARM_PROCESSOR_H */ /* -- 2.7.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |