summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/target/arm/imx31/avic-imx31.c2
-rw-r--r--firmware/target/arm/imx31/crt0.S6
2 files changed, 5 insertions, 3 deletions
diff --git a/firmware/target/arm/imx31/avic-imx31.c b/firmware/target/arm/imx31/avic-imx31.c
index c8bf419..51ba14d 100644
--- a/firmware/target/arm/imx31/avic-imx31.c
+++ b/firmware/target/arm/imx31/avic-imx31.c
@@ -66,6 +66,7 @@ void UIE_VECTOR(void)
offset >= 0 ? avic_int_names[offset] : "<Unknown>");
}
+#if 0
/* We use the AVIC */
void __attribute__((interrupt("IRQ"))) irq_handler(void)
{
@@ -85,6 +86,7 @@ void __attribute__((interrupt("IRQ"))) irq_handler(void)
panicf("Unhandled IRQ %d in irq_handler: %s", offset,
offset >= 0 ? avic_int_names[offset] : "<Unknown>");
}
+#endif /* 0 */
/* Accoring to section 9.3.5 of the UM, the AVIC doesn't accelerate
* fast interrupts and they must be dispatched */
diff --git a/firmware/target/arm/imx31/crt0.S b/firmware/target/arm/imx31/crt0.S
index 0841cb9..3a0a004 100644
--- a/firmware/target/arm/imx31/crt0.S
+++ b/firmware/target/arm/imx31/crt0.S
@@ -32,7 +32,7 @@ start:
b prefetch_abort_handler
b data_abort_handler
b reserved_handler
- b irq_handler
+ subs pc, lr, #4 @ b irq_handler
b fiq_handler
.balign 0x40, 0x6B
@@ -322,7 +322,7 @@ remap_end:
ldr pc, [pc, #24]
ldr pc, [pc, #24]
ldr pc, [pc, #24]
- ldr pc, [pc, #24]
+ subs pc, lr, #4 @ ldr pc, [pc, #24]
ldr pc, [pc, #24]
.word newstart
.word undef_instr_handler
@@ -330,7 +330,7 @@ remap_end:
.word prefetch_abort_handler
.word data_abort_handler
.word reserved_handler
- .word irq_handler
+ .word 0 @ irq_handler
.word fiq_handler
#endif /* BOOTLOADER */