[U-Boot] [PATCH-OMAP3] OMAP3: Fix typo and cp_delay
dirk.behme at googlemail.com
dirk.behme at googlemail.com
Sun Nov 9 19:38:24 CET 2008
Subject: [PATCH-OMAP3] OMAP3: Fix typo and cp_delay
From: Dirk Behme <dirk.behme at gmail.com>
Fix typo and cp_delay. Requested by Wolfgang Denk.
Signed-off-by: Dirk Behme <dirk.behme at gmail.com>
---
Regarding cp_delay there was the comment:
-- cut --
>+static void cp_delay(void)
>+{
>+ volatile int i;
>+
>+ /* Many OMAP regs need at least 2 nops */
>+ for (i = 0; i < 100; i++) ;
There is not much reason for the compiler not to optimize this code away.
-- cut --
Please note that most of ARM code uses *this* cp_delay() implementation. If I understood correctly at IRC, Scott Wood made some tests and volatile prevents gcc from optimizing loop away.
cpu/arm_cortexa8/cpu.c | 5 ++---
cpu/arm_cortexa8/start.S | 2 +-
2 files changed, 3 insertions(+), 4 deletions(-)
Index: u-boot-arm/cpu/arm_cortexa8/start.S
===================================================================
--- u-boot-arm.orig/cpu/arm_cortexa8/start.S
+++ u-boot-arm/cpu/arm_cortexa8/start.S
@@ -394,7 +394,7 @@ irq:
.align 5
fiq:
get_fiq_stack
- /* someone ought to write a more effiction fiq_save_user_regs */
+ /* someone ought to write a more effective fiq_save_user_regs */
irq_save_user_regs
bl do_fiq
irq_restore_user_regs
Index: u-boot-arm/cpu/arm_cortexa8/cpu.c
===================================================================
--- u-boot-arm.orig/cpu/arm_cortexa8/cpu.c
+++ u-boot-arm/cpu/arm_cortexa8/cpu.c
@@ -68,10 +68,9 @@ static void write_p15_c1(unsigned long v
static void cp_delay(void)
{
- volatile int i;
-
/* Many OMAP regs need at least 2 nops */
- for (i = 0; i < 100; i++) ;
+ asm("nop");
+ asm("nop");
}
/* See also ARM Ref. Man. */
More information about the U-Boot
mailing list