Linux 2.6.20.7
[linux/fpc-iii.git] / include / asm-sh / bugs.h
bloba294997a84127b02e42174dcb670e17629ab1392
1 #ifndef __ASM_SH_BUGS_H
2 #define __ASM_SH_BUGS_H
4 /*
5 * This is included by init/main.c to check for architecture-dependent bugs.
7 * Needs:
8 * void check_bugs(void);
9 */
12 * I don't know of any Super-H bugs yet.
15 #include <asm/processor.h>
17 static void __init check_bugs(void)
19 extern unsigned long loops_per_jiffy;
20 char *p = &init_utsname()->machine[2]; /* "sh" */
22 cpu_data->loops_per_jiffy = loops_per_jiffy;
24 switch (cpu_data->type) {
25 case CPU_SH7604 ... CPU_SH7619:
26 *p++ = '2';
27 break;
28 case CPU_SH7206:
29 *p++ = '2';
30 *p++ = 'a';
31 break;
32 case CPU_SH7705 ... CPU_SH7300:
33 *p++ = '3';
34 break;
35 case CPU_SH7750 ... CPU_SH4_501:
36 *p++ = '4';
37 break;
38 case CPU_SH7770 ... CPU_SH7785:
39 *p++ = '4';
40 *p++ = 'a';
41 break;
42 case CPU_SH73180 ... CPU_SH7722:
43 *p++ = '4';
44 *p++ = 'a';
45 *p++ = 'l';
46 *p++ = '-';
47 *p++ = 'd';
48 *p++ = 's';
49 *p++ = 'p';
50 break;
51 default:
52 *p++ = '?';
53 *p++ = '!';
54 break;
57 printk("CPU: %s\n", get_cpu_subtype());
59 #ifndef __LITTLE_ENDIAN__
60 /* 'eb' means 'Endian Big' */
61 *p++ = 'e';
62 *p++ = 'b';
63 #endif
64 *p = '\0';
66 #endif /* __ASM_SH_BUGS_H */