diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-09-12 15:15:32 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-09-12 15:15:32 +0000 |
commit | f3343c6e79cf46b37d46cbb332ba1cb494b68ca4 (patch) | |
tree | 3d9cef71e6ce6c73993e3d1c8b419d000789f9d6 /c/src/lib/libbsp/arm/shared/abort/abort.c | |
parent | 2007-09-11 Joel Sherrill <joel.sherrill@OARcorp.com> (diff) | |
download | rtems-f3343c6e79cf46b37d46cbb332ba1cb494b68ca4.tar.bz2 |
2007-09-12 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1257/bsps
* csb336/network/lan91c11x.c, csb337/startup/bspstart.c,
edb7312/irq/irq.c, gba/irq/irq.c, gba/irq/irq_init.c,
gp32/startup/bspstart.c, rtl22xx/startup/bspstart.c,
shared/abort/abort.c, shared/abort/simple_abort.c,
shared/irq/irq_init.c: Code outside of cpukit should use the public
API for rtems_interrupt_disable/rtems_interrupt_enable. By bypassing
the public API and directly accessing _CPU_ISR_Disable and
_CPU_ISR_Enable, they were bypassing the compiler memory barrier
directive which could lead to problems. This patch also changes the
type of the variable passed into these routines and addresses minor
style issues.
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/arm/shared/abort/abort.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/c/src/lib/libbsp/arm/shared/abort/abort.c b/c/src/lib/libbsp/arm/shared/abort/abort.c index a7dca28094..3d78a5cd94 100644 --- a/c/src/lib/libbsp/arm/shared/abort/abort.c +++ b/c/src/lib/libbsp/arm/shared/abort/abort.c @@ -104,11 +104,9 @@ 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; - uint8_t insn_type; - - uint32_t tmp; + uint8_t decode; + uint8_t insn_type; + rtems_interrupt_level level; g_data_abort_insn_list[g_data_abort_cnt & 0x3ff] = ctx->register_lr - 8; g_data_abort_cnt++; @@ -152,7 +150,7 @@ void do_data_abort(uint32_t insn, uint32_t spsr, _print_full_context(spsr); /* disable interrupts, wait forever */ - _CPU_ISR_Disable(tmp); + rtems_interrupt_disable(level); while(1) { continue; } |