aboutsummaryrefslogtreecommitdiffstats
path: root/arch/cris/include/arch-v10/arch/delay.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/cris/include/arch-v10/arch/delay.h')
-rw-r--r--arch/cris/include/arch-v10/arch/delay.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/cris/include/arch-v10/arch/delay.h b/arch/cris/include/arch-v10/arch/delay.h
new file mode 100644
index 000000000000..39481f6e0c30
--- /dev/null
+++ b/arch/cris/include/arch-v10/arch/delay.h
@@ -0,0 +1,20 @@
+#ifndef _CRIS_ARCH_DELAY_H
+#define _CRIS_ARCH_DELAY_H
+
+static inline void __delay(int loops)
+{
+ __asm__ __volatile__ (
+ "move.d %0,$r9\n\t"
+ "beq 2f\n\t"
+ "subq 1,$r9\n\t"
+ "1:\n\t"
+ "bne 1b\n\t"
+ "subq 1,$r9\n"
+ "2:"
+ : : "g" (loops) : "r9");
+}
+
+#endif /* defined(_CRIS_ARCH_DELAY_H) */
+
+
+