Commit | Line | Data |
---|---|---|
1da177e4 LT |
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 char *get_cpu_subtype(void); | |
20 | extern unsigned long loops_per_jiffy; | |
96b644bd | 21 | char *p= &init_utsname()->machine[2]; /* "sh" */ |
1da177e4 LT |
22 | |
23 | cpu_data->loops_per_jiffy = loops_per_jiffy; | |
24 | ||
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; | |
5b19c908 PM |
35 | case CPU_SH7770 ... CPU_SH7781: |
36 | *p++ = '4'; | |
37 | *p++ = 'a'; | |
38 | break; | |
1da177e4 LT |
39 | default: |
40 | *p++ = '?'; | |
41 | *p++ = '!'; | |
42 | break; | |
43 | } | |
44 | ||
45 | printk("CPU: %s\n", get_cpu_subtype()); | |
46 | ||
47 | #ifndef __LITTLE_ENDIAN__ | |
48 | /* 'eb' means 'Endian Big' */ | |
49 | *p++ = 'e'; | |
50 | *p++ = 'b'; | |
51 | #endif | |
52 | *p = '\0'; | |
53 | } | |
54 | #endif /* __ASM_SH_BUGS_H */ |