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