summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2009-01-20 16:11:59 +0000
committerMichael Sevakis <jethead71@rockbox.org>2009-01-20 16:11:59 +0000
commit73f2d001fd3ba117e4585c25d42fb93b244518ee (patch)
treeb53dd4a98cdf8ed4ca4d121ccaad56d850ea5fe6
parent5d1eb8ee3193c0b0c779258e754218929fa09723 (diff)
downloadrockbox-73f2d001fd3ba117e4585c25d42fb93b244518ee.tar.gz
rockbox-73f2d001fd3ba117e4585c25d42fb93b244518ee.zip
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
-rw-r--r--firmware/target/arm/crt0-pp.S13
-rw-r--r--firmware/target/arm/system-pp5002.c2
-rw-r--r--firmware/target/arm/system-pp502x.c2
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)
{