summaryrefslogtreecommitdiff
path: root/apps/debug_menu.c
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2007-07-07 05:59:35 +0000
committerJens Arnold <amiconn@rockbox.org>2007-07-07 05:59:35 +0000
commit1cf80c3c951bf4d5ce62f0e1360fb311e531aef3 (patch)
tree55d27861f016efa3707908aba53210a74a4117c4 /apps/debug_menu.c
parentc6437185b7a5331d7d36a440ad67d3c7cd3502f4 (diff)
downloadrockbox-1cf80c3c951bf4d5ce62f0e1360fb311e531aef3.zip
rockbox-1cf80c3c951bf4d5ce62f0e1360fb311e531aef3.tar.gz
rockbox-1cf80c3c951bf4d5ce62f0e1360fb311e531aef3.tar.bz2
rockbox-1cf80c3c951bf4d5ce62f0e1360fb311e531aef3.tar.xz
Improved clock estimation in debug menu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13811 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/debug_menu.c')
-rw-r--r--apps/debug_menu.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/apps/debug_menu.c b/apps/debug_menu.c
index eec0dc3..691bbf9 100644
--- a/apps/debug_menu.c
+++ b/apps/debug_menu.c
@@ -409,9 +409,11 @@ static bool dbg_flash_id(unsigned* p_manufacturer, unsigned* p_device,
static int perfcheck(void)
{
int result;
- int old_level = set_irq_level(HIGHEST_IRQ_LEVEL);
asm (
+ "mrs r2, CPSR \n"
+ "orr r0, r2, #0xc0 \n" /* disable IRQ and FIQ */
+ "msr CPSR_c, r0 \n"
"mov %[res], #0 \n"
"ldr r0, [%[timr]] \n"
"add r0, r0, %[tmo] \n"
@@ -420,15 +422,15 @@ static int perfcheck(void)
"ldr r1, [%[timr]] \n"
"cmp r1, r0 \n"
"bmi 1b \n"
+ "msr CPSR_c, r2 \n" /* reset IRQ and FIQ state */
:
[res]"=&r"(result)
:
[timr]"r"(&USEC_TIMER),
[tmo]"r"(10226)
:
- "r0", "r1"
+ "r0", "r1", "r2"
);
- set_irq_level(old_level);
return result;
}
#endif