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