From d7ed684d7001bec95e881bc5622e156548dd8070 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 20 Sep 2017 07:18:53 +0200 Subject: 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. --- .../libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_async_normal.S | 4 ++++ .../lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_prologue.c | 6 ++---- 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'c/src/lib/libcpu/powerpc') 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 #include +#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]; -- cgit v1.2.3