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 | { | |
1da177e4 | 19 | extern unsigned long loops_per_jiffy; |
41504c39 | 20 | char *p = &init_utsname()->machine[2]; /* "sh" */ |
1da177e4 | 21 | |
11c19656 | 22 | current_cpu_data.loops_per_jiffy = loops_per_jiffy; |
1da177e4 | 23 | |
11c19656 | 24 | switch (current_cpu_data.type) { |
14bea95b | 25 | case CPU_SH7619: |
1da177e4 LT |
26 | *p++ = '2'; |
27 | break; | |
2ad69908 | 28 | case CPU_SH7203 ... CPU_MXG: |
b229632a YS |
29 | *p++ = '2'; |
30 | *p++ = 'a'; | |
31 | break; | |
d89ddd1c | 32 | case CPU_SH7705 ... CPU_SH7729: |
1da177e4 LT |
33 | *p++ = '3'; |
34 | break; | |
35 | case CPU_SH7750 ... CPU_SH4_501: | |
36 | *p++ = '4'; | |
37 | break; | |
7d740a06 | 38 | case CPU_SH7763 ... CPU_SHX3: |
5b19c908 PM |
39 | *p++ = '4'; |
40 | *p++ = 'a'; | |
41 | break; | |
829c773d | 42 | case CPU_SH7343 ... CPU_SH7366: |
41504c39 PM |
43 | *p++ = '4'; |
44 | *p++ = 'a'; | |
45 | *p++ = 'l'; | |
46 | *p++ = '-'; | |
47 | *p++ = 'd'; | |
48 | *p++ = 's'; | |
49 | *p++ = 'p'; | |
50 | break; | |
29e0d209 PM |
51 | case CPU_SH5_101 ... CPU_SH5_103: |
52 | *p++ = '6'; | |
53 | *p++ = '4'; | |
54 | break; | |
55 | case CPU_SH_NONE: | |
56 | /* | |
57 | * Specifically use CPU_SH_NONE rather than default:, | |
58 | * so we're able to have the compiler whine about | |
59 | * unhandled enumerations. | |
60 | */ | |
1da177e4 LT |
61 | break; |
62 | } | |
63 | ||
11c19656 | 64 | printk("CPU: %s\n", get_cpu_subtype(¤t_cpu_data)); |
1da177e4 LT |
65 | |
66 | #ifndef __LITTLE_ENDIAN__ | |
67 | /* 'eb' means 'Endian Big' */ | |
68 | *p++ = 'e'; | |
69 | *p++ = 'b'; | |
70 | #endif | |
71 | *p = '\0'; | |
72 | } | |
73 | #endif /* __ASM_SH_BUGS_H */ |