Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[cris-mirror.git] / arch / sh / include / asm / bugs.h
blob030df56bfdb20f2b8a648c3a82e44a3684cb3e5d
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ASM_SH_BUGS_H
3 #define __ASM_SH_BUGS_H
5 /*
6 * This is included by init/main.c to check for architecture-dependent bugs.
8 * Needs:
9 * void check_bugs(void);
13 * I don't know of any Super-H bugs yet.
16 #include <asm/processor.h>
18 extern void select_idle_routine(void);
20 static void __init check_bugs(void)
22 extern unsigned long loops_per_jiffy;
23 char *p = &init_utsname()->machine[2]; /* "sh" */
25 select_idle_routine();
27 current_cpu_data.loops_per_jiffy = loops_per_jiffy;
29 switch (current_cpu_data.family) {
30 case CPU_FAMILY_SH2:
31 *p++ = '2';
32 break;
33 case CPU_FAMILY_SH2A:
34 *p++ = '2';
35 *p++ = 'a';
36 break;
37 case CPU_FAMILY_SH3:
38 *p++ = '3';
39 break;
40 case CPU_FAMILY_SH4:
41 *p++ = '4';
42 break;
43 case CPU_FAMILY_SH4A:
44 *p++ = '4';
45 *p++ = 'a';
46 break;
47 case CPU_FAMILY_SH4AL_DSP:
48 *p++ = '4';
49 *p++ = 'a';
50 *p++ = 'l';
51 *p++ = '-';
52 *p++ = 'd';
53 *p++ = 's';
54 *p++ = 'p';
55 break;
56 case CPU_FAMILY_SH5:
57 *p++ = '6';
58 *p++ = '4';
59 break;
60 case CPU_FAMILY_UNKNOWN:
62 * Specifically use CPU_FAMILY_UNKNOWN rather than
63 * default:, so we're able to have the compiler whine
64 * about unhandled enumerations.
66 break;
69 printk("CPU: %s\n", get_cpu_subtype(&current_cpu_data));
71 #ifndef __LITTLE_ENDIAN__
72 /* 'eb' means 'Endian Big' */
73 *p++ = 'e';
74 *p++ = 'b';
75 #endif
76 *p = '\0';
78 #endif /* __ASM_SH_BUGS_H */