[PATCH 18/52] arm/shared/abort/abort.c: Fix warnings and clean up
Gedare Bloom
gedare at rtems.org
Wed Oct 8 20:14:06 UTC 2014
On Wed, Oct 8, 2014 at 3:16 PM, Joel Sherrill <joel.sherrill at oarcorp.com> wrote:
> ---
> c/src/lib/libbsp/arm/shared/abort/abort.c | 44 +++++++++++++++++++------------
> 1 file changed, 27 insertions(+), 17 deletions(-)
>
> diff --git a/c/src/lib/libbsp/arm/shared/abort/abort.c b/c/src/lib/libbsp/arm/shared/abort/abort.c
> index a686a62..05432f8 100644
> --- a/c/src/lib/libbsp/arm/shared/abort/abort.c
> +++ b/c/src/lib/libbsp/arm/shared/abort/abort.c
> @@ -1,6 +1,10 @@
> /*
> * ARM CPU Dependent Source
> *
> + * If you want a small footprint RTEMS, pls use simple_abort.c
> + */
> +
> +/*
> * COPYRIGHT (c) 2007 Ray Xu.
> * mailto: Rayx at gmail dot com
> *
> @@ -10,8 +14,6 @@
> * Copyright (c) 2002 Advent Networks, Inc
> * Jay Monkman <jmonkman at adventnetworks.com>
> *
> - * If you want a small footprint RTEMS, pls use simple_abort.c
> - *
> * The license and distribution terms for this file may be
> * found in the file LICENSE in this distribution or at
> * http://www.rtems.org/license/LICENSE.
> @@ -44,21 +46,26 @@
> #define SET_REG(r, ctx, v) (((uint32_t *)ctx)[r] = v)
> #define GET_OFFSET(insn) (insn & 0xfff)
>
> -uint32_t g_data_abort_cnt = 0;
> +/*
> + * Prototypes
> + */
> +void _print_full_context(uint32_t);
> +void do_data_abort(uint32_t, uint32_t, Context_Control *);
> +
> +uint32_t g_data_abort_cnt = 0;
> /*this is a big overhead for MCU only got 16K RAM*/
> -uint32_t g_data_abort_insn_list[1024];
> +uint32_t g_data_abort_insn_list[1024];
>
>
> char *_print_full_context_mode2txt[0x20]={
> - [0x0]="user", /* User */
> - [0x1]="fiq", /* FIQ - Fast Interrupt Request */
> - [0x2]="irq", /* IRQ - Interrupt Request */
> - [0x3]="super", /* Supervisor */
> - [0x7]="abort", /* Abort */
> - [0xb]="undef", /* Undefined */
> - [0xf]="system" /* System */
> - };
> -
> + [0x0]="user", /* User */
> + [0x1]="fiq", /* FIQ - Fast Interrupt Request */
> + [0x2]="irq", /* IRQ - Interrupt Request */
> + [0x3]="super", /* Supervisor */
> + [0x7]="abort", /* Abort */
> + [0xb]="undef", /* Undefined */
> + [0xf]="system" /* System */
> +};
>
> void _print_full_context(uint32_t spsr)
> {
> @@ -82,7 +89,7 @@ void _print_full_context(uint32_t spsr)
> : [arm_switch_reg] "=&r" (arm_switch_reg), [prev_sp] "=&r" (prev_sp), [prev_lr] "=&r" (prev_lr),
> [cpsr] "=&r" (cpsr)
> : [spsr] "r" (spsr)
> - : "cc");
> + : "cc");
>
> printk("Previous sp=0x%08x lr=0x%08x and actual cpsr=%08x\n",
> prev_sp, prev_lr, cpsr);
> @@ -102,8 +109,11 @@ void _print_full_context(uint32_t spsr)
> * All unhandled instructions cause the system to hang.
> */
>
> -void do_data_abort(uint32_t insn, uint32_t spsr,
> - Context_Control *ctx)
> +void do_data_abort(
> + uint32_t insn,
> + uint32_t spsr,
> + Context_Control *ctx
> +)
> {
> /* Clarify, which type is correct, CPU_Exception_frame or Context_Control */
> uint8_t decode;
> @@ -156,6 +166,6 @@ void do_data_abort(uint32_t insn, uint32_t spsr,
> while(1) {
> continue;
> }
> - return;
> + (void) level; /* avoid set but unused warning */
I'd prefer to see this closer to where level was set.
-Gedare
> }
>
> --
> 1.9.3
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
More information about the devel
mailing list