Skip to content

Commit eb79a8a

Browse files
committed
修改irq handle接口rt_hw_trap_irq,支持核间IPI中断处理
1 parent 05bb1a5 commit eb79a8a

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

libcpu/arm/cortex-a/trap.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,12 +155,14 @@ void rt_hw_trap_resv(struct rt_hw_exp_stack *regs)
155155
void rt_hw_trap_irq(void)
156156
{
157157
void *param;
158+
int int_ack;
158159
int ir;
159160
rt_isr_handler_t isr_func;
160161
extern struct rt_irq_desc isr_table[];
161162

162-
ir = rt_hw_interrupt_get_irq();
163+
int_ack = rt_hw_interrupt_get_irq();
163164

165+
ir = int_ack & GIC_ACK_INTID_MASK;
164166
if (ir == 1023)
165167
{
166168
/* Spurious interrupt */
@@ -181,7 +183,7 @@ void rt_hw_trap_irq(void)
181183
}
182184

183185
/* end of interrupt */
184-
rt_hw_interrupt_ack(ir);
186+
rt_hw_interrupt_ack(int_ack);
185187
}
186188

187189
void rt_hw_trap_fiq(void)

0 commit comments

Comments
 (0)