diff options
author | Jens Arnold <amiconn@rockbox.org> | 2007-07-07 05:59:35 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2007-07-07 05:59:35 +0000 |
commit | 1cf80c3c951bf4d5ce62f0e1360fb311e531aef3 (patch) | |
tree | 55d27861f016efa3707908aba53210a74a4117c4 | |
parent | c6437185b7a5331d7d36a440ad67d3c7cd3502f4 (diff) | |
download | rockbox-1cf80c3c951bf4d5ce62f0e1360fb311e531aef3.tar.gz rockbox-1cf80c3c951bf4d5ce62f0e1360fb311e531aef3.zip |
Improved clock estimation in debug menu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13811 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/debug_menu.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/apps/debug_menu.c b/apps/debug_menu.c index eec0dc3c61..691bbf9cd9 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, | |||
409 | static int perfcheck(void) | 409 | static int perfcheck(void) |
410 | { | 410 | { |
411 | int result; | 411 | int result; |
412 | int old_level = set_irq_level(HIGHEST_IRQ_LEVEL); | ||
413 | 412 | ||
414 | asm ( | 413 | asm ( |
414 | "mrs r2, CPSR \n" | ||
415 | "orr r0, r2, #0xc0 \n" /* disable IRQ and FIQ */ | ||
416 | "msr CPSR_c, r0 \n" | ||
415 | "mov %[res], #0 \n" | 417 | "mov %[res], #0 \n" |
416 | "ldr r0, [%[timr]] \n" | 418 | "ldr r0, [%[timr]] \n" |
417 | "add r0, r0, %[tmo] \n" | 419 | "add r0, r0, %[tmo] \n" |
@@ -420,15 +422,15 @@ static int perfcheck(void) | |||
420 | "ldr r1, [%[timr]] \n" | 422 | "ldr r1, [%[timr]] \n" |
421 | "cmp r1, r0 \n" | 423 | "cmp r1, r0 \n" |
422 | "bmi 1b \n" | 424 | "bmi 1b \n" |
425 | "msr CPSR_c, r2 \n" /* reset IRQ and FIQ state */ | ||
423 | : | 426 | : |
424 | [res]"=&r"(result) | 427 | [res]"=&r"(result) |
425 | : | 428 | : |
426 | [timr]"r"(&USEC_TIMER), | 429 | [timr]"r"(&USEC_TIMER), |
427 | [tmo]"r"(10226) | 430 | [tmo]"r"(10226) |
428 | : | 431 | : |
429 | "r0", "r1" | 432 | "r0", "r1", "r2" |
430 | ); | 433 | ); |
431 | set_irq_level(old_level); | ||
432 | return result; | 434 | return result; |
433 | } | 435 | } |
434 | #endif | 436 | #endif |