diff options
Diffstat (limited to 'c/src/lib/libbsp/powerpc/mpc55xxevb/startup/exc-vector-base.S')
-rw-r--r-- | c/src/lib/libbsp/powerpc/mpc55xxevb/startup/exc-vector-base.S | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/exc-vector-base.S b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/exc-vector-base.S index ed8dcf3ba3..71c7d48da8 100644 --- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/exc-vector-base.S +++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/exc-vector-base.S @@ -59,9 +59,15 @@ mpc55xx_exc_vector_base: li r4, 4 b ppc_exc_wrap_nopush_std stwu r1, -PPC_EXC_MINIMAL_FRAME_SIZE(r1) +#ifndef PPC_EXC_CONFIG_USE_FIXED_HANDLER stw r4, PPC_EXC_VECTOR_PROLOGUE_OFFSET(r1) li r4, -32763 +#endif b ppc_exc_wrap_async_normal +#ifdef PPC_EXC_CONFIG_USE_FIXED_HANDLER + nop + nop +#endif stwu r1, -EXC_GENERIC_SIZE(r1) stw r4, GPR4_OFFSET(r1) li r4, 6 @@ -83,13 +89,25 @@ mpc55xx_exc_vector_base: li r4, 24 b ppc_exc_wrap_nopush_std stwu r1, -PPC_EXC_MINIMAL_FRAME_SIZE(r1) +#ifndef PPC_EXC_CONFIG_USE_FIXED_HANDLER stw r4, PPC_EXC_VECTOR_PROLOGUE_OFFSET(r1) li r4, -32752 +#endif b ppc_exc_wrap_async_normal +#ifdef PPC_EXC_CONFIG_USE_FIXED_HANDLER + nop + nop +#endif stwu r1, -PPC_EXC_MINIMAL_FRAME_SIZE(r1) +#ifndef PPC_EXC_CONFIG_USE_FIXED_HANDLER stw r4, PPC_EXC_VECTOR_PROLOGUE_OFFSET(r1) li r4, -32749 +#endif b ppc_exc_wrap_async_normal +#ifdef PPC_EXC_CONFIG_USE_FIXED_HANDLER + nop + nop +#endif stw r1, ppc_exc_lock_crit@sdarel(r13) stw r4, ppc_exc_vector_register_crit@sdarel(r13) li r4, -32748 |