summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/shared
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2007-09-12 15:15:32 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2007-09-12 15:15:32 +0000
commitf3343c6e79cf46b37d46cbb332ba1cb494b68ca4 (patch)
tree3d9cef71e6ce6c73993e3d1c8b419d000789f9d6 /c/src/lib/libbsp/arm/shared
parent2007-09-11 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-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 'c/src/lib/libbsp/arm/shared')
-rw-r--r--c/src/lib/libbsp/arm/shared/abort/abort.c10
-rw-r--r--c/src/lib/libbsp/arm/shared/abort/simple_abort.c8
-rw-r--r--c/src/lib/libbsp/arm/shared/irq/irq_init.c2
3 files changed, 9 insertions, 11 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;
}
diff --git a/c/src/lib/libbsp/arm/shared/abort/simple_abort.c b/c/src/lib/libbsp/arm/shared/abort/simple_abort.c
index 99aefa8ee9..8fb6a3eec2 100644
--- a/c/src/lib/libbsp/arm/shared/abort/simple_abort.c
+++ b/c/src/lib/libbsp/arm/shared/abort/simple_abort.c
@@ -109,9 +109,9 @@ void do_data_abort(
{
/* 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;
decode = ((insn >> 20) & 0xff);
@@ -152,7 +152,7 @@ void do_data_abort(
_print_full_context(spsr);
/* disable interrupts, wait forever */
- _CPU_ISR_Disable(tmp);
+ rtems_interrupt_disable(level);
while(1) {
continue;
}
diff --git a/c/src/lib/libbsp/arm/shared/irq/irq_init.c b/c/src/lib/libbsp/arm/shared/irq/irq_init.c
index 1f84574474..f194ae9b4a 100644
--- a/c/src/lib/libbsp/arm/shared/irq/irq_init.c
+++ b/c/src/lib/libbsp/arm/shared/irq/irq_init.c
@@ -31,7 +31,7 @@ void rtems_irq_mngt_init()
{
rtems_interrupt_level level;
- _CPU_ISR_Disable(level);
+ rtems_interrupt_disable(level);
/* First, connect the ISR_Handler for IRQ and FIQ interrupts */
_CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, _ISR_Handler, NULL);