Loading...
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * arch/arm/include/asm/glue-proc.h
4 *
5 * Copyright (C) 1997-1999 Russell King
6 * Copyright (C) 2000 Deep Blue Solutions Ltd
7 */
8#ifndef ASM_GLUE_PROC_H
9#define ASM_GLUE_PROC_H
10
11#include <asm/glue.h>
12
13/*
14 * Work out if we need multiple CPU support
15 */
16#undef MULTI_CPU
17#undef CPU_NAME
18
19/*
20 * CPU_NAME - the prefix for CPU related functions
21 */
22
23#ifdef CONFIG_CPU_ARM7TDMI
24# ifdef CPU_NAME
25# undef MULTI_CPU
26# define MULTI_CPU
27# else
28# define CPU_NAME cpu_arm7tdmi
29# endif
30#endif
31
32#ifdef CONFIG_CPU_ARM720T
33# ifdef CPU_NAME
34# undef MULTI_CPU
35# define MULTI_CPU
36# else
37# define CPU_NAME cpu_arm720
38# endif
39#endif
40
41#ifdef CONFIG_CPU_ARM740T
42# ifdef CPU_NAME
43# undef MULTI_CPU
44# define MULTI_CPU
45# else
46# define CPU_NAME cpu_arm740
47# endif
48#endif
49
50#ifdef CONFIG_CPU_ARM9TDMI
51# ifdef CPU_NAME
52# undef MULTI_CPU
53# define MULTI_CPU
54# else
55# define CPU_NAME cpu_arm9tdmi
56# endif
57#endif
58
59#ifdef CONFIG_CPU_ARM920T
60# ifdef CPU_NAME
61# undef MULTI_CPU
62# define MULTI_CPU
63# else
64# define CPU_NAME cpu_arm920
65# endif
66#endif
67
68#ifdef CONFIG_CPU_ARM922T
69# ifdef CPU_NAME
70# undef MULTI_CPU
71# define MULTI_CPU
72# else
73# define CPU_NAME cpu_arm922
74# endif
75#endif
76
77#ifdef CONFIG_CPU_FA526
78# ifdef CPU_NAME
79# undef MULTI_CPU
80# define MULTI_CPU
81# else
82# define CPU_NAME cpu_fa526
83# endif
84#endif
85
86#ifdef CONFIG_CPU_ARM925T
87# ifdef CPU_NAME
88# undef MULTI_CPU
89# define MULTI_CPU
90# else
91# define CPU_NAME cpu_arm925
92# endif
93#endif
94
95#ifdef CONFIG_CPU_ARM926T
96# ifdef CPU_NAME
97# undef MULTI_CPU
98# define MULTI_CPU
99# else
100# define CPU_NAME cpu_arm926
101# endif
102#endif
103
104#ifdef CONFIG_CPU_ARM940T
105# ifdef CPU_NAME
106# undef MULTI_CPU
107# define MULTI_CPU
108# else
109# define CPU_NAME cpu_arm940
110# endif
111#endif
112
113#ifdef CONFIG_CPU_ARM946E
114# ifdef CPU_NAME
115# undef MULTI_CPU
116# define MULTI_CPU
117# else
118# define CPU_NAME cpu_arm946
119# endif
120#endif
121
122#ifdef CONFIG_CPU_SA110
123# ifdef CPU_NAME
124# undef MULTI_CPU
125# define MULTI_CPU
126# else
127# define CPU_NAME cpu_sa110
128# endif
129#endif
130
131#ifdef CONFIG_CPU_SA1100
132# ifdef CPU_NAME
133# undef MULTI_CPU
134# define MULTI_CPU
135# else
136# define CPU_NAME cpu_sa1100
137# endif
138#endif
139
140#ifdef CONFIG_CPU_ARM1020
141# ifdef CPU_NAME
142# undef MULTI_CPU
143# define MULTI_CPU
144# else
145# define CPU_NAME cpu_arm1020
146# endif
147#endif
148
149#ifdef CONFIG_CPU_ARM1020E
150# ifdef CPU_NAME
151# undef MULTI_CPU
152# define MULTI_CPU
153# else
154# define CPU_NAME cpu_arm1020e
155# endif
156#endif
157
158#ifdef CONFIG_CPU_ARM1022
159# ifdef CPU_NAME
160# undef MULTI_CPU
161# define MULTI_CPU
162# else
163# define CPU_NAME cpu_arm1022
164# endif
165#endif
166
167#ifdef CONFIG_CPU_ARM1026
168# ifdef CPU_NAME
169# undef MULTI_CPU
170# define MULTI_CPU
171# else
172# define CPU_NAME cpu_arm1026
173# endif
174#endif
175
176#ifdef CONFIG_CPU_XSCALE
177# ifdef CPU_NAME
178# undef MULTI_CPU
179# define MULTI_CPU
180# else
181# define CPU_NAME cpu_xscale
182# endif
183#endif
184
185#ifdef CONFIG_CPU_XSC3
186# ifdef CPU_NAME
187# undef MULTI_CPU
188# define MULTI_CPU
189# else
190# define CPU_NAME cpu_xsc3
191# endif
192#endif
193
194#ifdef CONFIG_CPU_MOHAWK
195# ifdef CPU_NAME
196# undef MULTI_CPU
197# define MULTI_CPU
198# else
199# define CPU_NAME cpu_mohawk
200# endif
201#endif
202
203#ifdef CONFIG_CPU_FEROCEON
204# ifdef CPU_NAME
205# undef MULTI_CPU
206# define MULTI_CPU
207# else
208# define CPU_NAME cpu_feroceon
209# endif
210#endif
211
212#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K)
213# ifdef CPU_NAME
214# undef MULTI_CPU
215# define MULTI_CPU
216# else
217# define CPU_NAME cpu_v6
218# endif
219#endif
220
221#ifdef CONFIG_CPU_V7M
222# ifdef CPU_NAME
223# undef MULTI_CPU
224# define MULTI_CPU
225# else
226# define CPU_NAME cpu_v7m
227# endif
228#endif
229
230#ifdef CONFIG_CPU_PJ4B
231# ifdef CPU_NAME
232# undef MULTI_CPU
233# define MULTI_CPU
234# else
235# define CPU_NAME cpu_pj4b
236# endif
237#endif
238
239#ifdef CONFIG_CPU_V7
240/*
241 * Cortex-A9 needs a different suspend/resume function, so we need
242 * multiple CPU support for ARMv7 anyway.
243 */
244# undef MULTI_CPU
245# define MULTI_CPU
246#endif
247
248#ifndef MULTI_CPU
249#define cpu_proc_init __glue(CPU_NAME,_proc_init)
250#define cpu_proc_fin __glue(CPU_NAME,_proc_fin)
251#define cpu_reset __glue(CPU_NAME,_reset)
252#define cpu_do_idle __glue(CPU_NAME,_do_idle)
253#define cpu_dcache_clean_area __glue(CPU_NAME,_dcache_clean_area)
254#define cpu_do_switch_mm __glue(CPU_NAME,_switch_mm)
255#define cpu_set_pte_ext __glue(CPU_NAME,_set_pte_ext)
256#define cpu_suspend_size __glue(CPU_NAME,_suspend_size)
257#define cpu_do_suspend __glue(CPU_NAME,_do_suspend)
258#define cpu_do_resume __glue(CPU_NAME,_do_resume)
259#endif
260
261#endif
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * arch/arm/include/asm/glue-proc.h
4 *
5 * Copyright (C) 1997-1999 Russell King
6 * Copyright (C) 2000 Deep Blue Solutions Ltd
7 */
8#ifndef ASM_GLUE_PROC_H
9#define ASM_GLUE_PROC_H
10
11#include <asm/glue.h>
12
13/*
14 * Work out if we need multiple CPU support
15 */
16#undef MULTI_CPU
17#undef CPU_NAME
18
19/*
20 * CPU_NAME - the prefix for CPU related functions
21 */
22
23#ifdef CONFIG_CPU_ARM7TDMI
24# ifdef CPU_NAME
25# undef MULTI_CPU
26# define MULTI_CPU
27# else
28# define CPU_NAME cpu_arm7tdmi
29# endif
30#endif
31
32#ifdef CONFIG_CPU_ARM720T
33# ifdef CPU_NAME
34# undef MULTI_CPU
35# define MULTI_CPU
36# else
37# define CPU_NAME cpu_arm720
38# endif
39#endif
40
41#ifdef CONFIG_CPU_ARM740T
42# ifdef CPU_NAME
43# undef MULTI_CPU
44# define MULTI_CPU
45# else
46# define CPU_NAME cpu_arm740
47# endif
48#endif
49
50#ifdef CONFIG_CPU_ARM9TDMI
51# ifdef CPU_NAME
52# undef MULTI_CPU
53# define MULTI_CPU
54# else
55# define CPU_NAME cpu_arm9tdmi
56# endif
57#endif
58
59#ifdef CONFIG_CPU_ARM920T
60# ifdef CPU_NAME
61# undef MULTI_CPU
62# define MULTI_CPU
63# else
64# define CPU_NAME cpu_arm920
65# endif
66#endif
67
68#ifdef CONFIG_CPU_ARM922T
69# ifdef CPU_NAME
70# undef MULTI_CPU
71# define MULTI_CPU
72# else
73# define CPU_NAME cpu_arm922
74# endif
75#endif
76
77#ifdef CONFIG_CPU_FA526
78# ifdef CPU_NAME
79# undef MULTI_CPU
80# define MULTI_CPU
81# else
82# define CPU_NAME cpu_fa526
83# endif
84#endif
85
86#ifdef CONFIG_CPU_ARM925T
87# ifdef CPU_NAME
88# undef MULTI_CPU
89# define MULTI_CPU
90# else
91# define CPU_NAME cpu_arm925
92# endif
93#endif
94
95#ifdef CONFIG_CPU_ARM926T
96# ifdef CPU_NAME
97# undef MULTI_CPU
98# define MULTI_CPU
99# else
100# define CPU_NAME cpu_arm926
101# endif
102#endif
103
104#ifdef CONFIG_CPU_ARM940T
105# ifdef CPU_NAME
106# undef MULTI_CPU
107# define MULTI_CPU
108# else
109# define CPU_NAME cpu_arm940
110# endif
111#endif
112
113#ifdef CONFIG_CPU_ARM946E
114# ifdef CPU_NAME
115# undef MULTI_CPU
116# define MULTI_CPU
117# else
118# define CPU_NAME cpu_arm946
119# endif
120#endif
121
122#ifdef CONFIG_CPU_SA110
123# ifdef CPU_NAME
124# undef MULTI_CPU
125# define MULTI_CPU
126# else
127# define CPU_NAME cpu_sa110
128# endif
129#endif
130
131#ifdef CONFIG_CPU_SA1100
132# ifdef CPU_NAME
133# undef MULTI_CPU
134# define MULTI_CPU
135# else
136# define CPU_NAME cpu_sa1100
137# endif
138#endif
139
140#ifdef CONFIG_CPU_ARM1020
141# ifdef CPU_NAME
142# undef MULTI_CPU
143# define MULTI_CPU
144# else
145# define CPU_NAME cpu_arm1020
146# endif
147#endif
148
149#ifdef CONFIG_CPU_ARM1020E
150# ifdef CPU_NAME
151# undef MULTI_CPU
152# define MULTI_CPU
153# else
154# define CPU_NAME cpu_arm1020e
155# endif
156#endif
157
158#ifdef CONFIG_CPU_ARM1022
159# ifdef CPU_NAME
160# undef MULTI_CPU
161# define MULTI_CPU
162# else
163# define CPU_NAME cpu_arm1022
164# endif
165#endif
166
167#ifdef CONFIG_CPU_ARM1026
168# ifdef CPU_NAME
169# undef MULTI_CPU
170# define MULTI_CPU
171# else
172# define CPU_NAME cpu_arm1026
173# endif
174#endif
175
176#ifdef CONFIG_CPU_XSCALE
177# ifdef CPU_NAME
178# undef MULTI_CPU
179# define MULTI_CPU
180# else
181# define CPU_NAME cpu_xscale
182# endif
183#endif
184
185#ifdef CONFIG_CPU_XSC3
186# ifdef CPU_NAME
187# undef MULTI_CPU
188# define MULTI_CPU
189# else
190# define CPU_NAME cpu_xsc3
191# endif
192#endif
193
194#ifdef CONFIG_CPU_MOHAWK
195# ifdef CPU_NAME
196# undef MULTI_CPU
197# define MULTI_CPU
198# else
199# define CPU_NAME cpu_mohawk
200# endif
201#endif
202
203#ifdef CONFIG_CPU_FEROCEON
204# ifdef CPU_NAME
205# undef MULTI_CPU
206# define MULTI_CPU
207# else
208# define CPU_NAME cpu_feroceon
209# endif
210#endif
211
212#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K)
213# ifdef CPU_NAME
214# undef MULTI_CPU
215# define MULTI_CPU
216# else
217# define CPU_NAME cpu_v6
218# endif
219#endif
220
221#ifdef CONFIG_CPU_V7M
222# ifdef CPU_NAME
223# undef MULTI_CPU
224# define MULTI_CPU
225# else
226# define CPU_NAME cpu_v7m
227# endif
228#endif
229
230#ifdef CONFIG_CPU_PJ4B
231# ifdef CPU_NAME
232# undef MULTI_CPU
233# define MULTI_CPU
234# else
235# define CPU_NAME cpu_pj4b
236# endif
237#endif
238
239#ifdef CONFIG_CPU_V7
240/*
241 * Cortex-A9 needs a different suspend/resume function, so we need
242 * multiple CPU support for ARMv7 anyway.
243 */
244# undef MULTI_CPU
245# define MULTI_CPU
246#endif
247
248#ifndef MULTI_CPU
249#define cpu_proc_init __glue(CPU_NAME,_proc_init)
250#define cpu_proc_fin __glue(CPU_NAME,_proc_fin)
251#define cpu_reset __glue(CPU_NAME,_reset)
252#define cpu_do_idle __glue(CPU_NAME,_do_idle)
253#define cpu_dcache_clean_area __glue(CPU_NAME,_dcache_clean_area)
254#define cpu_do_switch_mm __glue(CPU_NAME,_switch_mm)
255#define cpu_set_pte_ext __glue(CPU_NAME,_set_pte_ext)
256#define cpu_suspend_size __glue(CPU_NAME,_suspend_size)
257#define cpu_do_suspend __glue(CPU_NAME,_do_suspend)
258#define cpu_do_resume __glue(CPU_NAME,_do_resume)
259#endif
260
261#endif