summaryrefslogtreecommitdiff
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:
362 mov r1, #2 362 mov r1, #2
363 b UIE 363 b UIE
364 364
365irq_handler:
366#ifndef STUB
367 stmfd sp!, {r0-r3, r12, lr}
368 bl irq
369 ldmfd sp!, {r0-r3, r12, lr}
370#endif
371 subs pc, lr, #4
372
373#ifdef STUB
374UIE:
375 b UIE
376#endif
377
378/* Align stacks to cache line boundary */ 365/* Align stacks to cache line boundary */
379 .balign 32 366 .balign 32
380 367
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 @@
27extern void TIMER1(void); 27extern void TIMER1(void);
28extern void TIMER2(void); 28extern void TIMER2(void);
29 29
30void irq(void) 30void __attribute__((interrupt("IRQ"))) irq_handler(void)
31{ 31{
32 if(CURRENT_CORE == CPU) 32 if(CURRENT_CORE == CPU)
33 { 33 {
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);
36extern void ipod_mini_button_int(void); /* iPod Mini 1st gen only */ 36extern void ipod_mini_button_int(void); /* iPod Mini 1st gen only */
37extern void ipod_4g_button_int(void); /* iPod 4th gen and higher only */ 37extern void ipod_4g_button_int(void); /* iPod 4th gen and higher only */
38 38
39void irq(void) 39void __attribute__((interrupt("IRQ"))) irq_handler(void)
40{ 40{
41 if(CURRENT_CORE == CPU) 41 if(CURRENT_CORE == CPU)
42 { 42 {