diff options
Diffstat (limited to 'c/src/lib/libcpu/powerpc')
-rw-r--r-- | c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_async_normal.S | 4 | ||||
-rw-r--r-- | c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_prologue.c | 6 |
2 files changed, 6 insertions, 4 deletions
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]; |