diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-09-20 07:18:53 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-09-20 07:18:53 +0200 |
commit | d7ed684d7001bec95e881bc5622e156548dd8070 (patch) | |
tree | 3a4c5848aa6d8494e83141fd723a68f859db064b /c/src | |
parent | bsp/qoriq: Update README (diff) | |
download | rtems-d7ed684d7001bec95e881bc5622e156548dd8070.tar.bz2 |
bsps/powerpc: Fix PPC_EXC_CONFIG_USE_FIXED_HANDLER
Fix link-time error on BSPs not using PPC_EXC_CONFIG_USE_FIXED_HANDLER.
Update #3085.
Diffstat (limited to '')
3 files changed, 7 insertions, 5 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 e9f42bfe2c..dbcfc0d29c 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 @@ -19,7 +19,7 @@ #ifndef PPC_EXC_CONFIG_BOOKE_ONLY static int ppc_exc_interrupt_dispatch(BSP_Exception_frame *f, unsigned vector) { - bsp_interrupt_dispatch(); + bsp_interrupt_dispatch(vector); return 0; } diff --git a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_async_normal.S b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_async_normal.S index 69ccb25de0..32b867b735 100644 --- a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_async_normal.S +++ b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_async_normal.S @@ -16,6 +16,8 @@ #include <rtems/score/percpu.h> #include <bsp/vectors.h> +#ifdef PPC_EXC_CONFIG_USE_FIXED_HANDLER + #define SCRATCH_0_REGISTER r0 #define SCRATCH_1_REGISTER r3 #define SCRATCH_2_REGISTER r4 @@ -458,3 +460,5 @@ ppc_exc_interrupt: /* Symbol provided for debugging and tracing */ ppc_exc_interrupt_end: + +#endif /* PPC_EXC_CONFIG_USE_FIXED_HANDLER */ diff --git a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_prologue.c b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_prologue.c index 5f5cf9a3e5..09307cd944 100644 --- a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_prologue.c +++ b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_prologue.c @@ -132,17 +132,15 @@ rtems_status_code ppc_exc_make_prologue( ) { prologue_template = ppc_exc_min_prolog_auto; prologue_template_size = (size_t) ppc_exc_min_prolog_size; +#ifdef PPC_EXC_CONFIG_USE_FIXED_HANDLER } else if ( category == PPC_EXC_CLASSIC_ASYNC && ppc_cpu_is_bookE() == PPC_BOOKE_E500 && (ppc_interrupt_get_disable_mask() & MSR_CE) == 0 ) { prologue_template = ppc_exc_min_prolog_async_tmpl_normal; -#ifndef PPC_EXC_CONFIG_USE_FIXED_HANDLER - prologue_template_size = (size_t) ppc_exc_min_prolog_size; + prologue_template_size = 16; fixup_vector = true; -#else /* PPC_EXC_CONFIG_USE_FIXED_HANDLER */ - prologue_template_size = 8; #endif /* PPC_EXC_CONFIG_USE_FIXED_HANDLER */ } else { prologue_template = ppc_exc_prologue_templates [category]; |