2007-09-12 Joel Sherrill <joel.sherrill@OARcorp.com>

PR 1257/bsps
	* shared/irq/idt.c, shared/irq/irq.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.
This commit is contained in:
Joel Sherrill
2007-09-12 15:16:02 +00:00
parent bd51a636de
commit c83c3254d4
4 changed files with 57 additions and 44 deletions

View File

@@ -114,7 +114,7 @@ void rtems_irq_mngt_init()
int i;
interrupt_gate_descriptor* idt_entry_tbl;
unsigned int limit;
unsigned int level;
rtems_interrupt_level level;
i386_get_info_from_IDTR(&idt_entry_tbl, &limit);
@@ -126,7 +126,7 @@ void rtems_irq_mngt_init()
while(1);
}
_CPU_ISR_Disable(level);
rtems_interrupt_disable(level);
/*
* Init the complete IDT vector table with defaultRawIrq value