| Mikael Starvik | 51533b6 | 2005-07-27 11:44:44 -0700 | [diff] [blame] | 1 | #ifndef _ASM_CRIS_ARCH_DELAY_H |
| 2 | #define _ASM_CRIS_ARCH_DELAY_H | ||||
| 3 | |||||
| Adrian Bunk | d9b5444 | 2005-11-07 00:58:44 -0800 | [diff] [blame] | 4 | static inline void |
| Mikael Starvik | 51533b6 | 2005-07-27 11:44:44 -0700 | [diff] [blame] | 5 | __delay(int loops) |
| 6 | { | ||||
| 7 | __asm__ __volatile__ ( | ||||
| 8 | "move.d %0, $r9\n\t" | ||||
| 9 | "beq 2f\n\t" | ||||
| 10 | "subq 1, $r9\n\t" | ||||
| 11 | "1:\n\t" | ||||
| 12 | "bne 1b\n\t" | ||||
| 13 | "subq 1, $r9\n" | ||||
| 14 | "2:" | ||||
| 15 | : : "g" (loops) : "r9"); | ||||
| 16 | } | ||||
| 17 | |||||
| 18 | #endif /* _ASM_CRIS_ARCH_DELAY_H */ | ||||