summaryrefslogtreecommitdiffstats
path: root/firmware/target/arm/system-pp5002.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2009-01-08 10:15:32 +0000
committerMichael Sevakis <jethead71@rockbox.org>2009-01-08 10:15:32 +0000
commit4ed78f5c72649002d78d48d9a117826a5d9c36f9 (patch)
tree7ebe8ac19acabd74117a638da8dbb0c1cedf2600 /firmware/target/arm/system-pp5002.c
parent32d9752dcc73fd1aaa81d484c3d426ca7856b146 (diff)
downloadrockbox-4ed78f5c72649002d78d48d9a117826a5d9c36f9.tar.gz
rockbox-4ed78f5c72649002d78d48d9a117826a5d9c36f9.zip
Clean up panicf and introduce system_exception_wait to do further target tasks and wait for a button when an unrecoverable error has occurred (panic, UIE, etc.). Returning from that function should reboot or don't return from it. Move UIE and __div0 for ARM to its own file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19716 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/system-pp5002.c')
-rw-r--r--firmware/target/arm/system-pp5002.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/firmware/target/arm/system-pp5002.c b/firmware/target/arm/system-pp5002.c
index b9a937c6e8..1b37d3303f 100644
--- a/firmware/target/arm/system-pp5002.c
+++ b/firmware/target/arm/system-pp5002.c
@@ -203,6 +203,18 @@ void system_init(void)
void system_reboot(void)
{
DEV_RS |= 4;
+ while (1);
+}
+
+void system_exception_wait(void)
+{
+ /* FIXME: we just need the right buttons */
+ CPU_INT_DIS = -1;
+ COP_INT_DIS = -1;
+
+ /* Halt */
+ sleep_core(CURRENT_CORE);
+ while (1);
}
int system_memory_guard(int newmode)