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 |