summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/exc-vector-base.S
diff options
context:
space:
mode:
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.S18
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