From 73f2d001fd3ba117e4585c25d42fb93b244518ee Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Tue, 20 Jan 2009 16:11:59 +0000 Subject: PortalPlayer: Implement irq_handler() directly in C code rather than dispatching to irq() from crt0-pp.S. Remove unneeded STUB macros. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19801 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/crt0-pp.S | 13 ------------- firmware/target/arm/system-pp5002.c | 2 +- firmware/target/arm/system-pp502x.c | 2 +- 3 files changed, 2 insertions(+), 15 deletions(-) diff --git a/firmware/target/arm/crt0-pp.S b/firmware/target/arm/crt0-pp.S index 3bfa607622..f698783017 100644 --- a/firmware/target/arm/crt0-pp.S +++ b/firmware/target/arm/crt0-pp.S @@ -362,19 +362,6 @@ data_abort_handler: mov r1, #2 b UIE -irq_handler: -#ifndef STUB - stmfd sp!, {r0-r3, r12, lr} - bl irq - ldmfd sp!, {r0-r3, r12, lr} -#endif - subs pc, lr, #4 - -#ifdef STUB -UIE: - b UIE -#endif - /* Align stacks to cache line boundary */ .balign 32 diff --git a/firmware/target/arm/system-pp5002.c b/firmware/target/arm/system-pp5002.c index 1b37d3303f..a995a5464b 100644 --- a/firmware/target/arm/system-pp5002.c +++ b/firmware/target/arm/system-pp5002.c @@ -27,7 +27,7 @@ extern void TIMER1(void); extern void TIMER2(void); -void irq(void) +void __attribute__((interrupt("IRQ"))) irq_handler(void) { if(CURRENT_CORE == CPU) { diff --git a/firmware/target/arm/system-pp502x.c b/firmware/target/arm/system-pp502x.c index db6cae13d4..ed4c028ff4 100644 --- a/firmware/target/arm/system-pp502x.c +++ b/firmware/target/arm/system-pp502x.c @@ -36,7 +36,7 @@ extern void SERIAL0(void); extern void ipod_mini_button_int(void); /* iPod Mini 1st gen only */ extern void ipod_4g_button_int(void); /* iPod 4th gen and higher only */ -void irq(void) +void __attribute__((interrupt("IRQ"))) irq_handler(void) { if(CURRENT_CORE == CPU) { -- cgit v1.2.3