修改irq handle接口rt_hw_trap_irq,支持核间IPI中断处理
This commit is contained in:
parent
05bb1a50b0
commit
eb79a8a244
|
@ -155,12 +155,14 @@ void rt_hw_trap_resv(struct rt_hw_exp_stack *regs)
|
||||||
void rt_hw_trap_irq(void)
|
void rt_hw_trap_irq(void)
|
||||||
{
|
{
|
||||||
void *param;
|
void *param;
|
||||||
|
int int_ack;
|
||||||
int ir;
|
int ir;
|
||||||
rt_isr_handler_t isr_func;
|
rt_isr_handler_t isr_func;
|
||||||
extern struct rt_irq_desc isr_table[];
|
extern struct rt_irq_desc isr_table[];
|
||||||
|
|
||||||
ir = rt_hw_interrupt_get_irq();
|
int_ack = rt_hw_interrupt_get_irq();
|
||||||
|
|
||||||
|
ir = int_ack & GIC_ACK_INTID_MASK;
|
||||||
if (ir == 1023)
|
if (ir == 1023)
|
||||||
{
|
{
|
||||||
/* Spurious interrupt */
|
/* Spurious interrupt */
|
||||||
|
@ -181,7 +183,7 @@ void rt_hw_trap_irq(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* end of interrupt */
|
/* end of interrupt */
|
||||||
rt_hw_interrupt_ack(ir);
|
rt_hw_interrupt_ack(int_ack);
|
||||||
}
|
}
|
||||||
|
|
||||||
void rt_hw_trap_fiq(void)
|
void rt_hw_trap_fiq(void)
|
||||||
|
|
Loading…
Reference in New Issue