[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 2/7] arm: make processor-specific functions from traps.c globaly visible
From: Volodymyr Babchuk <vlad.babchuk@xxxxxxxxx> The following list of functions: - advance_pc() - check_conditional_instr() - inject_undef_exception() - inject_iabt_exception() - inject_dabt_exception() - inject_vabt_exception() are now globaly visible. This change is needed becase we plan to handle SMCs in different file and handler code needs to alter state of a guest. Signed-off-by: Volodymyr Babchuk <vlad.babchuk@xxxxxxxxx> --- xen/arch/arm/traps.c | 16 ++++++---------- xen/include/asm-arm/processor.h | 11 +++++++++++ 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c index ed78b36..0171c1c 100644 --- a/xen/arch/arm/traps.c +++ b/xen/arch/arm/traps.c @@ -616,8 +616,7 @@ static void inject_iabt64_exception(struct cpu_user_regs *regs, #endif -static void inject_undef_exception(struct cpu_user_regs *regs, - const union hsr hsr) +void inject_undef_exception(struct cpu_user_regs *regs, const union hsr hsr) { if ( is_32bit_domain(current->domain) ) inject_undef32_exception(regs); @@ -627,8 +626,7 @@ static void inject_undef_exception(struct cpu_user_regs *regs, #endif } -static void inject_iabt_exception(struct cpu_user_regs *regs, - register_t addr, +void inject_iabt_exception(struct cpu_user_regs *regs, register_t addr, int instr_len) { if ( is_32bit_domain(current->domain) ) @@ -639,8 +637,7 @@ static void inject_iabt_exception(struct cpu_user_regs *regs, #endif } -static void inject_dabt_exception(struct cpu_user_regs *regs, - register_t addr, +void inject_dabt_exception(struct cpu_user_regs *regs, register_t addr, int instr_len) { if ( is_32bit_domain(current->domain) ) @@ -652,7 +649,7 @@ static void inject_dabt_exception(struct cpu_user_regs *regs, } /* Inject a virtual Abort/SError into the guest. */ -static void inject_vabt_exception(struct cpu_user_regs *regs) +void inject_vabt_exception(struct cpu_user_regs *regs) { const union hsr hsr = { .bits = regs->hsr }; @@ -1706,8 +1703,7 @@ static const unsigned short cc_map[16] = { 0 /* NV */ }; -static int check_conditional_instr(struct cpu_user_regs *regs, - const union hsr hsr) +int check_conditional_instr(struct cpu_user_regs *regs, const union hsr hsr) { unsigned long cpsr, cpsr_cond; int cond; @@ -1752,7 +1748,7 @@ static int check_conditional_instr(struct cpu_user_regs *regs, return 1; } -static void advance_pc(struct cpu_user_regs *regs, const union hsr hsr) +void advance_pc(struct cpu_user_regs *regs, const union hsr hsr) { unsigned long itbits, cond, cpsr = regs->cpsr; diff --git a/xen/include/asm-arm/processor.h b/xen/include/asm-arm/processor.h index 855ded1..6347048 100644 --- a/xen/include/asm-arm/processor.h +++ b/xen/include/asm-arm/processor.h @@ -686,6 +686,17 @@ void init_traps(void); void panic_PAR(uint64_t par); +void advance_pc(struct cpu_user_regs *regs, const union hsr hsr); + +int check_conditional_instr(struct cpu_user_regs *regs, const union hsr hsr); + +void inject_undef_exception(struct cpu_user_regs *regs, const union hsr hsr); +void inject_iabt_exception(struct cpu_user_regs *regs, register_t addr, + int instr_len); +void inject_dabt_exception(struct cpu_user_regs *regs, register_t addr, + int instr_len); +void inject_vabt_exception(struct cpu_user_regs *regs); + void show_execution_state(struct cpu_user_regs *regs); void show_registers(struct cpu_user_regs *regs); //#define dump_execution_state() run_in_exception_handler(show_execution_state) -- 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 |