summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/shared
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2012-11-19 08:37:04 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2012-12-03 13:17:08 +0100
commitf665f13ddd79ed78ca65c27a21fd87de6f7d1474 (patch)
tree7d6af8a9a618da5b7f7c71daa4329e9fb00cf5ab /c/src/lib/libbsp/powerpc/shared
parentbsps/powerpc: Add PPC_EXC_CONFIG_USE_FIXED_HANDLER (diff)
downloadrtems-f665f13ddd79ed78ca65c27a21fd87de6f7d1474.tar.bz2
bsps/powerpc: Add PPC_EXC_CONFIG_BOOKE_ONLY
In combination with the PPC_EXC_CONFIG_USE_FIXED_HANDLER option this removes all dependencies on valid read-write data. The exception handling must be statically configured and all components reside in read-only sections.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/shared')
-rw-r--r--c/src/lib/libbsp/powerpc/shared/src/ppc-exc-handler-table.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/shared/src/ppc-exc-handler-table.c b/c/src/lib/libbsp/powerpc/shared/src/ppc-exc-handler-table.c
index f9fe0e2470..c57f094178 100644
--- a/c/src/lib/libbsp/powerpc/shared/src/ppc-exc-handler-table.c
+++ b/c/src/lib/libbsp/powerpc/shared/src/ppc-exc-handler-table.c
@@ -16,12 +16,14 @@
#ifdef PPC_EXC_CONFIG_USE_FIXED_HANDLER
+#ifndef PPC_EXC_CONFIG_BOOKE_ONLY
static int ppc_exc_interrupt_dispatch(BSP_Exception_frame *f, unsigned vector)
{
bsp_interrupt_dispatch();
return 0;
}
+#endif /* PPC_EXC_CONFIG_BOOKE_ONLY */
const ppc_exc_handler_t ppc_exc_handler_table [LAST_VALID_EXC + 1] = {
ppc_exc_handler_default,
@@ -29,7 +31,11 @@ const ppc_exc_handler_t ppc_exc_handler_table [LAST_VALID_EXC + 1] = {
ppc_exc_handler_default,
ppc_exc_handler_default,
ppc_exc_handler_default,
+#ifndef PPC_EXC_CONFIG_BOOKE_ONLY
ppc_exc_interrupt_dispatch,
+#else /* PPC_EXC_CONFIG_BOOKE_ONLY */
+ ppc_exc_handler_default,
+#endif /* PPC_EXC_CONFIG_BOOKE_ONLY */
ppc_exc_handler_default,
ppc_exc_handler_default,
ppc_exc_handler_default,