Linux Audio

Check our new training course

Loading...
v3.5.6
 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
17extern void select_idle_routine(void);
18
19static void __init check_bugs(void)
20{
21	extern unsigned long loops_per_jiffy;
22	char *p = &init_utsname()->machine[2]; /* "sh" */
23
24	select_idle_routine();
25
26	current_cpu_data.loops_per_jiffy = loops_per_jiffy;
27
28	switch (current_cpu_data.family) {
29	case CPU_FAMILY_SH2:
30		*p++ = '2';
31		break;
32	case CPU_FAMILY_SH2A:
33		*p++ = '2';
34		*p++ = 'a';
35		break;
36	case CPU_FAMILY_SH3:
37		*p++ = '3';
38		break;
39	case CPU_FAMILY_SH4:
40		*p++ = '4';
41		break;
42	case CPU_FAMILY_SH4A:
43		*p++ = '4';
44		*p++ = 'a';
45		break;
46	case CPU_FAMILY_SH4AL_DSP:
47		*p++ = '4';
48		*p++ = 'a';
49		*p++ = 'l';
50		*p++ = '-';
51		*p++ = 'd';
52		*p++ = 's';
53		*p++ = 'p';
54		break;
55	case CPU_FAMILY_SH5:
56		*p++ = '6';
57		*p++ = '4';
58		break;
59	case CPU_FAMILY_UNKNOWN:
60		/*
61		 * Specifically use CPU_FAMILY_UNKNOWN rather than
62		 * default:, so we're able to have the compiler whine
63		 * about unhandled enumerations.
64		 */
65		break;
66	}
67
68	printk("CPU: %s\n", get_cpu_subtype(&current_cpu_data));
69
70#ifndef __LITTLE_ENDIAN__
71	/* 'eb' means 'Endian Big' */
72	*p++ = 'e';
73	*p++ = 'b';
74#endif
75	*p = '\0';
76}
77#endif /* __ASM_SH_BUGS_H */
v3.15
 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
17extern void select_idle_routine(void);
18
19static void __init check_bugs(void)
20{
21	extern unsigned long loops_per_jiffy;
22	char *p = &init_utsname()->machine[2]; /* "sh" */
23
24	select_idle_routine();
25
26	current_cpu_data.loops_per_jiffy = loops_per_jiffy;
27
28	switch (current_cpu_data.family) {
29	case CPU_FAMILY_SH2:
30		*p++ = '2';
31		break;
32	case CPU_FAMILY_SH2A:
33		*p++ = '2';
34		*p++ = 'a';
35		break;
36	case CPU_FAMILY_SH3:
37		*p++ = '3';
38		break;
39	case CPU_FAMILY_SH4:
40		*p++ = '4';
41		break;
42	case CPU_FAMILY_SH4A:
43		*p++ = '4';
44		*p++ = 'a';
45		break;
46	case CPU_FAMILY_SH4AL_DSP:
47		*p++ = '4';
48		*p++ = 'a';
49		*p++ = 'l';
50		*p++ = '-';
51		*p++ = 'd';
52		*p++ = 's';
53		*p++ = 'p';
54		break;
55	case CPU_FAMILY_SH5:
56		*p++ = '6';
57		*p++ = '4';
58		break;
59	case CPU_FAMILY_UNKNOWN:
60		/*
61		 * Specifically use CPU_FAMILY_UNKNOWN rather than
62		 * default:, so we're able to have the compiler whine
63		 * about unhandled enumerations.
64		 */
65		break;
66	}
67
68	printk("CPU: %s\n", get_cpu_subtype(&current_cpu_data));
69
70#ifndef __LITTLE_ENDIAN__
71	/* 'eb' means 'Endian Big' */
72	*p++ = 'e';
73	*p++ = 'b';
74#endif
75	*p = '\0';
76}
77#endif /* __ASM_SH_BUGS_H */