[PATCH 18/52] arm/shared/abort/abort.c: Fix warnings and clean up

Gedare Bloom gedare at rtems.org
Wed Oct 8 20:27:04 UTC 2014


On Wed, Oct 8, 2014 at 4:22 PM, Joel Sherrill <joel.sherrill at oarcorp.com> wrote:
>
> On 10/8/2014 3:14 PM, Gedare Bloom wrote:
>> 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.
> Is immediately after the rtems_interrupt_disable() ok?

Sure.

>> -Gedare
>>>  }
>>>
>>> --
>>> 1.9.3
>>>
>>> _______________________________________________
>>> devel mailing list
>>> devel at rtems.org
>>> http://lists.rtems.org/mailman/listinfo/devel
>
> --
> Joel Sherrill, Ph.D.             Director of Research & Development
> joel.sherrill at OARcorp.com        On-Line Applications Research
> Ask me about RTEMS: a free RTOS  Huntsville AL 35805
> Support Available                (256) 722-9985
>


More information about the devel mailing list