forked from Imagelibrary/rtems
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:
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
Reference in New Issue
Block a user