/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __ASM_SH_BUGS_H #define __ASM_SH_BUGS_H /* * This is included by init/main.c to check for architecture-dependent bugs. * * Needs: * void check_bugs(void); */ /* * I don't know of any Super-H bugs yet. */ #include <asm/processor.h> extern void select_idle_routine(void);
static void __init check_bugs(void) { extern unsigned long loops_per_jiffy; char *p = &init_utsname()->machine[2]; /* "sh" */ select_idle_routine(); current_cpu_data.loops_per_jiffy = loops_per_jiffy; switch (current_cpu_data.family) { case CPU_FAMILY_SH2: *p++ = '2'; break; case CPU_FAMILY_SH2A: *p++ = '2'; *p++ = 'a'; break; case CPU_FAMILY_SH3: *p++ = '3'; break; case CPU_FAMILY_SH4: *p++ = '4'; break; case CPU_FAMILY_SH4A: *p++ = '4'; *p++ = 'a'; break; case CPU_FAMILY_SH4AL_DSP: *p++ = '4'; *p++ = 'a'; *p++ = 'l'; *p++ = '-'; *p++ = 'd'; *p++ = 's'; *p++ = 'p'; break; case CPU_FAMILY_SH5: *p++ = '6'; *p++ = '4'; break; case CPU_FAMILY_UNKNOWN: /* * Specifically use CPU_FAMILY_UNKNOWN rather than * default:, so we're able to have the compiler whine * about unhandled enumerations. */ break; } printk("CPU: %s\n", get_cpu_subtype(¤t_cpu_data)); #ifndef __LITTLE_ENDIAN__ /* 'eb' means 'Endian Big' */ *p++ = 'e'; *p++ = 'b'; #endif *p = '\0'; }Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Mundt | 97 | 46.63% | 7 | 50.00% |
Linus Torvalds (pre-git) | 86 | 41.35% | 4 | 28.57% |
Yoshinori Sato | 15 | 7.21% | 1 | 7.14% |
Linus Torvalds | 7 | 3.37% | 1 | 7.14% |
Serge E. Hallyn | 3 | 1.44% | 1 | 7.14% |
Total | 208 | 100.00% | 14 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Paul Mundt | 104 | 45.22% | 7 | 43.75% |
Linus Torvalds (pre-git) | 100 | 43.48% | 5 | 31.25% |
Yoshinori Sato | 15 | 6.52% | 1 | 6.25% |
Linus Torvalds | 7 | 3.04% | 1 | 6.25% |
Serge E. Hallyn | 3 | 1.30% | 1 | 6.25% |
Greg Kroah-Hartman | 1 | 0.43% | 1 | 6.25% |
Total | 230 | 100.00% | 16 | 100.00% |