File: /usr/src/linux/include/asm-sh/bugs.h
1 #ifndef __ASM_SH_BUGS_H
2 #define __ASM_SH_BUGS_H
3
4 /*
5 * This is included by init/main.c to check for architecture-dependent bugs.
6 *
7 * Needs:
8 * void check_bugs(void);
9 */
10
11 /*
12 * I don't know of any Super-H bugs yet.
13 */
14
15 #include <asm/processor.h>
16
17 static void __init check_bugs(void)
18 {
19 extern unsigned long loops_per_jiffy;
20 char *p= &system_utsname.machine[2]; /* "sh" */
21
22 cpu_data->loops_per_jiffy = loops_per_jiffy;
23
24 switch (cpu_data->type) {
25 case CPU_SH7708:
26 *p++ = '3';
27 printk("CPU: SH7707/SH7708/SH7709\n");
28 break;
29 case CPU_SH7729:
30 *p++ = '3';
31 printk("CPU: SH7709A/SH7729\n");
32 break;
33 case CPU_SH7750:
34 *p++ = '4';
35 printk("CPU: SH7750/SH7751\n");
36 break;
37 case CPU_ST40STB1:
38 *p++ = '4';
39 printk("CPU: ST40STB1\n");
40 break;
41 default:
42 printk("CPU: ??????\n");
43 break;
44 }
45
46 #ifndef __LITTLE_ENDIAN__
47 /* 'eb' means 'Endian Big' */
48 *p++ = 'e';
49 *p++ = 'b';
50 #endif
51 *p = '\0';
52 }
53 #endif /* __ASM_SH_BUGS_H */
54