2011-07-14 Jennifer Averett <Jennifer.Averett@OARcorp.com>

* shared/irq/irq.c, shared/irq/irq.h, shared/irq/irq_init.c: Add
	initial support for APIC.
This commit is contained in:
Jennifer Averett
2011-07-14 17:30:28 +00:00
parent 1d007c60ee
commit ad2cefe0c0
4 changed files with 16 additions and 7 deletions

View File

@@ -1,3 +1,8 @@
2011-07-14 Jennifer Averett <Jennifer.Averett@OARcorp.com>
* shared/irq/irq.c, shared/irq/irq.h, shared/irq/irq_init.c: Add
initial support for APIC.
2011-07-14 Jennifer Averett <Jennifer.Averett@OARcorp.com>
* shared/irq/apic.h, shared/smp/README, shared/smp/smp-imps.c,

View File

@@ -73,7 +73,7 @@ int BSP_irq_disable_at_i8259s (const rtems_irq_number irqLine)
rtems_interrupt_level level;
if ( ((int)irqLine < BSP_LOWEST_OFFSET) ||
((int)irqLine > BSP_MAX_OFFSET )
((int)irqLine > BSP_MAX_ON_i8259S )
)
return 1;
@@ -108,7 +108,7 @@ int BSP_irq_enable_at_i8259s (const rtems_irq_number irqLine)
rtems_interrupt_level level;
if ( ((int)irqLine < BSP_LOWEST_OFFSET) ||
((int)irqLine > BSP_MAX_OFFSET )
((int)irqLine > BSP_MAX_ON_i8259S )
)
return 1;
@@ -135,7 +135,7 @@ int BSP_irq_enabled_at_i8259s (const rtems_irq_number irqLine)
unsigned short mask;
if ( ((int)irqLine < BSP_LOWEST_OFFSET) ||
((int)irqLine > BSP_MAX_OFFSET )
((int)irqLine > BSP_MAX_ON_i8259S )
)
return 1;
@@ -153,7 +153,7 @@ int BSP_irq_enabled_at_i8259s (const rtems_irq_number irqLine)
int BSP_irq_ack_at_i8259s (const rtems_irq_number irqLine)
{
if ( ((int)irqLine < BSP_LOWEST_OFFSET) ||
((int)irqLine > BSP_MAX_OFFSET )
((int)irqLine > BSP_MAX_ON_i8259S )
)
return 1;
@@ -190,7 +190,7 @@ static void compute_i8259_masks_from_prio (void)
unsigned int i;
unsigned int j;
rtems_interrupt_disable(level); /* XXX */
rtems_interrupt_disable(level);
/*
* Always mask at least current interrupt to prevent re-entrance

View File

@@ -41,8 +41,9 @@ extern "C" {
/* Base vector for our IRQ handlers. */
#define BSP_IRQ_VECTOR_BASE BSP_ASM_IRQ_VECTOR_BASE
#define BSP_IRQ_LINES_NUMBER 16
#define BSP_IRQ_LINES_NUMBER 17
#define BSP_LOWEST_OFFSET 0
#define BSP_MAX_ON_i8259S (BSP_IRQ_LINES_NUMBER - 2)
#define BSP_MAX_OFFSET (BSP_IRQ_LINES_NUMBER - 1)
/*
* Interrupt offset in comparison to BSP_ASM_IRQ_VECTOR_BASE
@@ -56,6 +57,7 @@ extern "C" {
#define BSP_UART_COM1_IRQ 4
#define BSP_RT_TIMER1 8
#define BSP_RT_TIMER3 10
#define BSP_SMP_IPI 16
#define BSP_INTERRUPT_VECTOR_MIN BSP_LOWEST_OFFSET
#define BSP_INTERRUPT_VECTOR_MAX BSP_MAX_OFFSET

View File

@@ -40,6 +40,7 @@ extern void rtems_irq_prologue_12(void);
extern void rtems_irq_prologue_13(void);
extern void rtems_irq_prologue_14(void);
extern void rtems_irq_prologue_15(void);
extern void rtems_irq_prologue_16(void);
/*
* default vectors
*/
@@ -80,7 +81,8 @@ static rtems_raw_irq_hdl rtemsIrq[BSP_IRQ_LINES_NUMBER] = {
rtems_irq_prologue_12,
rtems_irq_prologue_13,
rtems_irq_prologue_14,
rtems_irq_prologue_15
rtems_irq_prologue_15,
rtems_irq_prologue_16,
};
static rtems_raw_irq_connect_data defaultRawIrq = {