diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1999-10-09 00:00:47 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1999-10-09 00:00:47 +0000 |
commit | d6434e1042f3b0a6dfe1b1f615af369486f9b1fa (patch) | |
tree | e2be02f33984c48ec019c654051d27964e42c441 /include/asm-alpha/delay.h | |
parent | 609d1e803baf519487233b765eb487f9ec227a18 (diff) |
Merge with 2.3.19.
Diffstat (limited to 'include/asm-alpha/delay.h')
-rw-r--r-- | include/asm-alpha/delay.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/include/asm-alpha/delay.h b/include/asm-alpha/delay.h index a55752abb..f60e9b5a7 100644 --- a/include/asm-alpha/delay.h +++ b/include/asm-alpha/delay.h @@ -12,9 +12,13 @@ extern __inline__ void __delay(unsigned long loops) { - __asm__ __volatile__(".align 3\n" - "1:\tsubq %0,1,%0\n\t" - "bge %0,1b": "=r" (loops) : "0" (loops)); + register unsigned long r0 __asm__("$0") = loops; +#ifdef MODULE + __asm__ __volatile__("lda $28,___delay; jsr $28,($28),0" + : "=r"(r0) : "r"(r0) : "$28"); +#else + __asm__ __volatile__("bsr $28,___delay" : "=r"(r0) : "r"(r0) : "$28"); +#endif } /* |