]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - arch/sh/include/asm/bugs.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[mirror_ubuntu-bionic-kernel.git] / arch / sh / include / asm / bugs.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ASM_SH_BUGS_H
3 #define __ASM_SH_BUGS_H
4
5 /*
6 * This is included by init/main.c to check for architecture-dependent bugs.
7 *
8 * Needs:
9 * void check_bugs(void);
10 */
11
12 /*
13 * I don't know of any Super-H bugs yet.
14 */
15
16 #include <asm/processor.h>
17
18 extern void select_idle_routine(void);
19
20 static void __init check_bugs(void)
21 {
22 extern unsigned long loops_per_jiffy;
23 char *p = &init_utsname()->machine[2]; /* "sh" */
24
25 select_idle_routine();
26
27 current_cpu_data.loops_per_jiffy = loops_per_jiffy;
28
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:
61 /*
62 * Specifically use CPU_FAMILY_UNKNOWN rather than
63 * default:, so we're able to have the compiler whine
64 * about unhandled enumerations.
65 */
66 break;
67 }
68
69 printk("CPU: %s\n", get_cpu_subtype(&current_cpu_data));
70
71 #ifndef __LITTLE_ENDIAN__
72 /* 'eb' means 'Endian Big' */
73 *p++ = 'e';
74 *p++ = 'b';
75 #endif
76 *p = '\0';
77 }
78 #endif /* __ASM_SH_BUGS_H */