# HG changeset patch # User jlarmour # Date 1042094052 0 # Node ID b3be5b1e1cfdffe05027388e08772c5c6272eaef # Parent 7799e045560bf46d0c8db2f415aef62f27504665 * src/hal_misc.c (hal_delay_us): Use HAL_CLOCK_READ instead of inline asm, to allow for variant/platform HAL packages overriding. diff --git a/packages/hal/mips/arch/current/ChangeLog b/packages/hal/mips/arch/current/ChangeLog --- a/packages/hal/mips/arch/current/ChangeLog +++ b/packages/hal/mips/arch/current/ChangeLog @@ -1,3 +1,8 @@ +2003-01-09 Tim Michals + + * src/hal_misc.c (hal_delay_us): Use HAL_CLOCK_READ instead of inline + asm, to allow for variant/platform HAL packages overriding. + 2002-12-12 Bart Veer * include/hal_cache.h: allow for cache flushes etc. where the base diff --git a/packages/hal/mips/arch/current/src/hal_misc.c b/packages/hal/mips/arch/current/src/hal_misc.c --- a/packages/hal/mips/arch/current/src/hal_misc.c +++ b/packages/hal/mips/arch/current/src/hal_misc.c @@ -376,10 +376,10 @@ hal_delay_us(int us) ticks = us1 * usticks; - asm volatile("mfc0 %0,$9;" : "=r"(val1)); + HAL_CLOCK_READ(&val1); while (ticks > 0) { do { - asm volatile("mfc0 %0,$9;" : "=r"(val2)); + HAL_CLOCK_READ(&val2); } while (val1 == val2); diff = val2 - val1; if (diff < 0) diff += CYGNUM_HAL_RTC_PERIOD;