Changeset ba1d939 in rtems
- Timestamp:
- 10/07/14 22:20:43 (9 years ago)
- Branches:
- 4.11, 5, master
- Children:
- 04bafb5
- Parents:
- 8aec7f5
- git-author:
- Joel Sherrill <joel.sherrill@…> (10/07/14 22:20:43)
- git-committer:
- Joel Sherrill <joel.sherrill@…> (10/09/14 15:11:55)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/lib/libbsp/arm/shared/abort/abort.c
r8aec7f5 rba1d939 2 2 * ARM CPU Dependent Source 3 3 * 4 * If you want a small footprint RTEMS, pls use simple_abort.c 5 */ 6 7 /* 4 8 * COPYRIGHT (c) 2007 Ray Xu. 5 9 * mailto: Rayx at gmail dot com … … 10 14 * Copyright (c) 2002 Advent Networks, Inc 11 15 * Jay Monkman <jmonkman@adventnetworks.com> 12 *13 * If you want a small footprint RTEMS, pls use simple_abort.c14 16 * 15 17 * The license and distribution terms for this file may be … … 45 47 #define GET_OFFSET(insn) (insn & 0xfff) 46 48 47 uint32_t g_data_abort_cnt = 0; 49 /* 50 * Prototypes 51 */ 52 void _print_full_context(uint32_t); 53 void do_data_abort(uint32_t, uint32_t, Context_Control *); 54 55 uint32_t g_data_abort_cnt = 0; 48 56 /*this is a big overhead for MCU only got 16K RAM*/ 49 uint32_t 57 uint32_t g_data_abort_insn_list[1024]; 50 58 51 59 52 60 char *_print_full_context_mode2txt[0x20]={ 53 [0x0]="user", /* User */ 54 [0x1]="fiq", /* FIQ - Fast Interrupt Request */ 55 [0x2]="irq", /* IRQ - Interrupt Request */ 56 [0x3]="super", /* Supervisor */ 57 [0x7]="abort", /* Abort */ 58 [0xb]="undef", /* Undefined */ 59 [0xf]="system" /* System */ 60 }; 61 61 [0x0]="user", /* User */ 62 [0x1]="fiq", /* FIQ - Fast Interrupt Request */ 63 [0x2]="irq", /* IRQ - Interrupt Request */ 64 [0x3]="super", /* Supervisor */ 65 [0x7]="abort", /* Abort */ 66 [0xb]="undef", /* Undefined */ 67 [0xf]="system" /* System */ 68 }; 62 69 63 70 void _print_full_context(uint32_t spsr) … … 83 90 [cpsr] "=&r" (cpsr) 84 91 : [spsr] "r" (spsr) 85 92 : "cc"); 86 93 87 94 printk("Previous sp=0x%08x lr=0x%08x and actual cpsr=%08x\n", … … 103 110 */ 104 111 105 void do_data_abort(uint32_t insn, uint32_t spsr, 106 Context_Control *ctx) 112 void do_data_abort( 113 uint32_t insn, 114 uint32_t spsr, 115 Context_Control *ctx 116 ) 107 117 { 108 118 /* Clarify, which type is correct, CPU_Exception_frame or Context_Control */ … … 154 164 /* disable interrupts, wait forever */ 155 165 rtems_interrupt_disable(level); 166 (void) level; /* avoid set but unused warning */ 167 156 168 while(1) { 157 169 continue; 158 170 } 159 return;160 171 } 161 172
Note: See TracChangeset
for help on using the changeset viewer.