sync hh.org
[hh.org.git] / include / asm-sh / bugs.h
blobbeeea40f549ec391248d0a0673851f478c3dad17
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 char *get_cpu_subtype(void);
20 extern unsigned long loops_per_jiffy;
21 char *p= &init_utsname()->machine[2]; /* "sh" */
23 cpu_data->loops_per_jiffy = loops_per_jiffy;
25 switch (cpu_data->type) {
26 case CPU_SH7604:
27 *p++ = '2';
28 break;
29 case CPU_SH7705 ... CPU_SH7300:
30 *p++ = '3';
31 break;
32 case CPU_SH7750 ... CPU_SH4_501:
33 *p++ = '4';
34 break;
35 case CPU_SH7770 ... CPU_SH7781:
36 *p++ = '4';
37 *p++ = 'a';
38 break;
39 default:
40 *p++ = '?';
41 *p++ = '!';
42 break;
45 printk("CPU: %s\n", get_cpu_subtype());
47 #ifndef __LITTLE_ENDIAN__
48 /* 'eb' means 'Endian Big' */
49 *p++ = 'e';
50 *p++ = 'b';
51 #endif
52 *p = '\0';
54 #endif /* __ASM_SH_BUGS_H */