Mercurial > ecos-v2_0-branch
comparison packages/hal/mips/arch/current/src/hal_misc.c @ 488:b3be5b1e1cfd
* src/hal_misc.c (hal_delay_us): Use HAL_CLOCK_READ instead of inline
asm, to allow for variant/platform HAL packages overriding.
| author | jlarmour |
|---|---|
| date | Thu, 09 Jan 2003 06:34:12 +0000 |
| parents | d2c90368aeef |
| children |
comparison
equal
deleted
inserted
replaced
| 487:7799e045560b | 488:b3be5b1e1cfd |
|---|---|
| 374 | 374 |
| 375 us -= us1; | 375 us -= us1; |
| 376 | 376 |
| 377 ticks = us1 * usticks; | 377 ticks = us1 * usticks; |
| 378 | 378 |
| 379 asm volatile("mfc0 %0,$9;" : "=r"(val1)); | 379 HAL_CLOCK_READ(&val1); |
| 380 while (ticks > 0) { | 380 while (ticks > 0) { |
| 381 do { | 381 do { |
| 382 asm volatile("mfc0 %0,$9;" : "=r"(val2)); | 382 HAL_CLOCK_READ(&val2); |
| 383 } while (val1 == val2); | 383 } while (val1 == val2); |
| 384 diff = val2 - val1; | 384 diff = val2 - val1; |
| 385 if (diff < 0) diff += CYGNUM_HAL_RTC_PERIOD; | 385 if (diff < 0) diff += CYGNUM_HAL_RTC_PERIOD; |
| 386 ticks -= diff; | 386 ticks -= diff; |
| 387 val1 = val2; | 387 val1 = val2; |
