]> Git Repo - linux.git/blob - arch/sh/include/asm/bugs.h
enetc: Migrate to PHYLINK and PCS_LYNX
[linux.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_UNKNOWN:
57                 /*
58                  * Specifically use CPU_FAMILY_UNKNOWN rather than
59                  * default:, so we're able to have the compiler whine
60                  * about unhandled enumerations.
61                  */
62                 break;
63         }
64
65         printk("CPU: %s\n", get_cpu_subtype(&current_cpu_data));
66
67 #ifndef __LITTLE_ENDIAN__
68         /* 'eb' means 'Endian Big' */
69         *p++ = 'e';
70         *p++ = 'b';
71 #endif
72         *p = '\0';
73 }
74 #endif /* __ASM_SH_BUGS_H */
This page took 0.049841 seconds and 4 git commands to generate.