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 */ |