vserver 1.9.5.x5
[linux-2.6.git] / include / asm-mips / delay.h
index 91fdf79..d0f6844 100644 (file)
@@ -13,6 +13,8 @@
 #include <linux/config.h>
 #include <linux/param.h>
 
+#include <asm/compiler.h>
+
 extern unsigned long loops_per_jiffy;
 
 static inline void __delay(unsigned long loops)
@@ -69,11 +71,13 @@ static inline void __udelay(unsigned long usecs, unsigned long lpj)
        if (sizeof(long) == 4)
                __asm__("multu\t%2, %3"
                : "=h" (usecs), "=l" (lo)
-               : "r" (usecs),"r" (lpj));
+               : "r" (usecs), "r" (lpj)
+               : GCC_REG_ACCUM);
        else if (sizeof(long) == 8)
                __asm__("dmultu\t%2, %3"
                : "=h" (usecs), "=l" (lo)
-               : "r" (usecs),"r" (lpj));
+               : "r" (usecs), "r" (lpj)
+               : GCC_REG_ACCUM);
 
        __delay(usecs);
 }