]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-mips/bugs.h
connector: add a BlackBoard user to connector
[linux-2.6-omap-h63xx.git] / include / asm-mips / bugs.h
index b14b961c2100c4394305023f0621c50caf3fef31..9dc10df32078e10475dd49c60248c06d31461139 100644 (file)
@@ -1,23 +1,53 @@
 /*
  * This is included by init/main.c to check for architecture-dependent bugs.
  *
+ * Copyright (C) 2007  Maciej W. Rozycki
+ *
  * Needs:
  *     void check_bugs(void);
  */
 #ifndef _ASM_BUGS_H
 #define _ASM_BUGS_H
 
-#include <linux/config.h>
+#include <linux/bug.h>
+#include <linux/delay.h>
+
+#include <asm/cpu.h>
+#include <asm/cpu-info.h>
+
+extern int daddiu_bug;
+
+extern void check_bugs64_early(void);
 
 extern void check_bugs32(void);
 extern void check_bugs64(void);
 
+static inline void check_bugs_early(void)
+{
+#ifdef CONFIG_64BIT
+       check_bugs64_early();
+#endif
+}
+
 static inline void check_bugs(void)
 {
+       unsigned int cpu = smp_processor_id();
+
+       cpu_data[cpu].udelay_val = loops_per_jiffy;
        check_bugs32();
 #ifdef CONFIG_64BIT
        check_bugs64();
 #endif
 }
 
+static inline int r4k_daddiu_bug(void)
+{
+#ifdef CONFIG_64BIT
+       WARN_ON(daddiu_bug < 0);
+       return daddiu_bug != 0;
+#else
+       return 0;
+#endif
+}
+
 #endif /* _ASM_BUGS_H */