diff options
132 files changed, 4887 insertions, 2834 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 038179ecf6a9..d8ed6676ae86 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -55,8 +55,21 @@ config GENERIC_TIME | |||
55 | config GENERIC_CLOCKEVENTS | 55 | config GENERIC_CLOCKEVENTS |
56 | def_bool n | 56 | def_bool n |
57 | 57 | ||
58 | config SYS_SUPPORTS_PM | ||
59 | bool | ||
60 | |||
58 | config SYS_SUPPORTS_APM_EMULATION | 61 | config SYS_SUPPORTS_APM_EMULATION |
59 | bool | 62 | bool |
63 | select SYS_SUPPORTS_PM | ||
64 | |||
65 | config SYS_SUPPORTS_SMP | ||
66 | bool | ||
67 | |||
68 | config SYS_SUPPORTS_NUMA | ||
69 | bool | ||
70 | |||
71 | config SYS_SUPPORTS_PCI | ||
72 | bool | ||
60 | 73 | ||
61 | config ARCH_MAY_HAVE_PC_FDC | 74 | config ARCH_MAY_HAVE_PC_FDC |
62 | bool | 75 | bool |
@@ -81,24 +94,146 @@ source "init/Kconfig" | |||
81 | 94 | ||
82 | menu "System type" | 95 | menu "System type" |
83 | 96 | ||
84 | config SOLUTION_ENGINE | 97 | source "arch/sh/mm/Kconfig" |
85 | bool | 98 | |
99 | menu "Processor features" | ||
86 | 100 | ||
87 | choice | 101 | choice |
88 | prompt "SuperH system type" | 102 | prompt "Endianess selection" |
89 | default SH_UNKNOWN | 103 | default CPU_LITTLE_ENDIAN |
104 | help | ||
105 | Some SuperH machines can be configured for either little or big | ||
106 | endian byte order. These modes require different kernels. | ||
107 | |||
108 | config CPU_LITTLE_ENDIAN | ||
109 | bool "Little Endian" | ||
110 | |||
111 | config CPU_BIG_ENDIAN | ||
112 | bool "Big Endian" | ||
113 | |||
114 | endchoice | ||
115 | |||
116 | config SH_FPU | ||
117 | bool "FPU support" | ||
118 | depends on CPU_SH4 | ||
119 | default y | ||
120 | help | ||
121 | Selecting this option will enable support for SH processors that | ||
122 | have FPU units (ie, SH77xx). | ||
123 | |||
124 | This option must be set in order to enable the FPU. | ||
125 | |||
126 | config SH_FPU_EMU | ||
127 | bool "FPU emulation support" | ||
128 | depends on !SH_FPU && EXPERIMENTAL | ||
129 | default n | ||
130 | help | ||
131 | Selecting this option will enable support for software FPU emulation. | ||
132 | Most SH-3 users will want to say Y here, whereas most SH-4 users will | ||
133 | want to say N. | ||
134 | |||
135 | config SH_DSP | ||
136 | bool "DSP support" | ||
137 | default y if SH4AL_DSP || !CPU_SH4 | ||
138 | default n | ||
139 | help | ||
140 | Selecting this option will enable support for SH processors that | ||
141 | have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP). | ||
142 | |||
143 | This option must be set in order to enable the DSP. | ||
144 | |||
145 | config SH_ADC | ||
146 | bool "ADC support" | ||
147 | depends on CPU_SH3 | ||
148 | default y | ||
149 | help | ||
150 | Selecting this option will allow the Linux kernel to use SH3 on-chip | ||
151 | ADC module. | ||
152 | |||
153 | If unsure, say N. | ||
154 | |||
155 | config SH_STORE_QUEUES | ||
156 | bool "Support for Store Queues" | ||
157 | depends on CPU_SH4 | ||
158 | help | ||
159 | Selecting this option will enable an in-kernel API for manipulating | ||
160 | the store queues integrated in the SH-4 processors. | ||
161 | |||
162 | config SPECULATIVE_EXECUTION | ||
163 | bool "Speculative subroutine return" | ||
164 | depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL | ||
165 | help | ||
166 | This enables support for a speculative instruction fetch for | ||
167 | subroutine return. There are various pitfalls associated with | ||
168 | this, as outlined in the SH7780 hardware manual. | ||
169 | |||
170 | If unsure, say N. | ||
171 | |||
172 | config CPU_HAS_INTEVT | ||
173 | bool | ||
174 | |||
175 | config CPU_HAS_PINT_IRQ | ||
176 | bool | ||
177 | |||
178 | config CPU_HAS_MASKREG_IRQ | ||
179 | bool | ||
180 | |||
181 | config CPU_HAS_INTC2_IRQ | ||
182 | bool | ||
183 | |||
184 | config CPU_HAS_IPR_IRQ | ||
185 | bool | ||
186 | |||
187 | config CPU_HAS_SR_RB | ||
188 | bool "CPU has SR.RB" | ||
189 | depends on CPU_SH3 || CPU_SH4 | ||
190 | default y | ||
191 | help | ||
192 | This will enable the use of SR.RB register bank usage. Processors | ||
193 | that are lacking this bit must have another method in place for | ||
194 | accomplishing what is taken care of by the banked registers. | ||
195 | |||
196 | See <file:Documentation/sh/register-banks.txt> for further | ||
197 | information on SR.RB and register banking in the kernel in general. | ||
198 | |||
199 | config CPU_HAS_PTEA | ||
200 | bool | ||
201 | |||
202 | endmenu | ||
203 | |||
204 | menu "Board support" | ||
205 | |||
206 | config SOLUTION_ENGINE | ||
207 | bool | ||
90 | 208 | ||
91 | config SH_SOLUTION_ENGINE | 209 | config SH_SOLUTION_ENGINE |
92 | bool "SolutionEngine" | 210 | bool "SolutionEngine" |
93 | select SOLUTION_ENGINE | 211 | select SOLUTION_ENGINE |
212 | depends on CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7750 | ||
94 | help | 213 | help |
95 | Select SolutionEngine if configuring for a Hitachi SH7709 | 214 | Select SolutionEngine if configuring for a Hitachi SH7709 |
96 | or SH7750 evaluation board. | 215 | or SH7750 evaluation board. |
97 | 216 | ||
217 | config SH_7206_SOLUTION_ENGINE | ||
218 | bool "SolutionEngine7206" | ||
219 | select SOLUTION_ENGINE | ||
220 | depends on CPU_SUBTYPE_SH7206 | ||
221 | help | ||
222 | Select 7206 SolutionEngine if configuring for a Hitachi SH7206 | ||
223 | evaluation board. | ||
224 | |||
225 | config SH_7619_SOLUTION_ENGINE | ||
226 | bool "SolutionEngine7619" | ||
227 | select SOLUTION_ENGINE | ||
228 | depends on CPU_SUBTYPE_SH7619 | ||
229 | help | ||
230 | Select 7619 SolutionEngine if configuring for a Hitachi SH7619 | ||
231 | evaluation board. | ||
232 | |||
98 | config SH_7722_SOLUTION_ENGINE | 233 | config SH_7722_SOLUTION_ENGINE |
99 | bool "SolutionEngine7722" | 234 | bool "SolutionEngine7722" |
100 | select SOLUTION_ENGINE | 235 | select SOLUTION_ENGINE |
101 | select CPU_SUBTYPE_SH7722 | 236 | depends on CPU_SUBTYPE_SH7722 |
102 | help | 237 | help |
103 | Select 7722 SolutionEngine if configuring for a Hitachi SH772 | 238 | Select 7722 SolutionEngine if configuring for a Hitachi SH772 |
104 | evaluation board. | 239 | evaluation board. |
@@ -106,7 +241,7 @@ config SH_7722_SOLUTION_ENGINE | |||
106 | config SH_7751_SOLUTION_ENGINE | 241 | config SH_7751_SOLUTION_ENGINE |
107 | bool "SolutionEngine7751" | 242 | bool "SolutionEngine7751" |
108 | select SOLUTION_ENGINE | 243 | select SOLUTION_ENGINE |
109 | select CPU_SUBTYPE_SH7751 | 244 | depends on CPU_SUBTYPE_SH7751 |
110 | help | 245 | help |
111 | Select 7751 SolutionEngine if configuring for a Hitachi SH7751 | 246 | Select 7751 SolutionEngine if configuring for a Hitachi SH7751 |
112 | evaluation board. | 247 | evaluation board. |
@@ -114,7 +249,8 @@ config SH_7751_SOLUTION_ENGINE | |||
114 | config SH_7780_SOLUTION_ENGINE | 249 | config SH_7780_SOLUTION_ENGINE |
115 | bool "SolutionEngine7780" | 250 | bool "SolutionEngine7780" |
116 | select SOLUTION_ENGINE | 251 | select SOLUTION_ENGINE |
117 | select CPU_SUBTYPE_SH7780 | 252 | select SYS_SUPPORTS_PCI |
253 | depends on CPU_SUBTYPE_SH7780 | ||
118 | help | 254 | help |
119 | Select 7780 SolutionEngine if configuring for a Renesas SH7780 | 255 | Select 7780 SolutionEngine if configuring for a Renesas SH7780 |
120 | evaluation board. | 256 | evaluation board. |
@@ -122,7 +258,7 @@ config SH_7780_SOLUTION_ENGINE | |||
122 | config SH_7300_SOLUTION_ENGINE | 258 | config SH_7300_SOLUTION_ENGINE |
123 | bool "SolutionEngine7300" | 259 | bool "SolutionEngine7300" |
124 | select SOLUTION_ENGINE | 260 | select SOLUTION_ENGINE |
125 | select CPU_SUBTYPE_SH7300 | 261 | depends on CPU_SUBTYPE_SH7300 |
126 | help | 262 | help |
127 | Select 7300 SolutionEngine if configuring for a Hitachi | 263 | Select 7300 SolutionEngine if configuring for a Hitachi |
128 | SH7300(SH-Mobile V) evaluation board. | 264 | SH7300(SH-Mobile V) evaluation board. |
@@ -130,22 +266,22 @@ config SH_7300_SOLUTION_ENGINE | |||
130 | config SH_7343_SOLUTION_ENGINE | 266 | config SH_7343_SOLUTION_ENGINE |
131 | bool "SolutionEngine7343" | 267 | bool "SolutionEngine7343" |
132 | select SOLUTION_ENGINE | 268 | select SOLUTION_ENGINE |
133 | select CPU_SUBTYPE_SH7343 | 269 | depends on CPU_SUBTYPE_SH7343 |
134 | help | 270 | help |
135 | Select 7343 SolutionEngine if configuring for a Hitachi | 271 | Select 7343 SolutionEngine if configuring for a Hitachi |
136 | SH7343 (SH-Mobile 3AS) evaluation board. | 272 | SH7343 (SH-Mobile 3AS) evaluation board. |
137 | 273 | ||
138 | config SH_73180_SOLUTION_ENGINE | 274 | config SH_73180_SOLUTION_ENGINE |
139 | bool "SolutionEngine73180" | 275 | bool "SolutionEngine73180" |
140 | select SOLUTION_ENGINE | 276 | select SOLUTION_ENGINE |
141 | select CPU_SUBTYPE_SH73180 | 277 | depends on CPU_SUBTYPE_SH73180 |
142 | help | 278 | help |
143 | Select 73180 SolutionEngine if configuring for a Hitachi | 279 | Select 73180 SolutionEngine if configuring for a Hitachi |
144 | SH73180(SH-Mobile 3) evaluation board. | 280 | SH73180(SH-Mobile 3) evaluation board. |
145 | 281 | ||
146 | config SH_7751_SYSTEMH | 282 | config SH_7751_SYSTEMH |
147 | bool "SystemH7751R" | 283 | bool "SystemH7751R" |
148 | select CPU_SUBTYPE_SH7751R | 284 | depends on CPU_SUBTYPE_SH7751R |
149 | help | 285 | help |
150 | Select SystemH if you are configuring for a Renesas SystemH | 286 | Select SystemH if you are configuring for a Renesas SystemH |
151 | 7751R evaluation board. | 287 | 7751R evaluation board. |
@@ -153,20 +289,17 @@ config SH_7751_SYSTEMH | |||
153 | config SH_HP6XX | 289 | config SH_HP6XX |
154 | bool "HP6XX" | 290 | bool "HP6XX" |
155 | select SYS_SUPPORTS_APM_EMULATION | 291 | select SYS_SUPPORTS_APM_EMULATION |
292 | select HD6446X_SERIES | ||
293 | depends on CPU_SUBTYPE_SH7709 | ||
156 | help | 294 | help |
157 | Select HP6XX if configuring for a HP jornada HP6xx. | 295 | Select HP6XX if configuring for a HP jornada HP6xx. |
158 | More information (hardware only) at | 296 | More information (hardware only) at |
159 | <http://www.hp.com/jornada/>. | 297 | <http://www.hp.com/jornada/>. |
160 | 298 | ||
161 | config SH_SATURN | ||
162 | bool "Saturn" | ||
163 | select CPU_SUBTYPE_SH7604 | ||
164 | help | ||
165 | Select Saturn if configuring for a SEGA Saturn. | ||
166 | |||
167 | config SH_DREAMCAST | 299 | config SH_DREAMCAST |
168 | bool "Dreamcast" | 300 | bool "Dreamcast" |
169 | select CPU_SUBTYPE_SH7091 | 301 | select SYS_SUPPORTS_PCI |
302 | depends on CPU_SUBTYPE_SH7091 | ||
170 | help | 303 | help |
171 | Select Dreamcast if configuring for a SEGA Dreamcast. | 304 | Select Dreamcast if configuring for a SEGA Dreamcast. |
172 | More information at | 305 | More information at |
@@ -175,6 +308,7 @@ config SH_DREAMCAST | |||
175 | 308 | ||
176 | config SH_MPC1211 | 309 | config SH_MPC1211 |
177 | bool "Interface MPC1211" | 310 | bool "Interface MPC1211" |
311 | depends on CPU_SUBTYPE_SH7751 && BROKEN | ||
178 | help | 312 | help |
179 | CTP/PCI-SH02 is a CPU module computer that is produced | 313 | CTP/PCI-SH02 is a CPU module computer that is produced |
180 | by Interface Corporation. | 314 | by Interface Corporation. |
@@ -182,6 +316,8 @@ config SH_MPC1211 | |||
182 | 316 | ||
183 | config SH_SH03 | 317 | config SH_SH03 |
184 | bool "Interface CTP/PCI-SH03" | 318 | bool "Interface CTP/PCI-SH03" |
319 | depends on CPU_SUBTYPE_SH7751 && BROKEN | ||
320 | select SYS_SUPPORTS_PCI | ||
185 | help | 321 | help |
186 | CTP/PCI-SH03 is a CPU module computer that is produced | 322 | CTP/PCI-SH03 is a CPU module computer that is produced |
187 | by Interface Corporation. | 323 | by Interface Corporation. |
@@ -189,7 +325,8 @@ config SH_SH03 | |||
189 | 325 | ||
190 | config SH_SECUREEDGE5410 | 326 | config SH_SECUREEDGE5410 |
191 | bool "SecureEdge5410" | 327 | bool "SecureEdge5410" |
192 | select CPU_SUBTYPE_SH7751R | 328 | depends on CPU_SUBTYPE_SH7751R |
329 | select SYS_SUPPORTS_PCI | ||
193 | help | 330 | help |
194 | Select SecureEdge5410 if configuring for a SnapGear SH board. | 331 | Select SecureEdge5410 if configuring for a SnapGear SH board. |
195 | This includes both the OEM SecureEdge products as well as the | 332 | This includes both the OEM SecureEdge products as well as the |
@@ -197,246 +334,76 @@ config SH_SECUREEDGE5410 | |||
197 | 334 | ||
198 | config SH_HS7751RVOIP | 335 | config SH_HS7751RVOIP |
199 | bool "HS7751RVOIP" | 336 | bool "HS7751RVOIP" |
200 | select CPU_SUBTYPE_SH7751R | 337 | depends on CPU_SUBTYPE_SH7751R |
201 | help | 338 | help |
202 | Select HS7751RVOIP if configuring for a Renesas Technology | 339 | Select HS7751RVOIP if configuring for a Renesas Technology |
203 | Sales VoIP board. | 340 | Sales VoIP board. |
204 | 341 | ||
205 | config SH_7710VOIPGW | 342 | config SH_7710VOIPGW |
206 | bool "SH7710-VOIP-GW" | 343 | bool "SH7710-VOIP-GW" |
207 | select CPU_SUBTYPE_SH7710 | 344 | depends on CPU_SUBTYPE_SH7710 |
208 | help | 345 | help |
209 | Select this option to build a kernel for the SH7710 based | 346 | Select this option to build a kernel for the SH7710 based |
210 | VOIP GW. | 347 | VOIP GW. |
211 | 348 | ||
212 | config SH_RTS7751R2D | 349 | config SH_RTS7751R2D |
213 | bool "RTS7751R2D" | 350 | bool "RTS7751R2D" |
214 | select CPU_SUBTYPE_SH7751R | 351 | depends on CPU_SUBTYPE_SH7751R |
352 | select SYS_SUPPORTS_PCI | ||
215 | help | 353 | help |
216 | Select RTS7751R2D if configuring for a Renesas Technology | 354 | Select RTS7751R2D if configuring for a Renesas Technology |
217 | Sales SH-Graphics board. | 355 | Sales SH-Graphics board. |
218 | 356 | ||
219 | config SH_HIGHLANDER | 357 | config SH_HIGHLANDER |
220 | bool "Highlander" | 358 | bool "Highlander" |
359 | depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 | ||
360 | select SYS_SUPPORTS_PCI | ||
221 | 361 | ||
222 | config SH_EDOSK7705 | 362 | config SH_EDOSK7705 |
223 | bool "EDOSK7705" | 363 | bool "EDOSK7705" |
224 | select CPU_SUBTYPE_SH7705 | 364 | depends on CPU_SUBTYPE_SH7705 |
225 | 365 | ||
226 | config SH_SH4202_MICRODEV | 366 | config SH_SH4202_MICRODEV |
227 | bool "SH4-202 MicroDev" | 367 | bool "SH4-202 MicroDev" |
228 | select CPU_SUBTYPE_SH4_202 | 368 | depends on CPU_SUBTYPE_SH4_202 |
229 | help | 369 | help |
230 | Select SH4-202 MicroDev if configuring for a SuperH MicroDev board | 370 | Select SH4-202 MicroDev if configuring for a SuperH MicroDev board |
231 | with an SH4-202 CPU. | 371 | with an SH4-202 CPU. |
232 | 372 | ||
233 | config SH_LANDISK | 373 | config SH_LANDISK |
234 | bool "LANDISK" | 374 | bool "LANDISK" |
235 | select CPU_SUBTYPE_SH7751R | 375 | depends on CPU_SUBTYPE_SH7751R |
376 | select SYS_SUPPORTS_PCI | ||
236 | help | 377 | help |
237 | I-O DATA DEVICE, INC. "LANDISK Series" support. | 378 | I-O DATA DEVICE, INC. "LANDISK Series" support. |
238 | 379 | ||
239 | config SH_TITAN | 380 | config SH_TITAN |
240 | bool "TITAN" | 381 | bool "TITAN" |
241 | select CPU_SUBTYPE_SH7751R | 382 | depends on CPU_SUBTYPE_SH7751R |
383 | select SYS_SUPPORTS_PCI | ||
242 | help | 384 | help |
243 | Select Titan if you are configuring for a Nimble Microsystems | 385 | Select Titan if you are configuring for a Nimble Microsystems |
244 | NetEngine NP51R. | 386 | NetEngine NP51R. |
245 | 387 | ||
246 | config SH_SHMIN | 388 | config SH_SHMIN |
247 | bool "SHMIN" | 389 | bool "SHMIN" |
248 | select CPU_SUBTYPE_SH7706 | 390 | depends on CPU_SUBTYPE_SH7706 |
249 | help | 391 | help |
250 | Select SHMIN if configuring for the SHMIN board. | 392 | Select SHMIN if configuring for the SHMIN board. |
251 | 393 | ||
252 | config SH_7206_SOLUTION_ENGINE | ||
253 | bool "SolutionEngine7206" | ||
254 | select CPU_SUBTYPE_SH7206 | ||
255 | help | ||
256 | Select 7206 SolutionEngine if configuring for a Hitachi SH7206 | ||
257 | evaluation board. | ||
258 | |||
259 | config SH_7619_SOLUTION_ENGINE | ||
260 | bool "SolutionEngine7619" | ||
261 | select CPU_SUBTYPE_SH7619 | ||
262 | help | ||
263 | Select 7619 SolutionEngine if configuring for a Hitachi SH7619 | ||
264 | evaluation board. | ||
265 | |||
266 | config SH_LBOX_RE2 | 394 | config SH_LBOX_RE2 |
267 | bool "L-BOX RE2" | 395 | bool "L-BOX RE2" |
268 | select CPU_SUBTYPE_SH7751R | 396 | depends on CPU_SUBTYPE_SH7751R |
397 | select SYS_SUPPORTS_PCI | ||
269 | help | 398 | help |
270 | Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2. | 399 | Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2. |
271 | 400 | ||
272 | config SH_UNKNOWN | 401 | endmenu |
273 | bool "BareCPU" | ||
274 | help | ||
275 | "Bare CPU" aka "unknown" means an SH-based system which is not one | ||
276 | of the specific ones mentioned above, which means you need to enter | ||
277 | all sorts of stuff like CONFIG_MEMORY_START because the config | ||
278 | system doesn't already know what it is. You get a machine vector | ||
279 | without any platform-specific code in it, so things like the RTC may | ||
280 | not work. | ||
281 | |||
282 | This option is for the early stages of porting to a new machine. | ||
283 | |||
284 | endchoice | ||
285 | 402 | ||
286 | source "arch/sh/boards/renesas/hs7751rvoip/Kconfig" | 403 | source "arch/sh/boards/renesas/hs7751rvoip/Kconfig" |
287 | source "arch/sh/boards/renesas/rts7751r2d/Kconfig" | 404 | source "arch/sh/boards/renesas/rts7751r2d/Kconfig" |
288 | source "arch/sh/boards/renesas/r7780rp/Kconfig" | 405 | source "arch/sh/boards/renesas/r7780rp/Kconfig" |
289 | 406 | ||
290 | source "arch/sh/mm/Kconfig" | ||
291 | |||
292 | config CF_ENABLER | ||
293 | bool "Compact Flash Enabler support" | ||
294 | depends on SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_SH03 | ||
295 | ---help--- | ||
296 | Compact Flash is a small, removable mass storage device introduced | ||
297 | in 1994 originally as a PCMCIA device. If you say `Y' here, you | ||
298 | compile in support for Compact Flash devices directly connected to | ||
299 | a SuperH processor. A Compact Flash FAQ is available at | ||
300 | <http://www.compactflash.org/faqs/faq.htm>. | ||
301 | |||
302 | If your board has "Directly Connected" CompactFlash at area 5 or 6, | ||
303 | you may want to enable this option. Then, you can use CF as | ||
304 | primary IDE drive (only tested for SanDisk). | ||
305 | |||
306 | If in doubt, select 'N'. | ||
307 | |||
308 | choice | ||
309 | prompt "Compact Flash Connection Area" | ||
310 | depends on CF_ENABLER | ||
311 | default CF_AREA6 | ||
312 | |||
313 | config CF_AREA5 | ||
314 | bool "Area5" | ||
315 | help | ||
316 | If your board has "Directly Connected" CompactFlash, You should | ||
317 | select the area where your CF is connected to. | ||
318 | |||
319 | - "Area5" if CompactFlash is connected to Area 5 (0x14000000) | ||
320 | - "Area6" if it is connected to Area 6 (0x18000000) | ||
321 | |||
322 | "Area6" will work for most boards. | ||
323 | |||
324 | config CF_AREA6 | ||
325 | bool "Area6" | ||
326 | |||
327 | endchoice | ||
328 | |||
329 | config CF_BASE_ADDR | ||
330 | hex | ||
331 | depends on CF_ENABLER | ||
332 | default "0xb8000000" if CF_AREA6 | ||
333 | default "0xb4000000" if CF_AREA5 | ||
334 | |||
335 | menu "Processor features" | ||
336 | |||
337 | choice | ||
338 | prompt "Endianess selection" | ||
339 | default CPU_LITTLE_ENDIAN | ||
340 | help | ||
341 | Some SuperH machines can be configured for either little or big | ||
342 | endian byte order. These modes require different kernels. | ||
343 | |||
344 | config CPU_LITTLE_ENDIAN | ||
345 | bool "Little Endian" | ||
346 | |||
347 | config CPU_BIG_ENDIAN | ||
348 | bool "Big Endian" | ||
349 | |||
350 | endchoice | ||
351 | |||
352 | config SH_FPU | ||
353 | bool "FPU support" | ||
354 | depends on !CPU_SH3 | ||
355 | default y | ||
356 | help | ||
357 | Selecting this option will enable support for SH processors that | ||
358 | have FPU units (ie, SH77xx). | ||
359 | |||
360 | This option must be set in order to enable the FPU. | ||
361 | |||
362 | config SH_FPU_EMU | ||
363 | bool "FPU emulation support" | ||
364 | depends on !SH_FPU && EXPERIMENTAL | ||
365 | default n | ||
366 | help | ||
367 | Selecting this option will enable support for software FPU emulation. | ||
368 | Most SH-3 users will want to say Y here, whereas most SH-4 users will | ||
369 | want to say N. | ||
370 | |||
371 | config SH_DSP | ||
372 | bool "DSP support" | ||
373 | default y if SH4AL_DSP || !CPU_SH4 | ||
374 | default n | ||
375 | help | ||
376 | Selecting this option will enable support for SH processors that | ||
377 | have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP). | ||
378 | |||
379 | This option must be set in order to enable the DSP. | ||
380 | |||
381 | config SH_ADC | ||
382 | bool "ADC support" | ||
383 | depends on CPU_SH3 | ||
384 | default y | ||
385 | help | ||
386 | Selecting this option will allow the Linux kernel to use SH3 on-chip | ||
387 | ADC module. | ||
388 | |||
389 | If unsure, say N. | ||
390 | |||
391 | config SH_STORE_QUEUES | ||
392 | bool "Support for Store Queues" | ||
393 | depends on CPU_SH4 | ||
394 | help | ||
395 | Selecting this option will enable an in-kernel API for manipulating | ||
396 | the store queues integrated in the SH-4 processors. | ||
397 | |||
398 | config SPECULATIVE_EXECUTION | ||
399 | bool "Speculative subroutine return" | ||
400 | depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL | ||
401 | help | ||
402 | This enables support for a speculative instruction fetch for | ||
403 | subroutine return. There are various pitfalls associated with | ||
404 | this, as outlined in the SH7780 hardware manual. | ||
405 | |||
406 | If unsure, say N. | ||
407 | |||
408 | config CPU_HAS_INTEVT | ||
409 | bool | ||
410 | |||
411 | config CPU_HAS_PINT_IRQ | ||
412 | bool | ||
413 | |||
414 | config CPU_HAS_MASKREG_IRQ | ||
415 | bool | ||
416 | |||
417 | config CPU_HAS_INTC2_IRQ | ||
418 | bool | ||
419 | |||
420 | config CPU_HAS_IPR_IRQ | ||
421 | bool | ||
422 | |||
423 | config CPU_HAS_SR_RB | ||
424 | bool "CPU has SR.RB" | ||
425 | depends on CPU_SH3 || CPU_SH4 | ||
426 | default y | ||
427 | help | ||
428 | This will enable the use of SR.RB register bank usage. Processors | ||
429 | that are lacking this bit must have another method in place for | ||
430 | accomplishing what is taken care of by the banked registers. | ||
431 | |||
432 | See <file:Documentation/sh/register-banks.txt> for further | ||
433 | information on SR.RB and register banking in the kernel in general. | ||
434 | |||
435 | config CPU_HAS_PTEA | ||
436 | bool | ||
437 | |||
438 | endmenu | ||
439 | |||
440 | menu "Timer and clock configuration" | 407 | menu "Timer and clock configuration" |
441 | 408 | ||
442 | config SH_TMU | 409 | config SH_TMU |
@@ -473,13 +440,13 @@ config SH_PCLK_FREQ | |||
473 | int "Peripheral clock frequency (in Hz)" | 440 | int "Peripheral clock frequency (in Hz)" |
474 | default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343 | 441 | default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343 |
475 | default "31250000" if CPU_SUBTYPE_SH7619 | 442 | default "31250000" if CPU_SUBTYPE_SH7619 |
443 | default "32000000" if CPU_SUBTYPE_SH7722 | ||
476 | default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \ | 444 | default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \ |
477 | CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \ | 445 | CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \ |
478 | CPU_SUBTYPE_SH7206 | 446 | CPU_SUBTYPE_SH7206 |
479 | default "50000000" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7780 || \ | 447 | default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R |
480 | CPU_SUBTYPE_SH7785 | ||
481 | default "60000000" if CPU_SUBTYPE_SH7751 | ||
482 | default "66000000" if CPU_SUBTYPE_SH4_202 | 448 | default "66000000" if CPU_SUBTYPE_SH4_202 |
449 | default "50000000" | ||
483 | help | 450 | help |
484 | This option is used to specify the peripheral clock frequency. | 451 | This option is used to specify the peripheral clock frequency. |
485 | This is necessary for determining the reference clock value on | 452 | This is necessary for determining the reference clock value on |
@@ -487,8 +454,10 @@ config SH_PCLK_FREQ | |||
487 | 454 | ||
488 | config SH_CLK_MD | 455 | config SH_CLK_MD |
489 | int "CPU Mode Pin Setting" | 456 | int "CPU Mode Pin Setting" |
490 | default 0 | ||
491 | depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206 | 457 | depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206 |
458 | default 6 if CPU_SUBTYPE_SH7206 | ||
459 | default 5 if CPU_SUBTYPE_SH7619 | ||
460 | default 0 | ||
492 | help | 461 | help |
493 | MD2 - MD0 pin setting. | 462 | MD2 - MD0 pin setting. |
494 | 463 | ||
@@ -560,6 +529,7 @@ config CRASH_DUMP | |||
560 | 529 | ||
561 | config SMP | 530 | config SMP |
562 | bool "Symmetric multi-processing support" | 531 | bool "Symmetric multi-processing support" |
532 | depends on SYS_SUPPORTS_SMP | ||
563 | ---help--- | 533 | ---help--- |
564 | This enables support for systems with more than one CPU. If you have | 534 | This enables support for systems with more than one CPU. If you have |
565 | a system with only one CPU, like most personal computers, say N. If | 535 | a system with only one CPU, like most personal computers, say N. If |
@@ -584,6 +554,7 @@ config NR_CPUS | |||
584 | int "Maximum number of CPUs (2-32)" | 554 | int "Maximum number of CPUs (2-32)" |
585 | range 2 32 | 555 | range 2 32 |
586 | depends on SMP | 556 | depends on SMP |
557 | default "4" if CPU_SHX3 | ||
587 | default "2" | 558 | default "2" |
588 | help | 559 | help |
589 | This allows you to specify the maximum number of CPUs which this | 560 | This allows you to specify the maximum number of CPUs which this |
@@ -623,6 +594,7 @@ config BOOT_LINK_OFFSET | |||
623 | 594 | ||
624 | config UBC_WAKEUP | 595 | config UBC_WAKEUP |
625 | bool "Wakeup UBC on startup" | 596 | bool "Wakeup UBC on startup" |
597 | depends on CPU_SH4 | ||
626 | help | 598 | help |
627 | Selecting this option will wakeup the User Break Controller (UBC) on | 599 | Selecting this option will wakeup the User Break Controller (UBC) on |
628 | startup. Although the UBC is left in an awake state when the processor | 600 | startup. Although the UBC is left in an awake state when the processor |
@@ -651,8 +623,8 @@ menu "Bus options" | |||
651 | # we're not using PCMCIA, so we make it dependent on | 623 | # we're not using PCMCIA, so we make it dependent on |
652 | # PCMCIA outright. -- PFM. | 624 | # PCMCIA outright. -- PFM. |
653 | config ISA | 625 | config ISA |
654 | bool | 626 | def_bool y |
655 | default y if PCMCIA | 627 | depends on PCMCIA && HD6446X_SERIES |
656 | help | 628 | help |
657 | Find out whether you have ISA slots on your motherboard. ISA is the | 629 | Find out whether you have ISA slots on your motherboard. ISA is the |
658 | name of a bus system, i.e. the way the CPU talks to the other stuff | 630 | name of a bus system, i.e. the way the CPU talks to the other stuff |
@@ -690,6 +662,49 @@ config SUPERHYWAY | |||
690 | tristate "SuperHyway Bus support" | 662 | tristate "SuperHyway Bus support" |
691 | depends on CPU_SUBTYPE_SH4_202 | 663 | depends on CPU_SUBTYPE_SH4_202 |
692 | 664 | ||
665 | config CF_ENABLER | ||
666 | bool "Compact Flash Enabler support" | ||
667 | depends on SOLUTION_ENGINE || SH_SH03 | ||
668 | ---help--- | ||
669 | Compact Flash is a small, removable mass storage device introduced | ||
670 | in 1994 originally as a PCMCIA device. If you say `Y' here, you | ||
671 | compile in support for Compact Flash devices directly connected to | ||
672 | a SuperH processor. A Compact Flash FAQ is available at | ||
673 | <http://www.compactflash.org/faqs/faq.htm>. | ||
674 | |||
675 | If your board has "Directly Connected" CompactFlash at area 5 or 6, | ||
676 | you may want to enable this option. Then, you can use CF as | ||
677 | primary IDE drive (only tested for SanDisk). | ||
678 | |||
679 | If in doubt, select 'N'. | ||
680 | |||
681 | choice | ||
682 | prompt "Compact Flash Connection Area" | ||
683 | depends on CF_ENABLER | ||
684 | default CF_AREA6 | ||
685 | |||
686 | config CF_AREA5 | ||
687 | bool "Area5" | ||
688 | help | ||
689 | If your board has "Directly Connected" CompactFlash, You should | ||
690 | select the area where your CF is connected to. | ||
691 | |||
692 | - "Area5" if CompactFlash is connected to Area 5 (0x14000000) | ||
693 | - "Area6" if it is connected to Area 6 (0x18000000) | ||
694 | |||
695 | "Area6" will work for most boards. | ||
696 | |||
697 | config CF_AREA6 | ||
698 | bool "Area6" | ||
699 | |||
700 | endchoice | ||
701 | |||
702 | config CF_BASE_ADDR | ||
703 | hex | ||
704 | depends on CF_ENABLER | ||
705 | default "0xb8000000" if CF_AREA6 | ||
706 | default "0xb4000000" if CF_AREA5 | ||
707 | |||
693 | source "arch/sh/drivers/pci/Kconfig" | 708 | source "arch/sh/drivers/pci/Kconfig" |
694 | 709 | ||
695 | source "drivers/pci/Kconfig" | 710 | source "drivers/pci/Kconfig" |
@@ -707,7 +722,7 @@ source "fs/Kconfig.binfmt" | |||
707 | endmenu | 722 | endmenu |
708 | 723 | ||
709 | menu "Power management options (EXPERIMENTAL)" | 724 | menu "Power management options (EXPERIMENTAL)" |
710 | depends on EXPERIMENTAL | 725 | depends on EXPERIMENTAL && SYS_SUPPORTS_PM |
711 | 726 | ||
712 | source kernel/power/Kconfig | 727 | source kernel/power/Kconfig |
713 | 728 | ||
diff --git a/arch/sh/Kconfig.debug b/arch/sh/Kconfig.debug index b56307294b67..52f6a99c8ecc 100644 --- a/arch/sh/Kconfig.debug +++ b/arch/sh/Kconfig.debug | |||
@@ -52,6 +52,10 @@ config EARLY_PRINTK | |||
52 | select both the EARLY_SCIF_CONSOLE and SH_STANDARD_BIOS, using | 52 | select both the EARLY_SCIF_CONSOLE and SH_STANDARD_BIOS, using |
53 | the kernel command line option to toggle back and forth. | 53 | the kernel command line option to toggle back and forth. |
54 | 54 | ||
55 | config DEBUG_BOOTMEM | ||
56 | depends on DEBUG_KERNEL | ||
57 | bool "Debug BOOTMEM initialization" | ||
58 | |||
55 | config DEBUG_STACKOVERFLOW | 59 | config DEBUG_STACKOVERFLOW |
56 | bool "Check for stack overflows" | 60 | bool "Check for stack overflows" |
57 | depends on DEBUG_KERNEL | 61 | depends on DEBUG_KERNEL |
@@ -82,6 +86,7 @@ config SH_KGDB | |||
82 | bool "Include KGDB kernel debugger" | 86 | bool "Include KGDB kernel debugger" |
83 | select FRAME_POINTER | 87 | select FRAME_POINTER |
84 | select DEBUG_INFO | 88 | select DEBUG_INFO |
89 | depends on CPU_SH3 || CPU_SH4 | ||
85 | help | 90 | help |
86 | Include in-kernel hooks for kgdb, the Linux kernel source level | 91 | Include in-kernel hooks for kgdb, the Linux kernel source level |
87 | debugger. See <http://kgdb.sourceforge.net/> for more information. | 92 | debugger. See <http://kgdb.sourceforge.net/> for more information. |
diff --git a/arch/sh/Makefile b/arch/sh/Makefile index 883b03b040c4..77fecc62a056 100644 --- a/arch/sh/Makefile +++ b/arch/sh/Makefile | |||
@@ -34,20 +34,20 @@ isa-y := $(isa-y)-nofpu | |||
34 | endif | 34 | endif |
35 | endif | 35 | endif |
36 | 36 | ||
37 | cflags-$(CONFIG_CPU_SH2) := -m2 | 37 | cflags-$(CONFIG_CPU_SH2) := $(call cc-option,-m2,) |
38 | cflags-$(CONFIG_CPU_SH2A) := -m2a $(call cc-option,-m2a-nofpu,) | 38 | cflags-$(CONFIG_CPU_SH2A) += $(call cc-option,-m2a,) \ |
39 | cflags-$(CONFIG_CPU_SH3) := -m3 | 39 | $(call cc-option,-m2a-nofpu,) |
40 | cflags-$(CONFIG_CPU_SH4) := -m4 \ | 40 | cflags-$(CONFIG_CPU_SH3) := $(call cc-option,-m3,) |
41 | cflags-$(CONFIG_CPU_SH4) := $(call cc-option,-m4,) \ | ||
41 | $(call cc-option,-mno-implicit-fp,-m4-nofpu) | 42 | $(call cc-option,-mno-implicit-fp,-m4-nofpu) |
42 | cflags-$(CONFIG_CPU_SH4A) := $(call cc-option,-m4a,) $(call cc-option,-m4a-nofpu,) | 43 | cflags-$(CONFIG_CPU_SH4A) += $(call cc-option,-m4a,) \ |
44 | $(call cc-option,-m4a-nofpu,) | ||
43 | 45 | ||
44 | cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb | 46 | cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb |
45 | cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml | 47 | cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml |
46 | 48 | ||
47 | cflags-y += $(call as-option,-Wa$(comma)-isa=$(isa-y),) -ffreestanding | 49 | cflags-y += $(call as-option,-Wa$(comma)-isa=$(isa-y),) -ffreestanding |
48 | 50 | ||
49 | cflags-$(CONFIG_SH_DSP) += -Wa,-dsp | ||
50 | |||
51 | cflags-$(CONFIG_MORE_COMPILE_OPTIONS) += \ | 51 | cflags-$(CONFIG_MORE_COMPILE_OPTIONS) += \ |
52 | $(shell echo $(CONFIG_COMPILE_OPTIONS) | sed -e 's/"//g') | 52 | $(shell echo $(CONFIG_COMPILE_OPTIONS) | sed -e 's/"//g') |
53 | 53 | ||
@@ -87,39 +87,37 @@ core-y += arch/sh/kernel/ arch/sh/mm/ | |||
87 | core-$(CONFIG_SH_FPU_EMU) += arch/sh/math-emu/ | 87 | core-$(CONFIG_SH_FPU_EMU) += arch/sh/math-emu/ |
88 | 88 | ||
89 | # Boards | 89 | # Boards |
90 | machdir-$(CONFIG_SH_SOLUTION_ENGINE) := se/770x | 90 | machdir-$(CONFIG_SH_SOLUTION_ENGINE) += se/770x |
91 | machdir-$(CONFIG_SH_7722_SOLUTION_ENGINE) := se/7722 | 91 | machdir-$(CONFIG_SH_7722_SOLUTION_ENGINE) += se/7722 |
92 | machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) := se/7751 | 92 | machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) += se/7751 |
93 | machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) := se/7780 | 93 | machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) += se/7780 |
94 | machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) := se/7300 | 94 | machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) += se/7300 |
95 | machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE) := se/7343 | 95 | machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE) += se/7343 |
96 | machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE) := se/73180 | 96 | machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE) += se/73180 |
97 | machdir-$(CONFIG_SH_HP6XX) := hp6xx | 97 | machdir-$(CONFIG_SH_HP6XX) += hp6xx |
98 | machdir-$(CONFIG_SH_SATURN) := saturn | 98 | machdir-$(CONFIG_SH_DREAMCAST) += dreamcast |
99 | machdir-$(CONFIG_SH_DREAMCAST) := dreamcast | 99 | machdir-$(CONFIG_SH_MPC1211) += mpc1211 |
100 | machdir-$(CONFIG_SH_MPC1211) := mpc1211 | 100 | machdir-$(CONFIG_SH_SH03) += sh03 |
101 | machdir-$(CONFIG_SH_SH03) := sh03 | 101 | machdir-$(CONFIG_SH_SECUREEDGE5410) += snapgear |
102 | machdir-$(CONFIG_SH_SECUREEDGE5410) := snapgear | 102 | machdir-$(CONFIG_SH_HS7751RVOIP) += renesas/hs7751rvoip |
103 | machdir-$(CONFIG_SH_HS7751RVOIP) := renesas/hs7751rvoip | 103 | machdir-$(CONFIG_SH_RTS7751R2D) += renesas/rts7751r2d |
104 | machdir-$(CONFIG_SH_RTS7751R2D) := renesas/rts7751r2d | 104 | machdir-$(CONFIG_SH_7751_SYSTEMH) += renesas/systemh |
105 | machdir-$(CONFIG_SH_7751_SYSTEMH) := renesas/systemh | 105 | machdir-$(CONFIG_SH_EDOSK7705) += renesas/edosk7705 |
106 | machdir-$(CONFIG_SH_EDOSK7705) := renesas/edosk7705 | 106 | machdir-$(CONFIG_SH_HIGHLANDER) += renesas/r7780rp |
107 | machdir-$(CONFIG_SH_HIGHLANDER) := renesas/r7780rp | 107 | machdir-$(CONFIG_SH_7710VOIPGW) += renesas/sh7710voipgw |
108 | machdir-$(CONFIG_SH_7710VOIPGW) := renesas/sh7710voipgw | 108 | machdir-$(CONFIG_SH_SH4202_MICRODEV) += superh/microdev |
109 | machdir-$(CONFIG_SH_SH4202_MICRODEV) := superh/microdev | 109 | machdir-$(CONFIG_SH_LANDISK) += landisk |
110 | machdir-$(CONFIG_SH_LANDISK) := landisk | 110 | machdir-$(CONFIG_SH_TITAN) += titan |
111 | machdir-$(CONFIG_SH_TITAN) := titan | 111 | machdir-$(CONFIG_SH_SHMIN) += shmin |
112 | machdir-$(CONFIG_SH_SHMIN) := shmin | 112 | machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE) += se/7206 |
113 | machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE) := se/7206 | 113 | machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE) += se/7619 |
114 | machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE) := se/7619 | 114 | machdir-$(CONFIG_SH_LBOX_RE2) += lboxre2 |
115 | machdir-$(CONFIG_SH_LBOX_RE2) := lboxre2 | 115 | |
116 | machdir-$(CONFIG_SH_UNKNOWN) := unknown | 116 | incdir-y := $(notdir $(machdir-y)) |
117 | |||
118 | incdir-y := $(notdir $(machdir-y)) | ||
119 | incdir-$(CONFIG_SH_HP6XX) := hp6xx | ||
120 | 117 | ||
121 | ifneq ($(machdir-y),) | 118 | ifneq ($(machdir-y),) |
122 | core-y += arch/sh/boards/$(machdir-y)/ | 119 | core-y += $(addprefix arch/sh/boards/, \ |
120 | $(filter-out ., $(patsubst %,%/,$(machdir-y)))) | ||
123 | endif | 121 | endif |
124 | 122 | ||
125 | # Companion chips | 123 | # Companion chips |
@@ -157,19 +155,31 @@ include/asm-sh/.cpu: $(wildcard include/config/cpu/*.h) \ | |||
157 | # Most boards have their own mach directories. For the ones that | 155 | # Most boards have their own mach directories. For the ones that |
158 | # don't, just reference the parent directory so the semantics are | 156 | # don't, just reference the parent directory so the semantics are |
159 | # kept roughly the same. | 157 | # kept roughly the same. |
158 | # | ||
159 | # When multiple boards are compiled in at the same time, preference | ||
160 | # for the mach link is given to whichever has a directory for its | ||
161 | # headers. However, this is only a workaround until platforms that | ||
162 | # can live in the same kernel image back away from relying on the | ||
163 | # mach link. | ||
160 | 164 | ||
161 | include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \ | 165 | include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \ |
162 | include/config/auto.conf FORCE | 166 | include/config/auto.conf FORCE |
163 | @echo -n ' SYMLINK include/asm-sh/mach -> ' | ||
164 | $(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi | 167 | $(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi |
165 | $(Q)if [ -d $(incdir-prefix)$(incdir-y) ]; then \ | 168 | $(Q)rm -f include/asm-sh/mach |
166 | echo -e 'include/asm-sh/$(incdir-y)'; \ | 169 | $(Q)for i in $(incdir-y); do \ |
167 | ln -fsn $(incdir-prefix)$(incdir-y) \ | 170 | if [ -d $(incdir-prefix)$$i ]; then \ |
171 | echo -n ' SYMLINK include/asm-sh/mach -> '; \ | ||
172 | echo -e "include/asm-sh/$$i"; \ | ||
173 | ln -fsn $(incdir-prefix)$$i \ | ||
168 | include/asm-sh/mach; \ | 174 | include/asm-sh/mach; \ |
169 | else \ | 175 | else \ |
170 | echo -e 'include/asm-sh'; \ | 176 | if [ ! -d include/asm-sh/mach ]; then \ |
171 | ln -fsn $(incdir-prefix) include/asm-sh/mach; \ | 177 | echo -n ' SYMLINK include/asm-sh/mach -> '; \ |
172 | fi | 178 | echo -e 'include/asm-sh'; \ |
179 | ln -fsn $(incdir-prefix) include/asm-sh/mach; \ | ||
180 | fi; \ | ||
181 | fi; \ | ||
182 | done | ||
173 | @touch $@ | 183 | @touch $@ |
174 | 184 | ||
175 | archprepare: include/asm-sh/.cpu include/asm-sh/.mach maketools | 185 | archprepare: include/asm-sh/.cpu include/asm-sh/.mach maketools |
@@ -188,7 +198,9 @@ compressed: zImage | |||
188 | archclean: | 198 | archclean: |
189 | $(Q)$(MAKE) $(clean)=$(boot) | 199 | $(Q)$(MAKE) $(clean)=$(boot) |
190 | 200 | ||
191 | CLEAN_FILES += include/asm-sh/machtypes.h | 201 | CLEAN_FILES += include/asm-sh/machtypes.h \ |
202 | include/asm-sh/cpu include/asm-sh/.cpu \ | ||
203 | include/asm-sh/mach include/asm-sh/.mach | ||
192 | 204 | ||
193 | define archhelp | 205 | define archhelp |
194 | @echo '* zImage - Compressed kernel image' | 206 | @echo '* zImage - Compressed kernel image' |
diff --git a/arch/sh/boards/dreamcast/setup.c b/arch/sh/boards/dreamcast/setup.c index f13017eeeb27..8799df6e866a 100644 --- a/arch/sh/boards/dreamcast/setup.c +++ b/arch/sh/boards/dreamcast/setup.c | |||
@@ -60,7 +60,7 @@ static void __init dreamcast_setup(char **cmdline_p) | |||
60 | #endif | 60 | #endif |
61 | } | 61 | } |
62 | 62 | ||
63 | struct sh_machine_vector mv_dreamcast __initmv = { | 63 | static struct sh_machine_vector mv_dreamcast __initmv = { |
64 | .mv_name = "Sega Dreamcast", | 64 | .mv_name = "Sega Dreamcast", |
65 | .mv_setup = dreamcast_setup, | 65 | .mv_setup = dreamcast_setup, |
66 | .mv_irq_demux = systemasic_irq_demux, | 66 | .mv_irq_demux = systemasic_irq_demux, |
@@ -70,4 +70,3 @@ struct sh_machine_vector mv_dreamcast __initmv = { | |||
70 | .mv_consistent_free = dreamcast_consistent_free, | 70 | .mv_consistent_free = dreamcast_consistent_free, |
71 | #endif | 71 | #endif |
72 | }; | 72 | }; |
73 | ALIAS_MV(dreamcast) | ||
diff --git a/arch/sh/boards/hp6xx/mach.c b/arch/sh/boards/hp6xx/mach.c deleted file mode 100644 index 08dbba910f74..000000000000 --- a/arch/sh/boards/hp6xx/mach.c +++ /dev/null | |||
@@ -1,46 +0,0 @@ | |||
1 | /* | ||
2 | * linux/arch/sh/boards/hp6xx/mach.c | ||
3 | * | ||
4 | * Copyright (C) 2000 Stuart Menefy (stuart.menefy@st.com) | ||
5 | * | ||
6 | * May be copied or modified under the terms of the GNU General Public | ||
7 | * License. See linux/COPYING for more information. | ||
8 | * | ||
9 | * Machine vector for the HP680 | ||
10 | */ | ||
11 | #include <asm/machvec.h> | ||
12 | #include <asm/hd64461.h> | ||
13 | #include <asm/io.h> | ||
14 | #include <asm/irq.h> | ||
15 | |||
16 | struct sh_machine_vector mv_hp6xx __initmv = { | ||
17 | .mv_nr_irqs = HD64461_IRQBASE + HD64461_IRQ_NUM, | ||
18 | |||
19 | .mv_inb = hd64461_inb, | ||
20 | .mv_inw = hd64461_inw, | ||
21 | .mv_inl = hd64461_inl, | ||
22 | .mv_outb = hd64461_outb, | ||
23 | .mv_outw = hd64461_outw, | ||
24 | .mv_outl = hd64461_outl, | ||
25 | |||
26 | .mv_inb_p = hd64461_inb_p, | ||
27 | .mv_inw_p = hd64461_inw, | ||
28 | .mv_inl_p = hd64461_inl, | ||
29 | .mv_outb_p = hd64461_outb_p, | ||
30 | .mv_outw_p = hd64461_outw, | ||
31 | .mv_outl_p = hd64461_outl, | ||
32 | |||
33 | .mv_insb = hd64461_insb, | ||
34 | .mv_insw = hd64461_insw, | ||
35 | .mv_insl = hd64461_insl, | ||
36 | .mv_outsb = hd64461_outsb, | ||
37 | .mv_outsw = hd64461_outsw, | ||
38 | .mv_outsl = hd64461_outsl, | ||
39 | |||
40 | .mv_readw = hd64461_readw, | ||
41 | .mv_writew = hd64461_writew, | ||
42 | |||
43 | .mv_irq_demux = hd64461_irq_demux, | ||
44 | }; | ||
45 | |||
46 | ALIAS_MV(hp6xx) | ||
diff --git a/arch/sh/boards/hp6xx/setup.c b/arch/sh/boards/hp6xx/setup.c index 6aeee85c9785..7ae708930bac 100644 --- a/arch/sh/boards/hp6xx/setup.c +++ b/arch/sh/boards/hp6xx/setup.c | |||
@@ -98,10 +98,9 @@ static void __init hp6xx_setup(char **cmdline_p) | |||
98 | } | 98 | } |
99 | device_initcall(hp6xx_devices_setup); | 99 | device_initcall(hp6xx_devices_setup); |
100 | 100 | ||
101 | struct sh_machine_vector mv_hp6xx __initmv = { | 101 | static struct sh_machine_vector mv_hp6xx __initmv = { |
102 | .mv_name = "hp6xx", | 102 | .mv_name = "hp6xx", |
103 | .mv_setup = hp6xx_setup, | 103 | .mv_setup = hp6xx_setup, |
104 | .mv_nr_irqs = HD64461_IRQBASE + HD64461_IRQ_NUM, | 104 | .mv_nr_irqs = HD64461_IRQBASE + HD64461_IRQ_NUM, |
105 | .mv_irq_demux = hd64461_irq_demux, | 105 | .mv_irq_demux = hd64461_irq_demux, |
106 | }; | 106 | }; |
107 | ALIAS_MV(hp6xx) | ||
diff --git a/arch/sh/boards/landisk/setup.c b/arch/sh/boards/landisk/setup.c index f953c7427769..eda71763ecc5 100644 --- a/arch/sh/boards/landisk/setup.c +++ b/arch/sh/boards/landisk/setup.c | |||
@@ -97,10 +97,9 @@ static void __init landisk_setup(char **cmdline_p) | |||
97 | /* | 97 | /* |
98 | * The Machine Vector | 98 | * The Machine Vector |
99 | */ | 99 | */ |
100 | struct sh_machine_vector mv_landisk __initmv = { | 100 | static struct sh_machine_vector mv_landisk __initmv = { |
101 | .mv_name = "LANDISK", | 101 | .mv_name = "LANDISK", |
102 | .mv_nr_irqs = 72, | 102 | .mv_nr_irqs = 72, |
103 | .mv_setup = landisk_setup, | 103 | .mv_setup = landisk_setup, |
104 | .mv_init_irq = init_landisk_IRQ, | 104 | .mv_init_irq = init_landisk_IRQ, |
105 | }; | 105 | }; |
106 | ALIAS_MV(landisk) | ||
diff --git a/arch/sh/boards/lboxre2/setup.c b/arch/sh/boards/lboxre2/setup.c index 4e20f7c63bf3..9c830fdc411b 100644 --- a/arch/sh/boards/lboxre2/setup.c +++ b/arch/sh/boards/lboxre2/setup.c | |||
@@ -77,9 +77,8 @@ device_initcall(lboxre2_devices_setup); | |||
77 | /* | 77 | /* |
78 | * The Machine Vector | 78 | * The Machine Vector |
79 | */ | 79 | */ |
80 | struct sh_machine_vector mv_lboxre2 __initmv = { | 80 | static struct sh_machine_vector mv_lboxre2 __initmv = { |
81 | .mv_name = "L-BOX RE2", | 81 | .mv_name = "L-BOX RE2", |
82 | .mv_nr_irqs = 72, | 82 | .mv_nr_irqs = 72, |
83 | .mv_init_irq = init_lboxre2_IRQ, | 83 | .mv_init_irq = init_lboxre2_IRQ, |
84 | }; | 84 | }; |
85 | ALIAS_MV(lboxre2) | ||
diff --git a/arch/sh/boards/mpc1211/setup.c b/arch/sh/boards/mpc1211/setup.c index 1a0604b23ce0..8ce03e00b0ae 100644 --- a/arch/sh/boards/mpc1211/setup.c +++ b/arch/sh/boards/mpc1211/setup.c | |||
@@ -338,11 +338,10 @@ static void __init mpc1211_setup(char **cmdline_p) | |||
338 | /* | 338 | /* |
339 | * The Machine Vector | 339 | * The Machine Vector |
340 | */ | 340 | */ |
341 | struct sh_machine_vector mv_mpc1211 __initmv = { | 341 | static struct sh_machine_vector mv_mpc1211 __initmv = { |
342 | .mv_name = "Interface MPC-1211(CTP/PCI/MPC-SH02)", | 342 | .mv_name = "Interface MPC-1211(CTP/PCI/MPC-SH02)", |
343 | .mv_setup = mpc1211_setup, | 343 | .mv_setup = mpc1211_setup, |
344 | .mv_nr_irqs = 48, | 344 | .mv_nr_irqs = 48, |
345 | .mv_irq_demux = mpc1211_irq_demux, | 345 | .mv_irq_demux = mpc1211_irq_demux, |
346 | .mv_init_irq = init_mpc1211_IRQ, | 346 | .mv_init_irq = init_mpc1211_IRQ, |
347 | }; | 347 | }; |
348 | ALIAS_MV(mpc1211) | ||
diff --git a/arch/sh/boards/renesas/edosk7705/setup.c b/arch/sh/boards/renesas/edosk7705/setup.c index ec5be0107719..f076c45308dd 100644 --- a/arch/sh/boards/renesas/edosk7705/setup.c +++ b/arch/sh/boards/renesas/edosk7705/setup.c | |||
@@ -21,7 +21,7 @@ static void __init sh_edosk7705_init_irq(void) | |||
21 | /* | 21 | /* |
22 | * The Machine Vector | 22 | * The Machine Vector |
23 | */ | 23 | */ |
24 | struct sh_machine_vector mv_edosk7705 __initmv = { | 24 | static struct sh_machine_vector mv_edosk7705 __initmv = { |
25 | .mv_name = "EDOSK7705", | 25 | .mv_name = "EDOSK7705", |
26 | .mv_nr_irqs = 80, | 26 | .mv_nr_irqs = 80, |
27 | 27 | ||
@@ -41,4 +41,3 @@ struct sh_machine_vector mv_edosk7705 __initmv = { | |||
41 | .mv_isa_port2addr = sh_edosk7705_isa_port2addr, | 41 | .mv_isa_port2addr = sh_edosk7705_isa_port2addr, |
42 | .mv_init_irq = sh_edosk7705_init_irq, | 42 | .mv_init_irq = sh_edosk7705_init_irq, |
43 | }; | 43 | }; |
44 | ALIAS_MV(edosk7705) | ||
diff --git a/arch/sh/boards/renesas/hs7751rvoip/setup.c b/arch/sh/boards/renesas/hs7751rvoip/setup.c index f7d0e304d899..fa5fa3920222 100644 --- a/arch/sh/boards/renesas/hs7751rvoip/setup.c +++ b/arch/sh/boards/renesas/hs7751rvoip/setup.c | |||
@@ -89,7 +89,7 @@ static void __init hs7751rvoip_setup(char **cmdline_p) | |||
89 | printk(KERN_INFO "Renesas Technology Sales HS7751RVoIP-2 support.\n"); | 89 | printk(KERN_INFO "Renesas Technology Sales HS7751RVoIP-2 support.\n"); |
90 | } | 90 | } |
91 | 91 | ||
92 | struct sh_machine_vector mv_hs7751rvoip __initmv = { | 92 | static struct sh_machine_vector mv_hs7751rvoip __initmv = { |
93 | .mv_name = "HS7751RVoIP", | 93 | .mv_name = "HS7751RVoIP", |
94 | .mv_setup = hs7751rvoip_setup, | 94 | .mv_setup = hs7751rvoip_setup, |
95 | .mv_nr_irqs = 72, | 95 | .mv_nr_irqs = 72, |
@@ -118,4 +118,3 @@ struct sh_machine_vector mv_hs7751rvoip __initmv = { | |||
118 | .mv_init_irq = hs7751rvoip_init_irq, | 118 | .mv_init_irq = hs7751rvoip_init_irq, |
119 | .mv_ioport_map = hs7751rvoip_ioport_map, | 119 | .mv_ioport_map = hs7751rvoip_ioport_map, |
120 | }; | 120 | }; |
121 | ALIAS_MV(hs7751rvoip) | ||
diff --git a/arch/sh/boards/renesas/r7780rp/Kconfig b/arch/sh/boards/renesas/r7780rp/Kconfig index 9fb11641fe13..fc8f28e04ba3 100644 --- a/arch/sh/boards/renesas/r7780rp/Kconfig +++ b/arch/sh/boards/renesas/r7780rp/Kconfig | |||
@@ -6,18 +6,18 @@ choice | |||
6 | 6 | ||
7 | config SH_R7780RP | 7 | config SH_R7780RP |
8 | bool "R7780RP-1 board support" | 8 | bool "R7780RP-1 board support" |
9 | select CPU_SUBTYPE_SH7780 | 9 | depends on CPU_SUBTYPE_SH7780 |
10 | 10 | ||
11 | config SH_R7780MP | 11 | config SH_R7780MP |
12 | bool "R7780MP board support" | 12 | bool "R7780MP board support" |
13 | select CPU_SUBTYPE_SH7780 | 13 | depends on CPU_SUBTYPE_SH7780 |
14 | help | 14 | help |
15 | Selecting this option will enable support for the mass-production | 15 | Selecting this option will enable support for the mass-production |
16 | version of the R7780RP. If in doubt, say Y. | 16 | version of the R7780RP. If in doubt, say Y. |
17 | 17 | ||
18 | config SH_R7785RP | 18 | config SH_R7785RP |
19 | bool "R7785RP board support" | 19 | bool "R7785RP board support" |
20 | select CPU_SUBTYPE_SH7785 | 20 | depends on CPU_SUBTYPE_SH7785 |
21 | 21 | ||
22 | endchoice | 22 | endchoice |
23 | 23 | ||
diff --git a/arch/sh/boards/renesas/r7780rp/setup.c b/arch/sh/boards/renesas/r7780rp/setup.c index 0727ef92f2b3..5afb864a1ec5 100644 --- a/arch/sh/boards/renesas/r7780rp/setup.c +++ b/arch/sh/boards/renesas/r7780rp/setup.c | |||
@@ -166,10 +166,9 @@ static void __init highlander_setup(char **cmdline_p) | |||
166 | /* | 166 | /* |
167 | * The Machine Vector | 167 | * The Machine Vector |
168 | */ | 168 | */ |
169 | struct sh_machine_vector mv_highlander __initmv = { | 169 | static struct sh_machine_vector mv_highlander __initmv = { |
170 | .mv_name = "Highlander", | 170 | .mv_name = "Highlander", |
171 | .mv_nr_irqs = 109, | 171 | .mv_nr_irqs = 109, |
172 | .mv_setup = highlander_setup, | 172 | .mv_setup = highlander_setup, |
173 | .mv_init_irq = highlander_init_irq, | 173 | .mv_init_irq = highlander_init_irq, |
174 | }; | 174 | }; |
175 | ALIAS_MV(highlander) | ||
diff --git a/arch/sh/boards/renesas/rts7751r2d/setup.c b/arch/sh/boards/renesas/rts7751r2d/setup.c index 593f26a85e9c..656fda30ef70 100644 --- a/arch/sh/boards/renesas/rts7751r2d/setup.c +++ b/arch/sh/boards/renesas/rts7751r2d/setup.c | |||
@@ -176,7 +176,7 @@ static void __init rts7751r2d_setup(char **cmdline_p) | |||
176 | /* | 176 | /* |
177 | * The Machine Vector | 177 | * The Machine Vector |
178 | */ | 178 | */ |
179 | struct sh_machine_vector mv_rts7751r2d __initmv = { | 179 | static struct sh_machine_vector mv_rts7751r2d __initmv = { |
180 | .mv_name = "RTS7751R2D", | 180 | .mv_name = "RTS7751R2D", |
181 | .mv_setup = rts7751r2d_setup, | 181 | .mv_setup = rts7751r2d_setup, |
182 | .mv_nr_irqs = 72, | 182 | .mv_nr_irqs = 72, |
@@ -189,4 +189,3 @@ struct sh_machine_vector mv_rts7751r2d __initmv = { | |||
189 | .mv_consistent_free = voyagergx_consistent_free, | 189 | .mv_consistent_free = voyagergx_consistent_free, |
190 | #endif | 190 | #endif |
191 | }; | 191 | }; |
192 | ALIAS_MV(rts7751r2d) | ||
diff --git a/arch/sh/boards/renesas/sh7710voipgw/setup.c b/arch/sh/boards/renesas/sh7710voipgw/setup.c index 180810b12107..2dce8bd97f90 100644 --- a/arch/sh/boards/renesas/sh7710voipgw/setup.c +++ b/arch/sh/boards/renesas/sh7710voipgw/setup.c | |||
@@ -88,9 +88,8 @@ static void __init sh7710voipgw_init_irq(void) | |||
88 | /* | 88 | /* |
89 | * The Machine Vector | 89 | * The Machine Vector |
90 | */ | 90 | */ |
91 | struct sh_machine_vector mv_sh7710voipgw __initmv = { | 91 | static struct sh_machine_vector mv_sh7710voipgw __initmv = { |
92 | .mv_name = "SH7710 VoIP Gateway", | 92 | .mv_name = "SH7710 VoIP Gateway", |
93 | .mv_nr_irqs = 104, | 93 | .mv_nr_irqs = 104, |
94 | .mv_init_irq = sh7710voipgw_init_irq, | 94 | .mv_init_irq = sh7710voipgw_init_irq, |
95 | }; | 95 | }; |
96 | ALIAS_MV(sh7710voipgw) | ||
diff --git a/arch/sh/boards/renesas/systemh/setup.c b/arch/sh/boards/renesas/systemh/setup.c index 936117659b74..ee78af842778 100644 --- a/arch/sh/boards/renesas/systemh/setup.c +++ b/arch/sh/boards/renesas/systemh/setup.c | |||
@@ -28,7 +28,7 @@ static void __init sh7751systemh_init_irq(void) | |||
28 | make_systemh_irq(0xb); /* Ethernet interrupt */ | 28 | make_systemh_irq(0xb); /* Ethernet interrupt */ |
29 | } | 29 | } |
30 | 30 | ||
31 | struct sh_machine_vector mv_7751systemh __initmv = { | 31 | static struct sh_machine_vector mv_7751systemh __initmv = { |
32 | .mv_name = "7751 SystemH", | 32 | .mv_name = "7751 SystemH", |
33 | .mv_nr_irqs = 72, | 33 | .mv_nr_irqs = 72, |
34 | 34 | ||
@@ -55,4 +55,3 @@ struct sh_machine_vector mv_7751systemh __initmv = { | |||
55 | 55 | ||
56 | .mv_init_irq = sh7751systemh_init_irq, | 56 | .mv_init_irq = sh7751systemh_init_irq, |
57 | }; | 57 | }; |
58 | ALIAS_MV(7751systemh) | ||
diff --git a/arch/sh/boards/saturn/Makefile b/arch/sh/boards/saturn/Makefile deleted file mode 100644 index 75a3042e252e..000000000000 --- a/arch/sh/boards/saturn/Makefile +++ /dev/null | |||
@@ -1,8 +0,0 @@ | |||
1 | # | ||
2 | # Makefile for the Sega Saturn specific parts of the kernel | ||
3 | # | ||
4 | |||
5 | obj-y := setup.o io.o irq.o | ||
6 | |||
7 | obj-$(CONFIG_SMP) += smp.o | ||
8 | |||
diff --git a/arch/sh/boards/saturn/io.c b/arch/sh/boards/saturn/io.c deleted file mode 100644 index c6e4f7f2e686..000000000000 --- a/arch/sh/boards/saturn/io.c +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | /* | ||
2 | * arch/sh/boards/saturn/io.c | ||
3 | * | ||
4 | * I/O routines for the Sega Saturn. | ||
5 | * | ||
6 | * Copyright (C) 2002 Paul Mundt | ||
7 | * | ||
8 | * Released under the terms of the GNU GPL v2.0. | ||
9 | */ | ||
10 | #include <asm/saturn/io.h> | ||
11 | #include <asm/machvec.h> | ||
12 | |||
13 | unsigned long saturn_isa_port2addr(unsigned long offset) | ||
14 | { | ||
15 | return offset; | ||
16 | } | ||
17 | |||
18 | void *saturn_ioremap(unsigned long offset, unsigned long size) | ||
19 | { | ||
20 | return (void *)offset; | ||
21 | } | ||
22 | |||
23 | void saturn_iounmap(void *addr) | ||
24 | { | ||
25 | } | ||
26 | |||
diff --git a/arch/sh/boards/saturn/irq.c b/arch/sh/boards/saturn/irq.c deleted file mode 100644 index 15d1d3f0f787..000000000000 --- a/arch/sh/boards/saturn/irq.c +++ /dev/null | |||
@@ -1,118 +0,0 @@ | |||
1 | /* | ||
2 | * arch/sh/boards/saturn/irq.c | ||
3 | * | ||
4 | * Copyright (C) 2002 Paul Mundt | ||
5 | * | ||
6 | * Released under the terms of the GNU GPL v2.0. | ||
7 | */ | ||
8 | #include <linux/kernel.h> | ||
9 | #include <linux/init.h> | ||
10 | #include <linux/interrupt.h> | ||
11 | #include <asm/irq.h> | ||
12 | #include <asm/io.h> | ||
13 | |||
14 | /* | ||
15 | * Interrupts map out as follows: | ||
16 | * | ||
17 | * Vector Name Mask | ||
18 | * | ||
19 | * 64 VBLANKIN 0x0001 | ||
20 | * 65 VBLANKOUT 0x0002 | ||
21 | * 66 HBLANKIN 0x0004 | ||
22 | * 67 TIMER0 0x0008 | ||
23 | * 68 TIMER1 0x0010 | ||
24 | * 69 DSPEND 0x0020 | ||
25 | * 70 SOUNDREQUEST 0x0040 | ||
26 | * 71 SYSTEMMANAGER 0x0080 | ||
27 | * 72 PAD 0x0100 | ||
28 | * 73 LEVEL2DMAEND 0x0200 | ||
29 | * 74 LEVEL1DMAEND 0x0400 | ||
30 | * 75 LEVEL0DMAEND 0x0800 | ||
31 | * 76 DMAILLEGAL 0x1000 | ||
32 | * 77 SRITEDRAWEND 0x2000 | ||
33 | * 78 ABUS 0x8000 | ||
34 | * | ||
35 | */ | ||
36 | #define SATURN_IRQ_MIN 64 /* VBLANKIN */ | ||
37 | #define SATURN_IRQ_MAX 78 /* ABUS */ | ||
38 | |||
39 | #define SATURN_IRQ_MASK 0xbfff | ||
40 | |||
41 | static inline u32 saturn_irq_mask(unsigned int irq_nr) | ||
42 | { | ||
43 | u32 mask; | ||
44 | |||
45 | mask = (1 << (irq_nr - SATURN_IRQ_MIN)); | ||
46 | mask <<= (irq_nr == SATURN_IRQ_MAX); | ||
47 | mask &= SATURN_IRQ_MASK; | ||
48 | |||
49 | return mask; | ||
50 | } | ||
51 | |||
52 | static inline void mask_saturn_irq(unsigned int irq_nr) | ||
53 | { | ||
54 | u32 mask; | ||
55 | |||
56 | mask = ctrl_inl(SATURN_IMR); | ||
57 | mask |= saturn_irq_mask(irq_nr); | ||
58 | ctrl_outl(mask, SATURN_IMR); | ||
59 | } | ||
60 | |||
61 | static inline void unmask_saturn_irq(unsigned int irq_nr) | ||
62 | { | ||
63 | u32 mask; | ||
64 | |||
65 | mask = ctrl_inl(SATURN_IMR); | ||
66 | mask &= ~saturn_irq_mask(irq_nr); | ||
67 | ctrl_outl(mask, SATURN_IMR); | ||
68 | } | ||
69 | |||
70 | static void disable_saturn_irq(unsigned int irq_nr) | ||
71 | { | ||
72 | mask_saturn_irq(irq_nr); | ||
73 | } | ||
74 | |||
75 | static void enable_saturn_irq(unsigned int irq_nr) | ||
76 | { | ||
77 | unmask_saturn_irq(irq_nr); | ||
78 | } | ||
79 | |||
80 | static void mask_and_ack_saturn_irq(unsigned int irq_nr) | ||
81 | { | ||
82 | mask_saturn_irq(irq_nr); | ||
83 | } | ||
84 | |||
85 | static void end_saturn_irq(unsigned int irq_nr) | ||
86 | { | ||
87 | if (!(irq_desc[irq_nr].status & (IRQ_DISABLED | IRQ_INPROGRESS))) | ||
88 | unmask_saturn_irq(irq_nr); | ||
89 | } | ||
90 | |||
91 | static unsigned int startup_saturn_irq(unsigned int irq_nr) | ||
92 | { | ||
93 | unmask_saturn_irq(irq_nr); | ||
94 | |||
95 | return 0; | ||
96 | } | ||
97 | |||
98 | static void shutdown_saturn_irq(unsigned int irq_nr) | ||
99 | { | ||
100 | mask_saturn_irq(irq_nr); | ||
101 | } | ||
102 | |||
103 | static struct hw_interrupt_type saturn_int = { | ||
104 | .typename = "Saturn", | ||
105 | .enable = enable_saturn_irq, | ||
106 | .disable = disable_saturn_irq, | ||
107 | .ack = mask_and_ack_saturn_irq, | ||
108 | .end = end_saturn_irq, | ||
109 | .startup = startup_saturn_irq, | ||
110 | .shutdown = shutdown_saturn_irq, | ||
111 | }; | ||
112 | |||
113 | int saturn_irq_demux(int irq_nr) | ||
114 | { | ||
115 | /* FIXME */ | ||
116 | return irq_nr; | ||
117 | } | ||
118 | |||
diff --git a/arch/sh/boards/saturn/setup.c b/arch/sh/boards/saturn/setup.c deleted file mode 100644 index a3a37c9aad2e..000000000000 --- a/arch/sh/boards/saturn/setup.c +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | /* | ||
2 | * arch/sh/boards/saturn/setup.c | ||
3 | * | ||
4 | * Hardware support for the Sega Saturn. | ||
5 | * | ||
6 | * Copyright (c) 2002 Paul Mundt | ||
7 | * | ||
8 | * Released under the terms of the GNU GPL v2.0. | ||
9 | */ | ||
10 | #include <linux/kernel.h> | ||
11 | #include <linux/init.h> | ||
12 | #include <asm/io.h> | ||
13 | #include <asm/machvec.h> | ||
14 | #include <asm/mach/io.h> | ||
15 | |||
16 | extern int saturn_irq_demux(int irq_nr); | ||
17 | |||
18 | /* | ||
19 | * The Machine Vector | ||
20 | */ | ||
21 | struct sh_machine_vector mv_saturn __initmv = { | ||
22 | .mv_name = "Sega Saturn", | ||
23 | .mv_nr_irqs = 80, /* Fix this later */ | ||
24 | |||
25 | .mv_isa_port2addr = saturn_isa_port2addr, | ||
26 | .mv_irq_demux = saturn_irq_demux, | ||
27 | |||
28 | .mv_ioremap = saturn_ioremap, | ||
29 | .mv_iounmap = saturn_iounmap, | ||
30 | }; | ||
31 | ALIAS_MV(saturn) | ||
diff --git a/arch/sh/boards/saturn/smp.c b/arch/sh/boards/saturn/smp.c deleted file mode 100644 index 76460918c9cd..000000000000 --- a/arch/sh/boards/saturn/smp.c +++ /dev/null | |||
@@ -1,68 +0,0 @@ | |||
1 | /* | ||
2 | * arch/sh/boards/saturn/smp.c | ||
3 | * | ||
4 | * SMP support for the Sega Saturn. | ||
5 | * | ||
6 | * Copyright (c) 2002 Paul Mundt | ||
7 | * | ||
8 | * Released under the terms of the GNU GPL v2.0. | ||
9 | */ | ||
10 | #include <linux/kernel.h> | ||
11 | #include <linux/init.h> | ||
12 | #include <linux/smp.h> | ||
13 | |||
14 | #include <asm/saturn/smpc.h> | ||
15 | |||
16 | extern void start_secondary(void); | ||
17 | |||
18 | void __smp_send_ipi(unsigned int cpu, unsigned int action) | ||
19 | { | ||
20 | /* Nothing here yet .. */ | ||
21 | } | ||
22 | |||
23 | unsigned int __smp_probe_cpus(void) | ||
24 | { | ||
25 | /* | ||
26 | * This is just a straightforward master/slave configuration, | ||
27 | * and probing isn't really supported.. | ||
28 | */ | ||
29 | return 2; | ||
30 | } | ||
31 | |||
32 | /* | ||
33 | * We're only allowed to do byte-access to SMPC registers. In | ||
34 | * addition to which, we treat them as write-only, since | ||
35 | * reading from them will return undefined data. | ||
36 | */ | ||
37 | static inline void smpc_slave_stop(unsigned int cpu) | ||
38 | { | ||
39 | smpc_barrier(); | ||
40 | ctrl_outb(1, SMPC_STATUS); | ||
41 | |||
42 | ctrl_outb(SMPC_CMD_SSHOFF, SMPC_COMMAND); | ||
43 | smpc_barrier(); | ||
44 | } | ||
45 | |||
46 | static inline void smpc_slave_start(unsigned int cpu) | ||
47 | { | ||
48 | ctrl_outb(1, SMPC_STATUS); | ||
49 | ctrl_outb(SMPC_CMD_SSHON, SMPC_COMMAND); | ||
50 | |||
51 | smpc_barrier(); | ||
52 | } | ||
53 | |||
54 | void __smp_slave_init(unsigned int cpu) | ||
55 | { | ||
56 | register unsigned long vbr; | ||
57 | void **entry; | ||
58 | |||
59 | __asm__ __volatile__ ("stc vbr, %0\n\t" : "=r" (vbr)); | ||
60 | entry = (void **)(vbr + 0x310 + 0x94); | ||
61 | |||
62 | smpc_slave_stop(cpu); | ||
63 | |||
64 | *(void **)entry = (void *)start_secondary; | ||
65 | |||
66 | smpc_slave_start(cpu); | ||
67 | } | ||
68 | |||
diff --git a/arch/sh/boards/se/7206/setup.c b/arch/sh/boards/se/7206/setup.c index ca714879f559..a074b62505ef 100644 --- a/arch/sh/boards/se/7206/setup.c +++ b/arch/sh/boards/se/7206/setup.c | |||
@@ -70,7 +70,7 @@ __initcall(se7206_devices_setup); | |||
70 | * The Machine Vector | 70 | * The Machine Vector |
71 | */ | 71 | */ |
72 | 72 | ||
73 | struct sh_machine_vector mv_se __initmv = { | 73 | static struct sh_machine_vector mv_se __initmv = { |
74 | .mv_name = "SolutionEngine", | 74 | .mv_name = "SolutionEngine", |
75 | .mv_nr_irqs = 256, | 75 | .mv_nr_irqs = 256, |
76 | .mv_inb = se7206_inb, | 76 | .mv_inb = se7206_inb, |
@@ -96,4 +96,3 @@ struct sh_machine_vector mv_se __initmv = { | |||
96 | 96 | ||
97 | .mv_init_irq = init_se7206_IRQ, | 97 | .mv_init_irq = init_se7206_IRQ, |
98 | }; | 98 | }; |
99 | ALIAS_MV(se) | ||
diff --git a/arch/sh/boards/se/7300/setup.c b/arch/sh/boards/se/7300/setup.c index f1960956bad0..eb469f5b6e97 100644 --- a/arch/sh/boards/se/7300/setup.c +++ b/arch/sh/boards/se/7300/setup.c | |||
@@ -46,7 +46,7 @@ __initcall(se7300_devices_setup); | |||
46 | /* | 46 | /* |
47 | * The Machine Vector | 47 | * The Machine Vector |
48 | */ | 48 | */ |
49 | struct sh_machine_vector mv_7300se __initmv = { | 49 | static struct sh_machine_vector mv_7300se __initmv = { |
50 | .mv_name = "SolutionEngine 7300", | 50 | .mv_name = "SolutionEngine 7300", |
51 | .mv_nr_irqs = 109, | 51 | .mv_nr_irqs = 109, |
52 | .mv_inb = sh7300se_inb, | 52 | .mv_inb = sh7300se_inb, |
@@ -72,4 +72,3 @@ struct sh_machine_vector mv_7300se __initmv = { | |||
72 | 72 | ||
73 | .mv_init_irq = init_7300se_IRQ, | 73 | .mv_init_irq = init_7300se_IRQ, |
74 | }; | 74 | }; |
75 | ALIAS_MV(7300se) | ||
diff --git a/arch/sh/boards/se/73180/setup.c b/arch/sh/boards/se/73180/setup.c index e143017c8975..1deee8556642 100644 --- a/arch/sh/boards/se/73180/setup.c +++ b/arch/sh/boards/se/73180/setup.c | |||
@@ -46,7 +46,7 @@ __initcall(se73180_devices_setup); | |||
46 | /* | 46 | /* |
47 | * The Machine Vector | 47 | * The Machine Vector |
48 | */ | 48 | */ |
49 | struct sh_machine_vector mv_73180se __initmv = { | 49 | static struct sh_machine_vector mv_73180se __initmv = { |
50 | .mv_name = "SolutionEngine 73180", | 50 | .mv_name = "SolutionEngine 73180", |
51 | .mv_nr_irqs = 108, | 51 | .mv_nr_irqs = 108, |
52 | .mv_inb = sh73180se_inb, | 52 | .mv_inb = sh73180se_inb, |
@@ -73,4 +73,3 @@ struct sh_machine_vector mv_73180se __initmv = { | |||
73 | .mv_init_irq = init_73180se_IRQ, | 73 | .mv_init_irq = init_73180se_IRQ, |
74 | .mv_irq_demux = shmse_irq_demux, | 74 | .mv_irq_demux = shmse_irq_demux, |
75 | }; | 75 | }; |
76 | ALIAS_MV(73180se) | ||
diff --git a/arch/sh/boards/se/7343/setup.c b/arch/sh/boards/se/7343/setup.c index 3fdb16f2cef1..8fec155e2ff7 100644 --- a/arch/sh/boards/se/7343/setup.c +++ b/arch/sh/boards/se/7343/setup.c | |||
@@ -64,7 +64,7 @@ static void __init sh7343se_setup(char **cmdline_p) | |||
64 | /* | 64 | /* |
65 | * The Machine Vector | 65 | * The Machine Vector |
66 | */ | 66 | */ |
67 | struct sh_machine_vector mv_7343se __initmv = { | 67 | static struct sh_machine_vector mv_7343se __initmv = { |
68 | .mv_name = "SolutionEngine 7343", | 68 | .mv_name = "SolutionEngine 7343", |
69 | .mv_setup = sh7343se_setup, | 69 | .mv_setup = sh7343se_setup, |
70 | .mv_nr_irqs = 108, | 70 | .mv_nr_irqs = 108, |
@@ -92,4 +92,3 @@ struct sh_machine_vector mv_7343se __initmv = { | |||
92 | .mv_init_irq = init_7343se_IRQ, | 92 | .mv_init_irq = init_7343se_IRQ, |
93 | .mv_irq_demux = shmse_irq_demux, | 93 | .mv_irq_demux = shmse_irq_demux, |
94 | }; | 94 | }; |
95 | ALIAS_MV(7343se) | ||
diff --git a/arch/sh/boards/se/7619/setup.c b/arch/sh/boards/se/7619/setup.c index 52d2c4d5d2fa..1d0ef7faa10d 100644 --- a/arch/sh/boards/se/7619/setup.c +++ b/arch/sh/boards/se/7619/setup.c | |||
@@ -15,8 +15,7 @@ | |||
15 | * The Machine Vector | 15 | * The Machine Vector |
16 | */ | 16 | */ |
17 | 17 | ||
18 | struct sh_machine_vector mv_se __initmv = { | 18 | static struct sh_machine_vector mv_se __initmv = { |
19 | .mv_name = "SolutionEngine", | 19 | .mv_name = "SolutionEngine", |
20 | .mv_nr_irqs = 108, | 20 | .mv_nr_irqs = 108, |
21 | }; | 21 | }; |
22 | ALIAS_MV(se) | ||
diff --git a/arch/sh/boards/se/770x/irq.c b/arch/sh/boards/se/770x/irq.c index c8eccff77a04..cdb0807928a5 100644 --- a/arch/sh/boards/se/770x/irq.c +++ b/arch/sh/boards/se/770x/irq.c | |||
@@ -15,46 +15,7 @@ | |||
15 | #include <asm/io.h> | 15 | #include <asm/io.h> |
16 | #include <asm/se.h> | 16 | #include <asm/se.h> |
17 | 17 | ||
18 | /* | 18 | static struct ipr_data ipr_irq_table[] = { |
19 | * If the problem of make_ipr_irq is solved, | ||
20 | * this code will become unnecessary. :-) | ||
21 | */ | ||
22 | static void se770x_disable_ipr_irq(unsigned int irq) | ||
23 | { | ||
24 | struct ipr_data *p = get_irq_chip_data(irq); | ||
25 | |||
26 | ctrl_outw(ctrl_inw(p->addr) & (0xffff ^ (0xf << p->shift)), p->addr); | ||
27 | } | ||
28 | |||
29 | static void se770x_enable_ipr_irq(unsigned int irq) | ||
30 | { | ||
31 | struct ipr_data *p = get_irq_chip_data(irq); | ||
32 | |||
33 | ctrl_outw(ctrl_inw(p->addr) | (p->priority << p->shift), p->addr); | ||
34 | } | ||
35 | |||
36 | static struct irq_chip se770x_irq_chip = { | ||
37 | .name = "MS770xSE-FPGA", | ||
38 | .mask = se770x_disable_ipr_irq, | ||
39 | .unmask = se770x_enable_ipr_irq, | ||
40 | .mask_ack = se770x_disable_ipr_irq, | ||
41 | }; | ||
42 | |||
43 | void make_se770x_irq(struct ipr_data *table, unsigned int nr_irqs) | ||
44 | { | ||
45 | int i; | ||
46 | |||
47 | for (i = 0; i < nr_irqs; i++) { | ||
48 | unsigned int irq = table[i].irq; | ||
49 | disable_irq_nosync(irq); | ||
50 | set_irq_chip_and_handler_name(irq, &se770x_irq_chip, | ||
51 | handle_level_irq, "level"); | ||
52 | set_irq_chip_data(irq, &table[i]); | ||
53 | se770x_enable_ipr_irq(irq); | ||
54 | } | ||
55 | } | ||
56 | |||
57 | static struct ipr_data se770x_ipr_map[] = { | ||
58 | /* | 19 | /* |
59 | * Super I/O (Just mimic PC): | 20 | * Super I/O (Just mimic PC): |
60 | * 1: keyboard | 21 | * 1: keyboard |
@@ -68,46 +29,67 @@ static struct ipr_data se770x_ipr_map[] = { | |||
68 | */ | 29 | */ |
69 | #if defined(CONFIG_CPU_SUBTYPE_SH7705) | 30 | #if defined(CONFIG_CPU_SUBTYPE_SH7705) |
70 | /* This is default value */ | 31 | /* This is default value */ |
71 | { 13, 0, 8, 0x0f-13 ,BCR_ILCRA}, | 32 | { 13, 0, 8, 0x0f-13, }, |
72 | { 5 , 0, 4, 0x0f- 5 ,BCR_ILCRA}, | 33 | { 5 , 0, 4, 0x0f- 5, }, |
73 | { 10, 0, 0, 0x0f-10, BCR_ILCRB}, | 34 | { 10, 1, 0, 0x0f-10, }, |
74 | { 7 , 0, 4, 0x0f- 7, BCR_ILCRC}, | 35 | { 7 , 2, 4, 0x0f- 7, }, |
75 | { 3 , 0, 0, 0x0f- 3, BCR_ILCRC}, | 36 | { 3 , 2, 0, 0x0f- 3, }, |
76 | { 1 , 0, 12, 0x0f- 1, BCR_ILCRD}, | 37 | { 1 , 3, 12, 0x0f- 1, }, |
77 | { 12, 0, 4, 0x0f-12, BCR_ILCRD}, /* LAN */ | 38 | { 12, 3, 4, 0x0f-12, }, /* LAN */ |
78 | { 2 , 0, 8, 0x0f- 2, BCR_ILCRE}, /* PCIRQ2 */ | 39 | { 2 , 4, 8, 0x0f- 2, }, /* PCIRQ2 */ |
79 | { 6 , 0, 4, 0x0f- 6, BCR_ILCRE}, /* PCIRQ1 */ | 40 | { 6 , 4, 4, 0x0f- 6, }, /* PCIRQ1 */ |
80 | { 14, 0, 0, 0x0f-14, BCR_ILCRE}, /* PCIRQ0 */ | 41 | { 14, 4, 0, 0x0f-14, }, /* PCIRQ0 */ |
81 | { 0 , 0, 12, 0x0f , BCR_ILCRF}, | 42 | { 0 , 5, 12, 0x0f , }, |
82 | { 4 , 0, 4, 0x0f- 4, BCR_ILCRF}, | 43 | { 4 , 5, 4, 0x0f- 4, }, |
83 | { 8 , 0, 12, 0x0f- 8, BCR_ILCRG}, | 44 | { 8 , 6, 12, 0x0f- 8, }, |
84 | { 9 , 0, 8, 0x0f- 9, BCR_ILCRG}, | 45 | { 9 , 6, 8, 0x0f- 9, }, |
85 | { 11, 0, 4, 0x0f-11, BCR_ILCRG}, | 46 | { 11, 6, 4, 0x0f-11, }, |
86 | #else | 47 | #else |
87 | { 14, 0, 8, 0x0f-14 ,BCR_ILCRA}, | 48 | { 14, 0, 8, 0x0f-14, }, |
88 | { 12, 0, 4, 0x0f-12 ,BCR_ILCRA}, | 49 | { 12, 0, 4, 0x0f-12, }, |
89 | { 8, 0, 4, 0x0f- 8 ,BCR_ILCRB}, | 50 | { 8, 1, 4, 0x0f- 8, }, |
90 | { 6, 0, 12, 0x0f- 6 ,BCR_ILCRC}, | 51 | { 6, 2, 12, 0x0f- 6, }, |
91 | { 5, 0, 8, 0x0f- 5 ,BCR_ILCRC}, | 52 | { 5, 2, 8, 0x0f- 5, }, |
92 | { 4, 0, 4, 0x0f- 4 ,BCR_ILCRC}, | 53 | { 4, 2, 4, 0x0f- 4, }, |
93 | { 3, 0, 0, 0x0f- 3 ,BCR_ILCRC}, | 54 | { 3, 2, 0, 0x0f- 3, }, |
94 | { 1, 0, 12, 0x0f- 1 ,BCR_ILCRD}, | 55 | { 1, 3, 12, 0x0f- 1, }, |
95 | #if defined(CONFIG_STNIC) | 56 | #if defined(CONFIG_STNIC) |
96 | /* ST NIC */ | 57 | /* ST NIC */ |
97 | { 10, 0, 4, 0x0f-10 ,BCR_ILCRD}, /* LAN */ | 58 | { 10, 3, 4, 0x0f-10, }, /* LAN */ |
98 | #endif | 59 | #endif |
99 | /* MRSHPC IRQs setting */ | 60 | /* MRSHPC IRQs setting */ |
100 | { 0, 0, 12, 0x0f- 0 ,BCR_ILCRE}, /* PCIRQ3 */ | 61 | { 0, 4, 12, 0x0f- 0, }, /* PCIRQ3 */ |
101 | { 11, 0, 8, 0x0f-11 ,BCR_ILCRE}, /* PCIRQ2 */ | 62 | { 11, 4, 8, 0x0f-11, }, /* PCIRQ2 */ |
102 | { 9, 0, 4, 0x0f- 9 ,BCR_ILCRE}, /* PCIRQ1 */ | 63 | { 9, 4, 4, 0x0f- 9, }, /* PCIRQ1 */ |
103 | { 7, 0, 0, 0x0f- 7 ,BCR_ILCRE}, /* PCIRQ0 */ | 64 | { 7, 4, 0, 0x0f- 7, }, /* PCIRQ0 */ |
104 | /* #2, #13 are allocated for SLOT IRQ #1 and #2 (for now) */ | 65 | /* #2, #13 are allocated for SLOT IRQ #1 and #2 (for now) */ |
105 | /* NOTE: #2 and #13 are not used on PC */ | 66 | /* NOTE: #2 and #13 are not used on PC */ |
106 | { 13, 0, 4, 0x0f-13 ,BCR_ILCRG}, /* SLOTIRQ2 */ | 67 | { 13, 6, 4, 0x0f-13, }, /* SLOTIRQ2 */ |
107 | { 2, 0, 0, 0x0f- 2 ,BCR_ILCRG}, /* SLOTIRQ1 */ | 68 | { 2, 6, 0, 0x0f- 2, }, /* SLOTIRQ1 */ |
108 | #endif | 69 | #endif |
109 | }; | 70 | }; |
110 | 71 | ||
72 | static unsigned long ipr_offsets[] = { | ||
73 | BCR_ILCRA, | ||
74 | BCR_ILCRB, | ||
75 | BCR_ILCRC, | ||
76 | BCR_ILCRD, | ||
77 | BCR_ILCRE, | ||
78 | BCR_ILCRF, | ||
79 | BCR_ILCRG, | ||
80 | }; | ||
81 | |||
82 | static struct ipr_desc ipr_irq_desc = { | ||
83 | .ipr_offsets = ipr_offsets, | ||
84 | .nr_offsets = ARRAY_SIZE(ipr_offsets), | ||
85 | |||
86 | .ipr_data = ipr_irq_table, | ||
87 | .nr_irqs = ARRAY_SIZE(ipr_irq_table), | ||
88 | .chip = { | ||
89 | .name = "IPR-se770x", | ||
90 | }, | ||
91 | }; | ||
92 | |||
111 | /* | 93 | /* |
112 | * Initialize IRQ setting | 94 | * Initialize IRQ setting |
113 | */ | 95 | */ |
@@ -122,5 +104,5 @@ void __init init_se_IRQ(void) | |||
122 | ctrl_outw(0, BCR_ILCRF); | 104 | ctrl_outw(0, BCR_ILCRF); |
123 | ctrl_outw(0, BCR_ILCRG); | 105 | ctrl_outw(0, BCR_ILCRG); |
124 | 106 | ||
125 | make_se770x_irq(se770x_ipr_map, ARRAY_SIZE(se770x_ipr_map)); | 107 | register_ipr_controller(&ipr_irq_desc); |
126 | } | 108 | } |
diff --git a/arch/sh/boards/se/770x/setup.c b/arch/sh/boards/se/770x/setup.c index 17a2631de3ba..2962da148f3f 100644 --- a/arch/sh/boards/se/770x/setup.c +++ b/arch/sh/boards/se/770x/setup.c | |||
@@ -122,7 +122,7 @@ device_initcall(se_devices_setup); | |||
122 | /* | 122 | /* |
123 | * The Machine Vector | 123 | * The Machine Vector |
124 | */ | 124 | */ |
125 | struct sh_machine_vector mv_se __initmv = { | 125 | static struct sh_machine_vector mv_se __initmv = { |
126 | .mv_name = "SolutionEngine", | 126 | .mv_name = "SolutionEngine", |
127 | .mv_setup = smsc_setup, | 127 | .mv_setup = smsc_setup, |
128 | #if defined(CONFIG_CPU_SH4) | 128 | #if defined(CONFIG_CPU_SH4) |
@@ -160,4 +160,3 @@ struct sh_machine_vector mv_se __initmv = { | |||
160 | 160 | ||
161 | .mv_init_irq = init_se_IRQ, | 161 | .mv_init_irq = init_se_IRQ, |
162 | }; | 162 | }; |
163 | ALIAS_MV(se) | ||
diff --git a/arch/sh/boards/se/7722/irq.c b/arch/sh/boards/se/7722/irq.c index 099e5deb77f8..26cff0efda40 100644 --- a/arch/sh/boards/se/7722/irq.c +++ b/arch/sh/boards/se/7722/irq.c | |||
@@ -19,15 +19,24 @@ | |||
19 | #define INTC_INTMSK0 0xFFD00044 | 19 | #define INTC_INTMSK0 0xFFD00044 |
20 | #define INTC_INTMSKCLR0 0xFFD00064 | 20 | #define INTC_INTMSKCLR0 0xFFD00064 |
21 | 21 | ||
22 | struct se7722_data { | ||
23 | unsigned char irq; | ||
24 | unsigned char ipr_idx; | ||
25 | unsigned char shift; | ||
26 | unsigned short priority; | ||
27 | unsigned long addr; | ||
28 | }; | ||
29 | |||
30 | |||
22 | static void disable_se7722_irq(unsigned int irq) | 31 | static void disable_se7722_irq(unsigned int irq) |
23 | { | 32 | { |
24 | struct ipr_data *p = get_irq_chip_data(irq); | 33 | struct se7722_data *p = get_irq_chip_data(irq); |
25 | ctrl_outw( ctrl_inw( p->addr ) | p->priority , p->addr ); | 34 | ctrl_outw( ctrl_inw( p->addr ) | p->priority , p->addr ); |
26 | } | 35 | } |
27 | 36 | ||
28 | static void enable_se7722_irq(unsigned int irq) | 37 | static void enable_se7722_irq(unsigned int irq) |
29 | { | 38 | { |
30 | struct ipr_data *p = get_irq_chip_data(irq); | 39 | struct se7722_data *p = get_irq_chip_data(irq); |
31 | ctrl_outw( ctrl_inw( p->addr ) & ~p->priority , p->addr ); | 40 | ctrl_outw( ctrl_inw( p->addr ) & ~p->priority , p->addr ); |
32 | } | 41 | } |
33 | 42 | ||
@@ -38,7 +47,7 @@ static struct irq_chip se7722_irq_chip __read_mostly = { | |||
38 | .mask_ack = disable_se7722_irq, | 47 | .mask_ack = disable_se7722_irq, |
39 | }; | 48 | }; |
40 | 49 | ||
41 | static struct ipr_data ipr_irq_table[] = { | 50 | static struct se7722_data ipr_irq_table[] = { |
42 | /* irq ,idx,sft, priority , addr */ | 51 | /* irq ,idx,sft, priority , addr */ |
43 | { MRSHPC_IRQ0 , 0 , 0 , MRSHPC_BIT0 , IRQ01_MASK } , | 52 | { MRSHPC_IRQ0 , 0 , 0 , MRSHPC_BIT0 , IRQ01_MASK } , |
44 | { MRSHPC_IRQ1 , 0 , 0 , MRSHPC_BIT1 , IRQ01_MASK } , | 53 | { MRSHPC_IRQ1 , 0 , 0 , MRSHPC_BIT1 , IRQ01_MASK } , |
diff --git a/arch/sh/boards/se/7722/setup.c b/arch/sh/boards/se/7722/setup.c index 636ca6c987e0..6cca6cbc8069 100644 --- a/arch/sh/boards/se/7722/setup.c +++ b/arch/sh/boards/se/7722/setup.c | |||
@@ -137,7 +137,7 @@ static void __init se7722_setup(char **cmdline_p) | |||
137 | /* | 137 | /* |
138 | * The Machine Vector | 138 | * The Machine Vector |
139 | */ | 139 | */ |
140 | struct sh_machine_vector mv_se7722 __initmv = { | 140 | static struct sh_machine_vector mv_se7722 __initmv = { |
141 | .mv_name = "Solution Engine 7722" , | 141 | .mv_name = "Solution Engine 7722" , |
142 | .mv_setup = se7722_setup , | 142 | .mv_setup = se7722_setup , |
143 | .mv_nr_irqs = 109 , | 143 | .mv_nr_irqs = 109 , |
@@ -145,4 +145,3 @@ struct sh_machine_vector mv_se7722 __initmv = { | |||
145 | .mv_irq_demux = se7722_irq_demux, | 145 | .mv_irq_demux = se7722_irq_demux, |
146 | 146 | ||
147 | }; | 147 | }; |
148 | ALIAS_MV(se7722) | ||
diff --git a/arch/sh/boards/se/7751/irq.c b/arch/sh/boards/se/7751/irq.c index e4c63a48296c..c3d12590e5db 100644 --- a/arch/sh/boards/se/7751/irq.c +++ b/arch/sh/boards/se/7751/irq.c | |||
@@ -14,44 +14,31 @@ | |||
14 | #include <asm/irq.h> | 14 | #include <asm/irq.h> |
15 | #include <asm/se7751.h> | 15 | #include <asm/se7751.h> |
16 | 16 | ||
17 | static struct ipr_data se7751_ipr_map[] = { | 17 | static struct ipr_data ipr_irq_table[] = { |
18 | /* Leave old Solution Engine code in for reference. */ | 18 | { 13, 3, 3, 2 }, |
19 | #if defined(CONFIG_SH_SOLUTION_ENGINE) | 19 | /* Add additional entries here as drivers are added and tested. */ |
20 | /* | 20 | }; |
21 | * Super I/O (Just mimic PC): | ||
22 | * 1: keyboard | ||
23 | * 3: serial 0 | ||
24 | * 4: serial 1 | ||
25 | * 5: printer | ||
26 | * 6: floppy | ||
27 | * 8: rtc | ||
28 | * 12: mouse | ||
29 | * 14: ide0 | ||
30 | */ | ||
31 | { 14, BCR_ILCRA, 2, 0x0f-14 }, | ||
32 | { 12, BCR_ILCRA, 1, 0x0f-12 }, | ||
33 | { 8, BCR_ILCRB, 1, 0x0f- 8 }, | ||
34 | { 6, BCR_ILCRC, 3, 0x0f- 6 }, | ||
35 | { 5, BCR_ILCRC, 2, 0x0f- 5 }, | ||
36 | { 4, BCR_ILCRC, 1, 0x0f- 4 }, | ||
37 | { 3, BCR_ILCRC, 0, 0x0f- 3 }, | ||
38 | { 1, BCR_ILCRD, 3, 0x0f- 1 }, | ||
39 | 21 | ||
40 | { 10, BCR_ILCRD, 1, 0x0f-10 }, /* LAN */ | 22 | static unsigned long ipr_offsets[] = { |
23 | BCR_ILCRA, | ||
24 | BCR_ILCRB, | ||
25 | BCR_ILCRC, | ||
26 | BCR_ILCRD, | ||
27 | BCR_ILCRE, | ||
28 | BCR_ILCRF, | ||
29 | BCR_ILCRG, | ||
30 | }; | ||
41 | 31 | ||
42 | { 0, BCR_ILCRE, 3, 0x0f- 0 }, /* PCIRQ3 */ | 32 | static struct ipr_desc ipr_irq_desc = { |
43 | { 11, BCR_ILCRE, 2, 0x0f-11 }, /* PCIRQ2 */ | 33 | .ipr_offsets = ipr_offsets, |
44 | { 9, BCR_ILCRE, 1, 0x0f- 9 }, /* PCIRQ1 */ | 34 | .nr_offsets = ARRAY_SIZE(ipr_offsets), |
45 | { 7, BCR_ILCRE, 0, 0x0f- 7 }, /* PCIRQ0 */ | ||
46 | 35 | ||
47 | /* #2, #13 are allocated for SLOT IRQ #1 and #2 (for now) */ | 36 | .ipr_data = ipr_irq_table, |
48 | /* NOTE: #2 and #13 are not used on PC */ | 37 | .nr_irqs = ARRAY_SIZE(ipr_irq_table), |
49 | { 13, BCR_ILCRG, 1, 0x0f-13 }, /* SLOTIRQ2 */ | 38 | |
50 | { 2, BCR_ILCRG, 0, 0x0f- 2 }, /* SLOTIRQ1 */ | 39 | .chip = { |
51 | #elif defined(CONFIG_SH_7751_SOLUTION_ENGINE) | 40 | .name = "IPR-se7751", |
52 | { 13, BCR_ILCRD, 3, 2 }, | 41 | }, |
53 | /* Add additional entries here as drivers are added and tested. */ | ||
54 | #endif | ||
55 | }; | 42 | }; |
56 | 43 | ||
57 | /* | 44 | /* |
@@ -59,5 +46,5 @@ static struct ipr_data se7751_ipr_map[] = { | |||
59 | */ | 46 | */ |
60 | void __init init_7751se_IRQ(void) | 47 | void __init init_7751se_IRQ(void) |
61 | { | 48 | { |
62 | make_ipr_irq(se7751_ipr_map, ARRAY_SIZE(se7751_ipr_map)); | 49 | register_ipr_controller(&ipr_irq_desc); |
63 | } | 50 | } |
diff --git a/arch/sh/boards/se/7751/setup.c b/arch/sh/boards/se/7751/setup.c index 52c7bfa57c2c..7873d07e40c1 100644 --- a/arch/sh/boards/se/7751/setup.c +++ b/arch/sh/boards/se/7751/setup.c | |||
@@ -48,7 +48,7 @@ __initcall(se7751_devices_setup); | |||
48 | /* | 48 | /* |
49 | * The Machine Vector | 49 | * The Machine Vector |
50 | */ | 50 | */ |
51 | struct sh_machine_vector mv_7751se __initmv = { | 51 | static struct sh_machine_vector mv_7751se __initmv = { |
52 | .mv_name = "7751 SolutionEngine", | 52 | .mv_name = "7751 SolutionEngine", |
53 | .mv_nr_irqs = 72, | 53 | .mv_nr_irqs = 72, |
54 | 54 | ||
@@ -71,4 +71,3 @@ struct sh_machine_vector mv_7751se __initmv = { | |||
71 | 71 | ||
72 | .mv_init_irq = init_7751se_IRQ, | 72 | .mv_init_irq = init_7751se_IRQ, |
73 | }; | 73 | }; |
74 | ALIAS_MV(7751se) | ||
diff --git a/arch/sh/boards/se/7780/irq.c b/arch/sh/boards/se/7780/irq.c index 3d0625c2d07b..874914746009 100644 --- a/arch/sh/boards/se/7780/irq.c +++ b/arch/sh/boards/se/7780/irq.c | |||
@@ -16,28 +16,6 @@ | |||
16 | #include <asm/io.h> | 16 | #include <asm/io.h> |
17 | #include <asm/se7780.h> | 17 | #include <asm/se7780.h> |
18 | 18 | ||
19 | #define INTC_INTMSK0 0xFFD00044 | ||
20 | #define INTC_INTMSKCLR0 0xFFD00064 | ||
21 | |||
22 | static void disable_se7780_irq(unsigned int irq) | ||
23 | { | ||
24 | struct intc2_data *p = get_irq_chip_data(irq); | ||
25 | ctrl_outl(1 << p->msk_shift, INTC_INTMSK0 + p->msk_offset); | ||
26 | } | ||
27 | |||
28 | static void enable_se7780_irq(unsigned int irq) | ||
29 | { | ||
30 | struct intc2_data *p = get_irq_chip_data(irq); | ||
31 | ctrl_outl(1 << p->msk_shift, INTC_INTMSKCLR0 + p->msk_offset); | ||
32 | } | ||
33 | |||
34 | static struct irq_chip se7780_irq_chip __read_mostly = { | ||
35 | .name = "SE7780", | ||
36 | .mask = disable_se7780_irq, | ||
37 | .unmask = enable_se7780_irq, | ||
38 | .mask_ack = disable_se7780_irq, | ||
39 | }; | ||
40 | |||
41 | static struct intc2_data intc2_irq_table[] = { | 19 | static struct intc2_data intc2_irq_table[] = { |
42 | { 2, 0, 31, 0, 31, 3 }, /* daughter board EXTINT1 */ | 20 | { 2, 0, 31, 0, 31, 3 }, /* daughter board EXTINT1 */ |
43 | { 4, 0, 30, 0, 30, 3 }, /* daughter board EXTINT2 */ | 21 | { 4, 0, 30, 0, 30, 3 }, /* daughter board EXTINT2 */ |
@@ -51,13 +29,24 @@ static struct intc2_data intc2_irq_table[] = { | |||
51 | { 0 , 0, 24, 0, 24, 3 }, /* SM501 */ | 29 | { 0 , 0, 24, 0, 24, 3 }, /* SM501 */ |
52 | }; | 30 | }; |
53 | 31 | ||
32 | static struct intc2_desc intc2_irq_desc __read_mostly = { | ||
33 | .prio_base = 0, /* N/A */ | ||
34 | .msk_base = 0xffd00044, | ||
35 | .mskclr_base = 0xffd00064, | ||
36 | |||
37 | .intc2_data = intc2_irq_table, | ||
38 | .nr_irqs = ARRAY_SIZE(intc2_irq_table), | ||
39 | |||
40 | .chip = { | ||
41 | .name = "INTC2-se7780", | ||
42 | }, | ||
43 | }; | ||
44 | |||
54 | /* | 45 | /* |
55 | * Initialize IRQ setting | 46 | * Initialize IRQ setting |
56 | */ | 47 | */ |
57 | void __init init_se7780_IRQ(void) | 48 | void __init init_se7780_IRQ(void) |
58 | { | 49 | { |
59 | int i ; | ||
60 | |||
61 | /* enable all interrupt at FPGA */ | 50 | /* enable all interrupt at FPGA */ |
62 | ctrl_outw(0, FPGA_INTMSK1); | 51 | ctrl_outw(0, FPGA_INTMSK1); |
63 | /* mask SM501 interrupt */ | 52 | /* mask SM501 interrupt */ |
@@ -79,11 +68,5 @@ void __init init_se7780_IRQ(void) | |||
79 | /* FPGA + 0x0A */ | 68 | /* FPGA + 0x0A */ |
80 | ctrl_outw((IRQPIN_PCCPW << IRQPOS_PCCPW), FPGA_INTSEL3); | 69 | ctrl_outw((IRQPIN_PCCPW << IRQPOS_PCCPW), FPGA_INTSEL3); |
81 | 70 | ||
82 | for (i = 0; i < ARRAY_SIZE(intc2_irq_table); i++) { | 71 | register_intc2_controller(&intc2_irq_desc); |
83 | disable_irq_nosync(intc2_irq_table[i].irq); | ||
84 | set_irq_chip_and_handler_name( intc2_irq_table[i].irq, &se7780_irq_chip, | ||
85 | handle_level_irq, "level"); | ||
86 | set_irq_chip_data( intc2_irq_table[i].irq, &intc2_irq_table[i] ); | ||
87 | disable_se7780_irq(intc2_irq_table[i].irq); | ||
88 | } | ||
89 | } | 72 | } |
diff --git a/arch/sh/boards/se/7780/setup.c b/arch/sh/boards/se/7780/setup.c index df7d08a24c9f..723f2fd4d55b 100644 --- a/arch/sh/boards/se/7780/setup.c +++ b/arch/sh/boards/se/7780/setup.c | |||
@@ -113,10 +113,9 @@ static void __init se7780_setup(char **cmdline_p) | |||
113 | /* | 113 | /* |
114 | * The Machine Vector | 114 | * The Machine Vector |
115 | */ | 115 | */ |
116 | struct sh_machine_vector mv_se7780 __initmv = { | 116 | static struct sh_machine_vector mv_se7780 __initmv = { |
117 | .mv_name = "Solution Engine 7780" , | 117 | .mv_name = "Solution Engine 7780" , |
118 | .mv_setup = se7780_setup , | 118 | .mv_setup = se7780_setup , |
119 | .mv_nr_irqs = 111 , | 119 | .mv_nr_irqs = 111 , |
120 | .mv_init_irq = init_se7780_IRQ, | 120 | .mv_init_irq = init_se7780_IRQ, |
121 | }; | 121 | }; |
122 | ALIAS_MV(se7780) | ||
diff --git a/arch/sh/boards/sh03/setup.c b/arch/sh/boards/sh03/setup.c index c069c444b4ec..9c031a8c0a1c 100644 --- a/arch/sh/boards/sh03/setup.c +++ b/arch/sh/boards/sh03/setup.c | |||
@@ -15,17 +15,33 @@ | |||
15 | #include <asm/sh03/sh03.h> | 15 | #include <asm/sh03/sh03.h> |
16 | #include <asm/addrspace.h> | 16 | #include <asm/addrspace.h> |
17 | 17 | ||
18 | static struct ipr_data sh03_ipr_map[] = { | 18 | static struct ipr_data ipr_irq_table[] = { |
19 | { IRL0_IRQ, IRL0_IPR_ADDR, IRL0_IPR_POS, IRL0_PRIORITY }, | 19 | { IRL0_IRQ, 0, IRL0_IPR_POS, IRL0_PRIORITY }, |
20 | { IRL1_IRQ, IRL1_IPR_ADDR, IRL1_IPR_POS, IRL1_PRIORITY }, | 20 | { IRL1_IRQ, 0, IRL1_IPR_POS, IRL1_PRIORITY }, |
21 | { IRL2_IRQ, IRL2_IPR_ADDR, IRL2_IPR_POS, IRL2_PRIORITY }, | 21 | { IRL2_IRQ, 0, IRL2_IPR_POS, IRL2_PRIORITY }, |
22 | { IRL3_IRQ, IRL3_IPR_ADDR, IRL3_IPR_POS, IRL3_PRIORITY }, | 22 | { IRL3_IRQ, 0, IRL3_IPR_POS, IRL3_PRIORITY }, |
23 | }; | ||
24 | |||
25 | static unsigned long ipr_offsets[] = { | ||
26 | INTC_IPRD, | ||
27 | }; | ||
28 | |||
29 | static struct ipr_desc ipr_irq_desc = { | ||
30 | .ipr_offsets = ipr_offsets, | ||
31 | .nr_offsets = ARRAY_SIZE(ipr_offsets), | ||
32 | |||
33 | .ipr_data = ipr_irq_table, | ||
34 | .nr_irqs = ARRAY_SIZE(ipr_irq_table), | ||
35 | |||
36 | .chip = { | ||
37 | .name = "IPR-sh03", | ||
38 | }, | ||
23 | }; | 39 | }; |
24 | 40 | ||
25 | static void __init init_sh03_IRQ(void) | 41 | static void __init init_sh03_IRQ(void) |
26 | { | 42 | { |
27 | ctrl_outw(ctrl_inw(INTC_ICR) | INTC_ICR_IRLM, INTC_ICR); | 43 | ctrl_outw(ctrl_inw(INTC_ICR) | INTC_ICR_IRLM, INTC_ICR); |
28 | make_ipr_irq(sh03_ipr_map, ARRAY_SIZE(sh03_ipr_map)); | 44 | register_ipr_controller(&ipr_irq_desc); |
29 | } | 45 | } |
30 | 46 | ||
31 | extern void *cf_io_base; | 47 | extern void *cf_io_base; |
@@ -74,11 +90,10 @@ static int __init sh03_devices_setup(void) | |||
74 | } | 90 | } |
75 | __initcall(sh03_devices_setup); | 91 | __initcall(sh03_devices_setup); |
76 | 92 | ||
77 | struct sh_machine_vector mv_sh03 __initmv = { | 93 | static struct sh_machine_vector mv_sh03 __initmv = { |
78 | .mv_name = "Interface (CTP/PCI-SH03)", | 94 | .mv_name = "Interface (CTP/PCI-SH03)", |
79 | .mv_setup = sh03_setup, | 95 | .mv_setup = sh03_setup, |
80 | .mv_nr_irqs = 48, | 96 | .mv_nr_irqs = 48, |
81 | .mv_ioport_map = sh03_ioport_map, | 97 | .mv_ioport_map = sh03_ioport_map, |
82 | .mv_init_irq = init_sh03_IRQ, | 98 | .mv_init_irq = init_sh03_IRQ, |
83 | }; | 99 | }; |
84 | ALIAS_MV(sh03) | ||
diff --git a/arch/sh/boards/shmin/setup.c b/arch/sh/boards/shmin/setup.c index 4a9df4a6b034..dfd124509f42 100644 --- a/arch/sh/boards/shmin/setup.c +++ b/arch/sh/boards/shmin/setup.c | |||
@@ -6,28 +6,44 @@ | |||
6 | * SHMIN Support. | 6 | * SHMIN Support. |
7 | */ | 7 | */ |
8 | #include <linux/init.h> | 8 | #include <linux/init.h> |
9 | #include <linux/irq.h> | ||
9 | #include <asm/machvec.h> | 10 | #include <asm/machvec.h> |
10 | #include <asm/shmin.h> | 11 | #include <asm/shmin.h> |
11 | #include <asm/clock.h> | 12 | #include <asm/clock.h> |
12 | #include <asm/irq.h> | ||
13 | #include <asm/io.h> | 13 | #include <asm/io.h> |
14 | 14 | ||
15 | #define PFC_PHCR 0xa400010eUL | 15 | #define PFC_PHCR 0xa400010eUL |
16 | #define INTC_ICR1 0xa4000010UL | 16 | #define INTC_ICR1 0xa4000010UL |
17 | #define INTC_IPRC 0xa4000016UL | 17 | #define INTC_IPRC 0xa4000016UL |
18 | 18 | ||
19 | static struct ipr_data shmin_ipr_map[] = { | 19 | static struct ipr_data ipr_irq_table[] = { |
20 | { .irq=32, .addr=INTC_IPRC, .shift= 0, .priority=0 }, | 20 | { 32, 0, 0, 0 }, |
21 | { .irq=33, .addr=INTC_IPRC, .shift= 4, .priority=0 }, | 21 | { 33, 0, 4, 0 }, |
22 | { .irq=34, .addr=INTC_IPRC, .shift= 8, .priority=8 }, | 22 | { 34, 0, 8, 8 }, |
23 | { .irq=35, .addr=INTC_IPRC, .shift=12, .priority=0 }, | 23 | { 35, 0, 12, 0 }, |
24 | }; | ||
25 | |||
26 | static unsigned long ipr_offsets[] = { | ||
27 | INTC_IPRC, | ||
28 | }; | ||
29 | |||
30 | static struct ipr_desc ipr_irq_desc = { | ||
31 | .ipr_offsets = ipr_offsets, | ||
32 | .nr_offsets = ARRAY_SIZE(ipr_offsets), | ||
33 | |||
34 | .ipr_data = ipr_irq_table, | ||
35 | .nr_irqs = ARRAY_SIZE(ipr_irq_table), | ||
36 | |||
37 | .chip = { | ||
38 | .name = "IPR-shmin", | ||
39 | }, | ||
24 | }; | 40 | }; |
25 | 41 | ||
26 | static void __init init_shmin_irq(void) | 42 | static void __init init_shmin_irq(void) |
27 | { | 43 | { |
28 | ctrl_outw(0x2a00, PFC_PHCR); // IRQ0-3=IRQ | 44 | ctrl_outw(0x2a00, PFC_PHCR); // IRQ0-3=IRQ |
29 | ctrl_outw(0x0aaa, INTC_ICR1); // IRQ0-3=IRQ-mode,Low-active. | 45 | ctrl_outw(0x0aaa, INTC_ICR1); // IRQ0-3=IRQ-mode,Low-active. |
30 | make_ipr_irq(shmin_ipr_map, ARRAY_SIZE(shmin_ipr_map)); | 46 | register_ipr_controller(&ipr_irq_desc); |
31 | } | 47 | } |
32 | 48 | ||
33 | static void __iomem *shmin_ioport_map(unsigned long port, unsigned int size) | 49 | static void __iomem *shmin_ioport_map(unsigned long port, unsigned int size) |
@@ -43,9 +59,8 @@ static void __iomem *shmin_ioport_map(unsigned long port, unsigned int size) | |||
43 | 59 | ||
44 | } | 60 | } |
45 | 61 | ||
46 | struct sh_machine_vector mv_shmin __initmv = { | 62 | static struct sh_machine_vector mv_shmin __initmv = { |
47 | .mv_name = "SHMIN", | 63 | .mv_name = "SHMIN", |
48 | .mv_init_irq = init_shmin_irq, | 64 | .mv_init_irq = init_shmin_irq, |
49 | .mv_ioport_map = shmin_ioport_map, | 65 | .mv_ioport_map = shmin_ioport_map, |
50 | }; | 66 | }; |
51 | ALIAS_MV(shmin) | ||
diff --git a/arch/sh/boards/snapgear/setup.c b/arch/sh/boards/snapgear/setup.c index 650fb3645947..84271d85a8dd 100644 --- a/arch/sh/boards/snapgear/setup.c +++ b/arch/sh/boards/snapgear/setup.c | |||
@@ -68,11 +68,27 @@ module_init(eraseconfig_init); | |||
68 | * IRL3 = crypto | 68 | * IRL3 = crypto |
69 | */ | 69 | */ |
70 | 70 | ||
71 | static struct ipr_data snapgear_ipr_map[] = { | 71 | static struct ipr_data ipr_irq_table[] = { |
72 | make_ipr_irq(IRL0_IRQ, IRL0_IPR_ADDR, IRL0_IPR_POS, IRL0_PRIORITY); | 72 | { IRL0_IRQ, 0, IRL0_IPR_POS, IRL0_PRIORITY }, |
73 | make_ipr_irq(IRL1_IRQ, IRL1_IPR_ADDR, IRL1_IPR_POS, IRL1_PRIORITY); | 73 | { IRL1_IRQ, 0, IRL1_IPR_POS, IRL1_PRIORITY }, |
74 | make_ipr_irq(IRL2_IRQ, IRL2_IPR_ADDR, IRL2_IPR_POS, IRL2_PRIORITY); | 74 | { IRL2_IRQ, 0, IRL2_IPR_POS, IRL2_PRIORITY }, |
75 | make_ipr_irq(IRL3_IRQ, IRL3_IPR_ADDR, IRL3_IPR_POS, IRL3_PRIORITY); | 75 | { IRL3_IRQ, 0, IRL3_IPR_POS, IRL3_PRIORITY }, |
76 | }; | ||
77 | |||
78 | static unsigned long ipr_offsets[] = { | ||
79 | INTC_IPRD, | ||
80 | }; | ||
81 | |||
82 | static struct ipr_desc ipr_irq_desc = { | ||
83 | .ipr_offsets = ipr_offsets, | ||
84 | .nr_offsets = ARRAY_SIZE(ipr_offsets), | ||
85 | |||
86 | .ipr_data = ipr_irq_table, | ||
87 | .nr_irqs = ARRAY_SIZE(ipr_irq_table), | ||
88 | |||
89 | .chip = { | ||
90 | .name = "IPR-snapgear", | ||
91 | }, | ||
76 | }; | 92 | }; |
77 | 93 | ||
78 | static void __init init_snapgear_IRQ(void) | 94 | static void __init init_snapgear_IRQ(void) |
@@ -82,7 +98,7 @@ static void __init init_snapgear_IRQ(void) | |||
82 | 98 | ||
83 | printk("Setup SnapGear IRQ/IPR ...\n"); | 99 | printk("Setup SnapGear IRQ/IPR ...\n"); |
84 | 100 | ||
85 | make_ipr_irq(snapgear_ipr_map, ARRAY_SIZE(snapgear_ipr_map)); | 101 | register_ipr_controller(&ipr_irq_desc); |
86 | } | 102 | } |
87 | 103 | ||
88 | /* | 104 | /* |
@@ -96,7 +112,7 @@ static void __init snapgear_setup(char **cmdline_p) | |||
96 | /* | 112 | /* |
97 | * The Machine Vector | 113 | * The Machine Vector |
98 | */ | 114 | */ |
99 | struct sh_machine_vector mv_snapgear __initmv = { | 115 | static struct sh_machine_vector mv_snapgear __initmv = { |
100 | .mv_name = "SnapGear SecureEdge5410", | 116 | .mv_name = "SnapGear SecureEdge5410", |
101 | .mv_setup = snapgear_setup, | 117 | .mv_setup = snapgear_setup, |
102 | .mv_nr_irqs = 72, | 118 | .mv_nr_irqs = 72, |
@@ -117,4 +133,3 @@ struct sh_machine_vector mv_snapgear __initmv = { | |||
117 | 133 | ||
118 | .mv_init_irq = init_snapgear_IRQ, | 134 | .mv_init_irq = init_snapgear_IRQ, |
119 | }; | 135 | }; |
120 | ALIAS_MV(snapgear) | ||
diff --git a/arch/sh/boards/superh/microdev/setup.c b/arch/sh/boards/superh/microdev/setup.c index 6396cea1c896..fc8cd06d66cf 100644 --- a/arch/sh/boards/superh/microdev/setup.c +++ b/arch/sh/boards/superh/microdev/setup.c | |||
@@ -371,7 +371,7 @@ static void __init microdev_setup(char **cmdline_p) | |||
371 | /* | 371 | /* |
372 | * The Machine Vector | 372 | * The Machine Vector |
373 | */ | 373 | */ |
374 | struct sh_machine_vector mv_sh4202_microdev __initmv = { | 374 | static struct sh_machine_vector mv_sh4202_microdev __initmv = { |
375 | .mv_name = "SH4-202 MicroDev", | 375 | .mv_name = "SH4-202 MicroDev", |
376 | .mv_setup = microdev_setup, | 376 | .mv_setup = microdev_setup, |
377 | .mv_nr_irqs = 72, /* QQQ need to check this - use the MACRO */ | 377 | .mv_nr_irqs = 72, /* QQQ need to check this - use the MACRO */ |
@@ -403,4 +403,3 @@ struct sh_machine_vector mv_sh4202_microdev __initmv = { | |||
403 | .mv_heartbeat = microdev_heartbeat, | 403 | .mv_heartbeat = microdev_heartbeat, |
404 | #endif | 404 | #endif |
405 | }; | 405 | }; |
406 | ALIAS_MV(sh4202_microdev) | ||
diff --git a/arch/sh/boards/titan/setup.c b/arch/sh/boards/titan/setup.c index 6bcd939bfaed..606d25a4b870 100644 --- a/arch/sh/boards/titan/setup.c +++ b/arch/sh/boards/titan/setup.c | |||
@@ -12,7 +12,7 @@ | |||
12 | #include <asm/titan.h> | 12 | #include <asm/titan.h> |
13 | #include <asm/io.h> | 13 | #include <asm/io.h> |
14 | 14 | ||
15 | static struct ipr_data titan_ipr_map[] = { | 15 | static struct ipr_data ipr_irq_table[] = { |
16 | /* IRQ, IPR idx, shift, prio */ | 16 | /* IRQ, IPR idx, shift, prio */ |
17 | { TITAN_IRQ_WAN, 3, 12, 8 }, /* eth0 (WAN) */ | 17 | { TITAN_IRQ_WAN, 3, 12, 8 }, /* eth0 (WAN) */ |
18 | { TITAN_IRQ_LAN, 3, 8, 8 }, /* eth1 (LAN) */ | 18 | { TITAN_IRQ_LAN, 3, 8, 8 }, /* eth1 (LAN) */ |
@@ -20,15 +20,33 @@ static struct ipr_data titan_ipr_map[] = { | |||
20 | { TITAN_IRQ_USB, 3, 0, 8 }, /* mPCI B (bottom), USB */ | 20 | { TITAN_IRQ_USB, 3, 0, 8 }, /* mPCI B (bottom), USB */ |
21 | }; | 21 | }; |
22 | 22 | ||
23 | static unsigned long ipr_offsets[] = { /* stolen from setup-sh7750.c */ | ||
24 | 0xffd00004UL, /* 0: IPRA */ | ||
25 | 0xffd00008UL, /* 1: IPRB */ | ||
26 | 0xffd0000cUL, /* 2: IPRC */ | ||
27 | 0xffd00010UL, /* 3: IPRD */ | ||
28 | }; | ||
29 | |||
30 | static struct ipr_desc ipr_irq_desc = { | ||
31 | .ipr_offsets = ipr_offsets, | ||
32 | .nr_offsets = ARRAY_SIZE(ipr_offsets), | ||
33 | |||
34 | .ipr_data = ipr_irq_table, | ||
35 | .nr_irqs = ARRAY_SIZE(ipr_irq_table), | ||
36 | |||
37 | .chip = { | ||
38 | .name = "IPR-titan", | ||
39 | }, | ||
40 | }; | ||
23 | static void __init init_titan_irq(void) | 41 | static void __init init_titan_irq(void) |
24 | { | 42 | { |
25 | /* enable individual interrupt mode for externals */ | 43 | /* enable individual interrupt mode for externals */ |
26 | ipr_irq_enable_irlm(); | 44 | ipr_irq_enable_irlm(); |
27 | /* register ipr irqs */ | 45 | /* register ipr irqs */ |
28 | make_ipr_irq(titan_ipr_map, ARRAY_SIZE(titan_ipr_map)); | 46 | register_ipr_controller(&ipr_irq_desc); |
29 | } | 47 | } |
30 | 48 | ||
31 | struct sh_machine_vector mv_titan __initmv = { | 49 | static struct sh_machine_vector mv_titan __initmv = { |
32 | .mv_name = "Titan", | 50 | .mv_name = "Titan", |
33 | 51 | ||
34 | .mv_inb = titan_inb, | 52 | .mv_inb = titan_inb, |
@@ -52,4 +70,3 @@ struct sh_machine_vector mv_titan __initmv = { | |||
52 | 70 | ||
53 | .mv_init_irq = init_titan_irq, | 71 | .mv_init_irq = init_titan_irq, |
54 | }; | 72 | }; |
55 | ALIAS_MV(titan) | ||
diff --git a/arch/sh/boards/unknown/Makefile b/arch/sh/boards/unknown/Makefile deleted file mode 100644 index 7d18f408b0c5..000000000000 --- a/arch/sh/boards/unknown/Makefile +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | # | ||
2 | # Makefile for unknown SH boards | ||
3 | # | ||
4 | |||
5 | obj-y := setup.o | ||
6 | |||
diff --git a/arch/sh/boards/unknown/setup.c b/arch/sh/boards/unknown/setup.c deleted file mode 100644 index bee4612de59b..000000000000 --- a/arch/sh/boards/unknown/setup.c +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | /* | ||
2 | * linux/arch/sh/boards/unknown/setup.c | ||
3 | * | ||
4 | * Copyright (C) 2002 Paul Mundt | ||
5 | * | ||
6 | * May be copied or modified under the terms of the GNU General Public | ||
7 | * License. See linux/COPYING for more information. | ||
8 | * | ||
9 | * Setup code for an unknown machine (internal peripherals only) | ||
10 | * | ||
11 | * This is the simplest of all boards, and serves only as a quick and dirty | ||
12 | * method to start debugging a new board during bring-up until proper board | ||
13 | * setup code is written. | ||
14 | */ | ||
15 | #include <linux/init.h> | ||
16 | #include <asm/machvec.h> | ||
17 | |||
18 | struct sh_machine_vector mv_unknown __initmv = { | ||
19 | .mv_name = "Unknown", | ||
20 | }; | ||
21 | ALIAS_MV(unknown) | ||
diff --git a/arch/sh/cchips/Kconfig b/arch/sh/cchips/Kconfig index 0582ca8346b6..2e516e9a6ede 100644 --- a/arch/sh/cchips/Kconfig +++ b/arch/sh/cchips/Kconfig | |||
@@ -13,10 +13,8 @@ config VOYAGERGX | |||
13 | are additional GPIO bits that can be used to interface to | 13 | are additional GPIO bits that can be used to interface to |
14 | external as well. | 14 | external as well. |
15 | 15 | ||
16 | # A board must have defined HD6446X_SERIES in order to see these | ||
17 | config HD6446X_SERIES | 16 | config HD6446X_SERIES |
18 | bool "HD6446x support" | 17 | bool |
19 | default n | ||
20 | 18 | ||
21 | choice | 19 | choice |
22 | prompt "HD6446x options" | 20 | prompt "HD6446x options" |
@@ -25,7 +23,6 @@ choice | |||
25 | 23 | ||
26 | config HD64461 | 24 | config HD64461 |
27 | bool "Hitachi HD64461 companion chip support" | 25 | bool "Hitachi HD64461 companion chip support" |
28 | depends on CPU_SUBTYPE_SH7709 | ||
29 | ---help--- | 26 | ---help--- |
30 | The Hitachi HD64461 provides an interface for | 27 | The Hitachi HD64461 provides an interface for |
31 | the SH7709 CPU, supporting a LCD controller, | 28 | the SH7709 CPU, supporting a LCD controller, |
@@ -40,7 +37,6 @@ config HD64461 | |||
40 | 37 | ||
41 | config HD64465 | 38 | config HD64465 |
42 | bool "Hitachi HD64465 companion chip support" | 39 | bool "Hitachi HD64465 companion chip support" |
43 | depends on CPU_SUBTYPE_SH7750 | ||
44 | ---help--- | 40 | ---help--- |
45 | The Hitachi HD64465 provides an interface for | 41 | The Hitachi HD64465 provides an interface for |
46 | the SH7750 CPU, supporting a LCD controller, | 42 | the SH7750 CPU, supporting a LCD controller, |
diff --git a/arch/sh/configs/dreamcast_defconfig b/arch/sh/configs/dreamcast_defconfig index 8b6b5a779de8..3fdd270eecf7 100644 --- a/arch/sh/configs/dreamcast_defconfig +++ b/arch/sh/configs/dreamcast_defconfig | |||
@@ -1,15 +1,23 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.18 | 3 | # Linux kernel version: 2.6.22-rc4 |
4 | # Tue Oct 3 10:51:55 2006 | 4 | # Sat Jul 7 03:47:45 2007 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
8 | CONFIG_GENERIC_BUG=y | ||
8 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 9 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
9 | CONFIG_GENERIC_HWEIGHT=y | 10 | CONFIG_GENERIC_HWEIGHT=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 11 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_GENERIC_IRQ_PROBE=y | 12 | CONFIG_GENERIC_IRQ_PROBE=y |
12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 13 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
14 | CONFIG_GENERIC_TIME=y | ||
15 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
16 | CONFIG_SYS_SUPPORTS_PCI=y | ||
17 | CONFIG_STACKTRACE_SUPPORT=y | ||
18 | CONFIG_LOCKDEP_SUPPORT=y | ||
19 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
20 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
13 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 21 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
14 | 22 | ||
15 | # | 23 | # |
@@ -28,6 +36,7 @@ CONFIG_LOCALVERSION_AUTO=y | |||
28 | CONFIG_SWAP=y | 36 | CONFIG_SWAP=y |
29 | CONFIG_SYSVIPC=y | 37 | CONFIG_SYSVIPC=y |
30 | # CONFIG_IPC_NS is not set | 38 | # CONFIG_IPC_NS is not set |
39 | CONFIG_SYSVIPC_SYSCTL=y | ||
31 | # CONFIG_POSIX_MQUEUE is not set | 40 | # CONFIG_POSIX_MQUEUE is not set |
32 | CONFIG_BSD_PROCESS_ACCT=y | 41 | CONFIG_BSD_PROCESS_ACCT=y |
33 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set | 42 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set |
@@ -35,8 +44,10 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
35 | # CONFIG_UTS_NS is not set | 44 | # CONFIG_UTS_NS is not set |
36 | # CONFIG_AUDIT is not set | 45 | # CONFIG_AUDIT is not set |
37 | # CONFIG_IKCONFIG is not set | 46 | # CONFIG_IKCONFIG is not set |
47 | CONFIG_LOG_BUF_SHIFT=14 | ||
48 | CONFIG_SYSFS_DEPRECATED=y | ||
38 | # CONFIG_RELAY is not set | 49 | # CONFIG_RELAY is not set |
39 | CONFIG_INITRAMFS_SOURCE="" | 50 | # CONFIG_BLK_DEV_INITRD is not set |
40 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 51 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
41 | CONFIG_SYSCTL=y | 52 | CONFIG_SYSCTL=y |
42 | CONFIG_EMBEDDED=y | 53 | CONFIG_EMBEDDED=y |
@@ -50,14 +61,19 @@ CONFIG_BUG=y | |||
50 | CONFIG_ELF_CORE=y | 61 | CONFIG_ELF_CORE=y |
51 | CONFIG_BASE_FULL=y | 62 | CONFIG_BASE_FULL=y |
52 | CONFIG_FUTEX=y | 63 | CONFIG_FUTEX=y |
64 | CONFIG_ANON_INODES=y | ||
53 | CONFIG_EPOLL=y | 65 | CONFIG_EPOLL=y |
66 | CONFIG_SIGNALFD=y | ||
67 | CONFIG_TIMERFD=y | ||
68 | CONFIG_EVENTFD=y | ||
54 | CONFIG_SHMEM=y | 69 | CONFIG_SHMEM=y |
55 | CONFIG_SLAB=y | ||
56 | CONFIG_VM_EVENT_COUNTERS=y | 70 | CONFIG_VM_EVENT_COUNTERS=y |
71 | CONFIG_SLAB=y | ||
72 | # CONFIG_SLUB is not set | ||
73 | # CONFIG_SLOB is not set | ||
57 | CONFIG_RT_MUTEXES=y | 74 | CONFIG_RT_MUTEXES=y |
58 | # CONFIG_TINY_SHMEM is not set | 75 | # CONFIG_TINY_SHMEM is not set |
59 | CONFIG_BASE_SMALL=0 | 76 | CONFIG_BASE_SMALL=0 |
60 | # CONFIG_SLOB is not set | ||
61 | 77 | ||
62 | # | 78 | # |
63 | # Loadable module support | 79 | # Loadable module support |
@@ -93,44 +109,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
93 | # | 109 | # |
94 | # System type | 110 | # System type |
95 | # | 111 | # |
96 | # CONFIG_SH_SOLUTION_ENGINE is not set | ||
97 | # CONFIG_SH_7751_SOLUTION_ENGINE is not set | ||
98 | # CONFIG_SH_7300_SOLUTION_ENGINE is not set | ||
99 | # CONFIG_SH_7343_SOLUTION_ENGINE is not set | ||
100 | # CONFIG_SH_73180_SOLUTION_ENGINE is not set | ||
101 | # CONFIG_SH_7751_SYSTEMH is not set | ||
102 | # CONFIG_SH_HP6XX is not set | ||
103 | # CONFIG_SH_EC3104 is not set | ||
104 | # CONFIG_SH_SATURN is not set | ||
105 | CONFIG_SH_DREAMCAST=y | ||
106 | # CONFIG_SH_BIGSUR is not set | ||
107 | # CONFIG_SH_MPC1211 is not set | ||
108 | # CONFIG_SH_SH03 is not set | ||
109 | # CONFIG_SH_SECUREEDGE5410 is not set | ||
110 | # CONFIG_SH_HS7751RVOIP is not set | ||
111 | # CONFIG_SH_7710VOIPGW is not set | ||
112 | # CONFIG_SH_RTS7751R2D is not set | ||
113 | # CONFIG_SH_R7780RP is not set | ||
114 | # CONFIG_SH_EDOSK7705 is not set | ||
115 | # CONFIG_SH_SH4202_MICRODEV is not set | ||
116 | # CONFIG_SH_LANDISK is not set | ||
117 | # CONFIG_SH_TITAN is not set | ||
118 | # CONFIG_SH_SHMIN is not set | ||
119 | # CONFIG_SH_UNKNOWN is not set | ||
120 | |||
121 | # | ||
122 | # Processor selection | ||
123 | # | ||
124 | CONFIG_CPU_SH4=y | 112 | CONFIG_CPU_SH4=y |
125 | 113 | # CONFIG_CPU_SUBTYPE_SH7619 is not set | |
126 | # | 114 | # CONFIG_CPU_SUBTYPE_SH7206 is not set |
127 | # SH-2 Processor Support | ||
128 | # | ||
129 | # CONFIG_CPU_SUBTYPE_SH7604 is not set | ||
130 | |||
131 | # | ||
132 | # SH-3 Processor Support | ||
133 | # | ||
134 | # CONFIG_CPU_SUBTYPE_SH7300 is not set | 115 | # CONFIG_CPU_SUBTYPE_SH7300 is not set |
135 | # CONFIG_CPU_SUBTYPE_SH7705 is not set | 116 | # CONFIG_CPU_SUBTYPE_SH7705 is not set |
136 | # CONFIG_CPU_SUBTYPE_SH7706 is not set | 117 | # CONFIG_CPU_SUBTYPE_SH7706 is not set |
@@ -138,79 +119,93 @@ CONFIG_CPU_SH4=y | |||
138 | # CONFIG_CPU_SUBTYPE_SH7708 is not set | 119 | # CONFIG_CPU_SUBTYPE_SH7708 is not set |
139 | # CONFIG_CPU_SUBTYPE_SH7709 is not set | 120 | # CONFIG_CPU_SUBTYPE_SH7709 is not set |
140 | # CONFIG_CPU_SUBTYPE_SH7710 is not set | 121 | # CONFIG_CPU_SUBTYPE_SH7710 is not set |
141 | 122 | # CONFIG_CPU_SUBTYPE_SH7712 is not set | |
142 | # | 123 | # CONFIG_CPU_SUBTYPE_SH7750 is not set |
143 | # SH-4 Processor Support | ||
144 | # | ||
145 | CONFIG_CPU_SUBTYPE_SH7750=y | ||
146 | CONFIG_CPU_SUBTYPE_SH7091=y | 124 | CONFIG_CPU_SUBTYPE_SH7091=y |
147 | CONFIG_CPU_SUBTYPE_SH7750R=y | 125 | # CONFIG_CPU_SUBTYPE_SH7750R is not set |
148 | # CONFIG_CPU_SUBTYPE_SH7750S is not set | 126 | # CONFIG_CPU_SUBTYPE_SH7750S is not set |
149 | # CONFIG_CPU_SUBTYPE_SH7751 is not set | 127 | # CONFIG_CPU_SUBTYPE_SH7751 is not set |
150 | # CONFIG_CPU_SUBTYPE_SH7751R is not set | 128 | # CONFIG_CPU_SUBTYPE_SH7751R is not set |
151 | # CONFIG_CPU_SUBTYPE_SH7760 is not set | 129 | # CONFIG_CPU_SUBTYPE_SH7760 is not set |
152 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set | 130 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set |
153 | |||
154 | # | ||
155 | # ST40 Processor Support | ||
156 | # | ||
157 | # CONFIG_CPU_SUBTYPE_ST40STB1 is not set | 131 | # CONFIG_CPU_SUBTYPE_ST40STB1 is not set |
158 | # CONFIG_CPU_SUBTYPE_ST40GX1 is not set | 132 | # CONFIG_CPU_SUBTYPE_ST40GX1 is not set |
159 | |||
160 | # | ||
161 | # SH-4A Processor Support | ||
162 | # | ||
163 | # CONFIG_CPU_SUBTYPE_SH7770 is not set | 133 | # CONFIG_CPU_SUBTYPE_SH7770 is not set |
164 | # CONFIG_CPU_SUBTYPE_SH7780 is not set | 134 | # CONFIG_CPU_SUBTYPE_SH7780 is not set |
165 | 135 | # CONFIG_CPU_SUBTYPE_SH7785 is not set | |
166 | # | 136 | # CONFIG_CPU_SUBTYPE_SHX3 is not set |
167 | # SH4AL-DSP Processor Support | ||
168 | # | ||
169 | # CONFIG_CPU_SUBTYPE_SH73180 is not set | 137 | # CONFIG_CPU_SUBTYPE_SH73180 is not set |
170 | # CONFIG_CPU_SUBTYPE_SH7343 is not set | 138 | # CONFIG_CPU_SUBTYPE_SH7343 is not set |
139 | # CONFIG_CPU_SUBTYPE_SH7722 is not set | ||
171 | 140 | ||
172 | # | 141 | # |
173 | # Memory management options | 142 | # Memory management options |
174 | # | 143 | # |
144 | CONFIG_QUICKLIST=y | ||
175 | CONFIG_MMU=y | 145 | CONFIG_MMU=y |
176 | CONFIG_PAGE_OFFSET=0x80000000 | 146 | CONFIG_PAGE_OFFSET=0x80000000 |
177 | CONFIG_MEMORY_START=0x0c000000 | 147 | CONFIG_MEMORY_START=0x0c000000 |
178 | CONFIG_MEMORY_SIZE=0x01000000 | 148 | CONFIG_MEMORY_SIZE=0x01000000 |
179 | CONFIG_VSYSCALL=y | 149 | CONFIG_VSYSCALL=y |
150 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
151 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||
152 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | ||
153 | CONFIG_MAX_ACTIVE_REGIONS=1 | ||
154 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
155 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
156 | CONFIG_PAGE_SIZE_4KB=y | ||
157 | # CONFIG_PAGE_SIZE_8KB is not set | ||
158 | # CONFIG_PAGE_SIZE_64KB is not set | ||
180 | CONFIG_HUGETLB_PAGE_SIZE_64K=y | 159 | CONFIG_HUGETLB_PAGE_SIZE_64K=y |
160 | # CONFIG_HUGETLB_PAGE_SIZE_256K is not set | ||
181 | # CONFIG_HUGETLB_PAGE_SIZE_1MB is not set | 161 | # CONFIG_HUGETLB_PAGE_SIZE_1MB is not set |
162 | # CONFIG_HUGETLB_PAGE_SIZE_4MB is not set | ||
163 | # CONFIG_HUGETLB_PAGE_SIZE_64MB is not set | ||
182 | CONFIG_SELECT_MEMORY_MODEL=y | 164 | CONFIG_SELECT_MEMORY_MODEL=y |
183 | CONFIG_FLATMEM_MANUAL=y | 165 | CONFIG_FLATMEM_MANUAL=y |
184 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 166 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
185 | # CONFIG_SPARSEMEM_MANUAL is not set | 167 | # CONFIG_SPARSEMEM_MANUAL is not set |
186 | CONFIG_FLATMEM=y | 168 | CONFIG_FLATMEM=y |
187 | CONFIG_FLAT_NODE_MEM_MAP=y | 169 | CONFIG_FLAT_NODE_MEM_MAP=y |
188 | # CONFIG_SPARSEMEM_STATIC is not set | 170 | CONFIG_SPARSEMEM_STATIC=y |
189 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 171 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
190 | # CONFIG_RESOURCES_64BIT is not set | 172 | # CONFIG_RESOURCES_64BIT is not set |
173 | CONFIG_ZONE_DMA_FLAG=0 | ||
174 | CONFIG_NR_QUICK=2 | ||
191 | 175 | ||
192 | # | 176 | # |
193 | # Cache configuration | 177 | # Cache configuration |
194 | # | 178 | # |
195 | # CONFIG_SH_DIRECT_MAPPED is not set | 179 | # CONFIG_SH_DIRECT_MAPPED is not set |
196 | # CONFIG_SH_WRITETHROUGH is not set | 180 | # CONFIG_SH_WRITETHROUGH is not set |
197 | # CONFIG_SH_OCRAM is not set | ||
198 | 181 | ||
199 | # | 182 | # |
200 | # Processor features | 183 | # Processor features |
201 | # | 184 | # |
202 | CONFIG_CPU_LITTLE_ENDIAN=y | 185 | CONFIG_CPU_LITTLE_ENDIAN=y |
186 | # CONFIG_CPU_BIG_ENDIAN is not set | ||
203 | CONFIG_SH_FPU=y | 187 | CONFIG_SH_FPU=y |
204 | # CONFIG_SH_DSP is not set | 188 | # CONFIG_SH_DSP is not set |
205 | CONFIG_SH_STORE_QUEUES=y | 189 | CONFIG_SH_STORE_QUEUES=y |
206 | CONFIG_CPU_HAS_INTEVT=y | 190 | CONFIG_CPU_HAS_INTEVT=y |
191 | CONFIG_CPU_HAS_IPR_IRQ=y | ||
207 | CONFIG_CPU_HAS_SR_RB=y | 192 | CONFIG_CPU_HAS_SR_RB=y |
193 | CONFIG_CPU_HAS_PTEA=y | ||
208 | 194 | ||
209 | # | 195 | # |
210 | # Timer support | 196 | # Board support |
197 | # | ||
198 | CONFIG_SH_DREAMCAST=y | ||
199 | |||
200 | # | ||
201 | # Timer and clock configuration | ||
211 | # | 202 | # |
212 | CONFIG_SH_TMU=y | 203 | CONFIG_SH_TMU=y |
204 | CONFIG_SH_TIMER_IRQ=16 | ||
213 | CONFIG_SH_PCLK_FREQ=49876504 | 205 | CONFIG_SH_PCLK_FREQ=49876504 |
206 | # CONFIG_TICK_ONESHOT is not set | ||
207 | # CONFIG_NO_HZ is not set | ||
208 | # CONFIG_HIGH_RES_TIMERS is not set | ||
214 | 209 | ||
215 | # | 210 | # |
216 | # CPU Frequency scaling | 211 | # CPU Frequency scaling |
@@ -232,6 +227,7 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y | |||
232 | # | 227 | # |
233 | # DMA support | 228 | # DMA support |
234 | # | 229 | # |
230 | CONFIG_SH_DMA_API=y | ||
235 | CONFIG_SH_DMA=y | 231 | CONFIG_SH_DMA=y |
236 | CONFIG_NR_ONCHIP_DMA_CHANNELS=4 | 232 | CONFIG_NR_ONCHIP_DMA_CHANNELS=4 |
237 | CONFIG_NR_DMA_CHANNELS_BOOL=y | 233 | CONFIG_NR_DMA_CHANNELS_BOOL=y |
@@ -240,17 +236,23 @@ CONFIG_NR_DMA_CHANNELS=9 | |||
240 | # | 236 | # |
241 | # Companion Chips | 237 | # Companion Chips |
242 | # | 238 | # |
243 | # CONFIG_HD6446X_SERIES is not set | 239 | |
240 | # | ||
241 | # Additional SuperH Device Drivers | ||
242 | # | ||
243 | # CONFIG_HEARTBEAT is not set | ||
244 | # CONFIG_PUSH_SWITCH is not set | ||
244 | 245 | ||
245 | # | 246 | # |
246 | # Kernel features | 247 | # Kernel features |
247 | # | 248 | # |
248 | # CONFIG_HZ_100 is not set | 249 | # CONFIG_HZ_100 is not set |
249 | CONFIG_HZ_250=y | 250 | CONFIG_HZ_250=y |
251 | # CONFIG_HZ_300 is not set | ||
250 | # CONFIG_HZ_1000 is not set | 252 | # CONFIG_HZ_1000 is not set |
251 | CONFIG_HZ=250 | 253 | CONFIG_HZ=250 |
252 | # CONFIG_KEXEC is not set | 254 | # CONFIG_KEXEC is not set |
253 | # CONFIG_SMP is not set | 255 | # CONFIG_CRASH_DUMP is not set |
254 | # CONFIG_PREEMPT_NONE is not set | 256 | # CONFIG_PREEMPT_NONE is not set |
255 | # CONFIG_PREEMPT_VOLUNTARY is not set | 257 | # CONFIG_PREEMPT_VOLUNTARY is not set |
256 | CONFIG_PREEMPT=y | 258 | CONFIG_PREEMPT=y |
@@ -269,33 +271,23 @@ CONFIG_CMDLINE="console=ttySC1,115200 panic=3" | |||
269 | # Bus options | 271 | # Bus options |
270 | # | 272 | # |
271 | CONFIG_PCI=y | 273 | CONFIG_PCI=y |
272 | # CONFIG_SH_PCIDMA_NONCOHERENT is not set | 274 | CONFIG_SH_PCIDMA_NONCOHERENT=y |
273 | CONFIG_PCI_AUTO=y | 275 | CONFIG_PCI_AUTO=y |
274 | # CONFIG_PCI_MULTITHREAD_PROBE is not set | 276 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
275 | 277 | ||
276 | # | 278 | # |
277 | # PCCARD (PCMCIA/CardBus) support | 279 | # PCCARD (PCMCIA/CardBus) support |
278 | # | 280 | # |
279 | # CONFIG_PCCARD is not set | 281 | # CONFIG_PCCARD is not set |
280 | |||
281 | # | ||
282 | # PCI Hotplug Support | ||
283 | # | ||
284 | # CONFIG_HOTPLUG_PCI is not set | 282 | # CONFIG_HOTPLUG_PCI is not set |
285 | 283 | ||
286 | # | 284 | # |
287 | # Executable file formats | 285 | # Executable file formats |
288 | # | 286 | # |
289 | CONFIG_BINFMT_ELF=y | 287 | CONFIG_BINFMT_ELF=y |
290 | # CONFIG_BINFMT_FLAT is not set | ||
291 | # CONFIG_BINFMT_MISC is not set | 288 | # CONFIG_BINFMT_MISC is not set |
292 | 289 | ||
293 | # | 290 | # |
294 | # Power management options (EXPERIMENTAL) | ||
295 | # | ||
296 | # CONFIG_PM is not set | ||
297 | |||
298 | # | ||
299 | # Networking | 291 | # Networking |
300 | # | 292 | # |
301 | CONFIG_NET=y | 293 | CONFIG_NET=y |
@@ -303,13 +295,13 @@ CONFIG_NET=y | |||
303 | # | 295 | # |
304 | # Networking options | 296 | # Networking options |
305 | # | 297 | # |
306 | # CONFIG_NETDEBUG is not set | ||
307 | CONFIG_PACKET=y | 298 | CONFIG_PACKET=y |
308 | # CONFIG_PACKET_MMAP is not set | 299 | # CONFIG_PACKET_MMAP is not set |
309 | CONFIG_UNIX=y | 300 | CONFIG_UNIX=y |
310 | CONFIG_XFRM=y | 301 | CONFIG_XFRM=y |
311 | # CONFIG_XFRM_USER is not set | 302 | # CONFIG_XFRM_USER is not set |
312 | # CONFIG_XFRM_SUB_POLICY is not set | 303 | # CONFIG_XFRM_SUB_POLICY is not set |
304 | # CONFIG_XFRM_MIGRATE is not set | ||
313 | # CONFIG_NET_KEY is not set | 305 | # CONFIG_NET_KEY is not set |
314 | CONFIG_INET=y | 306 | CONFIG_INET=y |
315 | # CONFIG_IP_MULTICAST is not set | 307 | # CONFIG_IP_MULTICAST is not set |
@@ -327,30 +319,20 @@ CONFIG_IP_FIB_HASH=y | |||
327 | # CONFIG_INET_TUNNEL is not set | 319 | # CONFIG_INET_TUNNEL is not set |
328 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 320 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
329 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 321 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
322 | CONFIG_INET_XFRM_MODE_BEET=y | ||
330 | CONFIG_INET_DIAG=y | 323 | CONFIG_INET_DIAG=y |
331 | CONFIG_INET_TCP_DIAG=y | 324 | CONFIG_INET_TCP_DIAG=y |
332 | # CONFIG_TCP_CONG_ADVANCED is not set | 325 | # CONFIG_TCP_CONG_ADVANCED is not set |
333 | CONFIG_TCP_CONG_CUBIC=y | 326 | CONFIG_TCP_CONG_CUBIC=y |
334 | CONFIG_DEFAULT_TCP_CONG="cubic" | 327 | CONFIG_DEFAULT_TCP_CONG="cubic" |
328 | # CONFIG_TCP_MD5SIG is not set | ||
335 | # CONFIG_IPV6 is not set | 329 | # CONFIG_IPV6 is not set |
336 | # CONFIG_INET6_XFRM_TUNNEL is not set | 330 | # CONFIG_INET6_XFRM_TUNNEL is not set |
337 | # CONFIG_INET6_TUNNEL is not set | 331 | # CONFIG_INET6_TUNNEL is not set |
338 | # CONFIG_NETWORK_SECMARK is not set | 332 | # CONFIG_NETWORK_SECMARK is not set |
339 | # CONFIG_NETFILTER is not set | 333 | # CONFIG_NETFILTER is not set |
340 | |||
341 | # | ||
342 | # DCCP Configuration (EXPERIMENTAL) | ||
343 | # | ||
344 | # CONFIG_IP_DCCP is not set | 334 | # CONFIG_IP_DCCP is not set |
345 | |||
346 | # | ||
347 | # SCTP Configuration (EXPERIMENTAL) | ||
348 | # | ||
349 | # CONFIG_IP_SCTP is not set | 335 | # CONFIG_IP_SCTP is not set |
350 | |||
351 | # | ||
352 | # TIPC Configuration (EXPERIMENTAL) | ||
353 | # | ||
354 | # CONFIG_TIPC is not set | 336 | # CONFIG_TIPC is not set |
355 | # CONFIG_ATM is not set | 337 | # CONFIG_ATM is not set |
356 | # CONFIG_BRIDGE is not set | 338 | # CONFIG_BRIDGE is not set |
@@ -376,7 +358,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
376 | # CONFIG_HAMRADIO is not set | 358 | # CONFIG_HAMRADIO is not set |
377 | # CONFIG_IRDA is not set | 359 | # CONFIG_IRDA is not set |
378 | # CONFIG_BT is not set | 360 | # CONFIG_BT is not set |
361 | # CONFIG_AF_RXRPC is not set | ||
362 | |||
363 | # | ||
364 | # Wireless | ||
365 | # | ||
366 | # CONFIG_CFG80211 is not set | ||
367 | # CONFIG_WIRELESS_EXT is not set | ||
368 | # CONFIG_MAC80211 is not set | ||
379 | # CONFIG_IEEE80211 is not set | 369 | # CONFIG_IEEE80211 is not set |
370 | # CONFIG_RFKILL is not set | ||
380 | 371 | ||
381 | # | 372 | # |
382 | # Device Drivers | 373 | # Device Drivers |
@@ -394,10 +385,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
394 | # Connector - unified userspace <-> kernelspace linker | 385 | # Connector - unified userspace <-> kernelspace linker |
395 | # | 386 | # |
396 | # CONFIG_CONNECTOR is not set | 387 | # CONFIG_CONNECTOR is not set |
397 | |||
398 | # | ||
399 | # Memory Technology Devices (MTD) | ||
400 | # | ||
401 | # CONFIG_MTD is not set | 388 | # CONFIG_MTD is not set |
402 | 389 | ||
403 | # | 390 | # |
@@ -408,6 +395,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
408 | # | 395 | # |
409 | # Plug and Play support | 396 | # Plug and Play support |
410 | # | 397 | # |
398 | # CONFIG_PNPACPI is not set | ||
411 | 399 | ||
412 | # | 400 | # |
413 | # Block devices | 401 | # Block devices |
@@ -421,13 +409,16 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
421 | # CONFIG_BLK_DEV_NBD is not set | 409 | # CONFIG_BLK_DEV_NBD is not set |
422 | # CONFIG_BLK_DEV_SX8 is not set | 410 | # CONFIG_BLK_DEV_SX8 is not set |
423 | # CONFIG_BLK_DEV_RAM is not set | 411 | # CONFIG_BLK_DEV_RAM is not set |
424 | # CONFIG_BLK_DEV_INITRD is not set | ||
425 | # CONFIG_CDROM_PKTCDVD is not set | 412 | # CONFIG_CDROM_PKTCDVD is not set |
426 | # CONFIG_ATA_OVER_ETH is not set | 413 | # CONFIG_ATA_OVER_ETH is not set |
427 | 414 | ||
428 | # | 415 | # |
429 | # ATA/ATAPI/MFM/RLL support | 416 | # Misc devices |
430 | # | 417 | # |
418 | # CONFIG_PHANTOM is not set | ||
419 | # CONFIG_SGI_IOC4 is not set | ||
420 | # CONFIG_TIFM_CORE is not set | ||
421 | # CONFIG_BLINK is not set | ||
431 | # CONFIG_IDE is not set | 422 | # CONFIG_IDE is not set |
432 | 423 | ||
433 | # | 424 | # |
@@ -436,10 +427,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
436 | # CONFIG_RAID_ATTRS is not set | 427 | # CONFIG_RAID_ATTRS is not set |
437 | # CONFIG_SCSI is not set | 428 | # CONFIG_SCSI is not set |
438 | # CONFIG_SCSI_NETLINK is not set | 429 | # CONFIG_SCSI_NETLINK is not set |
439 | |||
440 | # | ||
441 | # Serial ATA (prod) and Parallel ATA (experimental) drivers | ||
442 | # | ||
443 | # CONFIG_ATA is not set | 430 | # CONFIG_ATA is not set |
444 | 431 | ||
445 | # | 432 | # |
@@ -455,6 +442,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
455 | # | 442 | # |
456 | # IEEE 1394 (FireWire) support | 443 | # IEEE 1394 (FireWire) support |
457 | # | 444 | # |
445 | # CONFIG_FIREWIRE is not set | ||
458 | # CONFIG_IEEE1394 is not set | 446 | # CONFIG_IEEE1394 is not set |
459 | 447 | ||
460 | # | 448 | # |
@@ -470,15 +458,7 @@ CONFIG_NETDEVICES=y | |||
470 | # CONFIG_BONDING is not set | 458 | # CONFIG_BONDING is not set |
471 | # CONFIG_EQUALIZER is not set | 459 | # CONFIG_EQUALIZER is not set |
472 | # CONFIG_TUN is not set | 460 | # CONFIG_TUN is not set |
473 | |||
474 | # | ||
475 | # ARCnet devices | ||
476 | # | ||
477 | # CONFIG_ARCNET is not set | 461 | # CONFIG_ARCNET is not set |
478 | |||
479 | # | ||
480 | # PHY device support | ||
481 | # | ||
482 | # CONFIG_PHYLIB is not set | 462 | # CONFIG_PHYLIB is not set |
483 | 463 | ||
484 | # | 464 | # |
@@ -521,47 +501,16 @@ CONFIG_8139TOO=y | |||
521 | # CONFIG_SUNDANCE is not set | 501 | # CONFIG_SUNDANCE is not set |
522 | # CONFIG_TLAN is not set | 502 | # CONFIG_TLAN is not set |
523 | # CONFIG_VIA_RHINE is not set | 503 | # CONFIG_VIA_RHINE is not set |
524 | 504 | # CONFIG_SC92031 is not set | |
525 | # | 505 | # CONFIG_NETDEV_1000 is not set |
526 | # Ethernet (1000 Mbit) | 506 | # CONFIG_NETDEV_10000 is not set |
527 | # | ||
528 | # CONFIG_ACENIC is not set | ||
529 | # CONFIG_DL2K is not set | ||
530 | # CONFIG_E1000 is not set | ||
531 | # CONFIG_NS83820 is not set | ||
532 | # CONFIG_HAMACHI is not set | ||
533 | # CONFIG_YELLOWFIN is not set | ||
534 | # CONFIG_R8169 is not set | ||
535 | # CONFIG_SIS190 is not set | ||
536 | # CONFIG_SKGE is not set | ||
537 | # CONFIG_SKY2 is not set | ||
538 | # CONFIG_SK98LIN is not set | ||
539 | # CONFIG_VIA_VELOCITY is not set | ||
540 | # CONFIG_TIGON3 is not set | ||
541 | # CONFIG_BNX2 is not set | ||
542 | # CONFIG_QLA3XXX is not set | ||
543 | |||
544 | # | ||
545 | # Ethernet (10000 Mbit) | ||
546 | # | ||
547 | # CONFIG_CHELSIO_T1 is not set | ||
548 | # CONFIG_IXGB is not set | ||
549 | # CONFIG_S2IO is not set | ||
550 | # CONFIG_MYRI10GE is not set | ||
551 | |||
552 | # | ||
553 | # Token Ring devices | ||
554 | # | ||
555 | # CONFIG_TR is not set | 507 | # CONFIG_TR is not set |
556 | 508 | ||
557 | # | 509 | # |
558 | # Wireless LAN (non-hamradio) | 510 | # Wireless LAN |
559 | # | ||
560 | # CONFIG_NET_RADIO is not set | ||
561 | |||
562 | # | ||
563 | # Wan interfaces | ||
564 | # | 511 | # |
512 | # CONFIG_WLAN_PRE80211 is not set | ||
513 | # CONFIG_WLAN_80211 is not set | ||
565 | # CONFIG_WAN is not set | 514 | # CONFIG_WAN is not set |
566 | # CONFIG_FDDI is not set | 515 | # CONFIG_FDDI is not set |
567 | # CONFIG_HIPPI is not set | 516 | # CONFIG_HIPPI is not set |
@@ -604,17 +553,19 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | |||
604 | # Input Device Drivers | 553 | # Input Device Drivers |
605 | # | 554 | # |
606 | CONFIG_INPUT_KEYBOARD=y | 555 | CONFIG_INPUT_KEYBOARD=y |
607 | CONFIG_KEYBOARD_ATKBD=y | 556 | # CONFIG_KEYBOARD_ATKBD is not set |
608 | # CONFIG_KEYBOARD_SUNKBD is not set | 557 | # CONFIG_KEYBOARD_SUNKBD is not set |
609 | # CONFIG_KEYBOARD_LKKBD is not set | 558 | # CONFIG_KEYBOARD_LKKBD is not set |
610 | # CONFIG_KEYBOARD_XTKBD is not set | 559 | # CONFIG_KEYBOARD_XTKBD is not set |
611 | # CONFIG_KEYBOARD_NEWTON is not set | 560 | # CONFIG_KEYBOARD_NEWTON is not set |
612 | # CONFIG_KEYBOARD_STOWAWAY is not set | 561 | # CONFIG_KEYBOARD_STOWAWAY is not set |
613 | CONFIG_INPUT_MOUSE=y | 562 | CONFIG_INPUT_MOUSE=y |
614 | CONFIG_MOUSE_PS2=y | 563 | # CONFIG_MOUSE_PS2 is not set |
615 | # CONFIG_MOUSE_SERIAL is not set | 564 | # CONFIG_MOUSE_SERIAL is not set |
565 | # CONFIG_MOUSE_APPLETOUCH is not set | ||
616 | # CONFIG_MOUSE_VSXXXAA is not set | 566 | # CONFIG_MOUSE_VSXXXAA is not set |
617 | # CONFIG_INPUT_JOYSTICK is not set | 567 | # CONFIG_INPUT_JOYSTICK is not set |
568 | # CONFIG_INPUT_TABLET is not set | ||
618 | # CONFIG_INPUT_TOUCHSCREEN is not set | 569 | # CONFIG_INPUT_TOUCHSCREEN is not set |
619 | # CONFIG_INPUT_MISC is not set | 570 | # CONFIG_INPUT_MISC is not set |
620 | 571 | ||
@@ -660,10 +611,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
660 | # IPMI | 611 | # IPMI |
661 | # | 612 | # |
662 | # CONFIG_IPMI_HANDLER is not set | 613 | # CONFIG_IPMI_HANDLER is not set |
663 | |||
664 | # | ||
665 | # Watchdog Cards | ||
666 | # | ||
667 | CONFIG_WATCHDOG=y | 614 | CONFIG_WATCHDOG=y |
668 | # CONFIG_WATCHDOG_NOWAYOUT is not set | 615 | # CONFIG_WATCHDOG_NOWAYOUT is not set |
669 | 616 | ||
@@ -680,14 +627,8 @@ CONFIG_SH_WDT=y | |||
680 | # CONFIG_PCIPCWATCHDOG is not set | 627 | # CONFIG_PCIPCWATCHDOG is not set |
681 | # CONFIG_WDTPCI is not set | 628 | # CONFIG_WDTPCI is not set |
682 | CONFIG_HW_RANDOM=y | 629 | CONFIG_HW_RANDOM=y |
683 | # CONFIG_GEN_RTC is not set | ||
684 | # CONFIG_DTLK is not set | ||
685 | # CONFIG_R3964 is not set | 630 | # CONFIG_R3964 is not set |
686 | # CONFIG_APPLICOM is not set | 631 | # CONFIG_APPLICOM is not set |
687 | |||
688 | # | ||
689 | # Ftape, the floppy tape device driver | ||
690 | # | ||
691 | # CONFIG_DRM is not set | 632 | # CONFIG_DRM is not set |
692 | # CONFIG_RAW_DRIVER is not set | 633 | # CONFIG_RAW_DRIVER is not set |
693 | 634 | ||
@@ -695,11 +636,7 @@ CONFIG_HW_RANDOM=y | |||
695 | # TPM devices | 636 | # TPM devices |
696 | # | 637 | # |
697 | # CONFIG_TCG_TPM is not set | 638 | # CONFIG_TCG_TPM is not set |
698 | # CONFIG_TELCLOCK is not set | 639 | CONFIG_DEVPORT=y |
699 | |||
700 | # | ||
701 | # I2C support | ||
702 | # | ||
703 | # CONFIG_I2C is not set | 640 | # CONFIG_I2C is not set |
704 | 641 | ||
705 | # | 642 | # |
@@ -711,44 +648,51 @@ CONFIG_HW_RANDOM=y | |||
711 | # | 648 | # |
712 | # Dallas's 1-wire bus | 649 | # Dallas's 1-wire bus |
713 | # | 650 | # |
651 | # CONFIG_W1 is not set | ||
652 | # CONFIG_HWMON is not set | ||
714 | 653 | ||
715 | # | 654 | # |
716 | # Hardware Monitoring support | 655 | # Multifunction device drivers |
717 | # | ||
718 | CONFIG_HWMON=y | ||
719 | # CONFIG_HWMON_VID is not set | ||
720 | # CONFIG_SENSORS_ABITUGURU is not set | ||
721 | # CONFIG_SENSORS_F71805F is not set | ||
722 | # CONFIG_SENSORS_VT1211 is not set | ||
723 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
724 | |||
725 | # | ||
726 | # Misc devices | ||
727 | # | 656 | # |
657 | # CONFIG_MFD_SM501 is not set | ||
728 | 658 | ||
729 | # | 659 | # |
730 | # Multimedia devices | 660 | # Multimedia devices |
731 | # | 661 | # |
732 | # CONFIG_VIDEO_DEV is not set | 662 | # CONFIG_VIDEO_DEV is not set |
733 | CONFIG_VIDEO_V4L2=y | 663 | # CONFIG_DVB_CORE is not set |
664 | # CONFIG_DAB is not set | ||
734 | 665 | ||
735 | # | 666 | # |
736 | # Digital Video Broadcasting Devices | 667 | # Graphics support |
737 | # | 668 | # |
738 | # CONFIG_DVB is not set | 669 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
739 | 670 | ||
740 | # | 671 | # |
741 | # Graphics support | 672 | # Display device support |
742 | # | 673 | # |
743 | CONFIG_FIRMWARE_EDID=y | 674 | # CONFIG_DISPLAY_SUPPORT is not set |
675 | # CONFIG_VGASTATE is not set | ||
744 | CONFIG_FB=y | 676 | CONFIG_FB=y |
677 | CONFIG_FIRMWARE_EDID=y | ||
678 | # CONFIG_FB_DDC is not set | ||
745 | CONFIG_FB_CFB_FILLRECT=y | 679 | CONFIG_FB_CFB_FILLRECT=y |
746 | CONFIG_FB_CFB_COPYAREA=y | 680 | CONFIG_FB_CFB_COPYAREA=y |
747 | CONFIG_FB_CFB_IMAGEBLIT=y | 681 | CONFIG_FB_CFB_IMAGEBLIT=y |
682 | # CONFIG_FB_SYS_FILLRECT is not set | ||
683 | # CONFIG_FB_SYS_COPYAREA is not set | ||
684 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
685 | # CONFIG_FB_SYS_FOPS is not set | ||
686 | CONFIG_FB_DEFERRED_IO=y | ||
687 | # CONFIG_FB_SVGALIB is not set | ||
748 | # CONFIG_FB_MACMODES is not set | 688 | # CONFIG_FB_MACMODES is not set |
749 | # CONFIG_FB_BACKLIGHT is not set | 689 | # CONFIG_FB_BACKLIGHT is not set |
750 | # CONFIG_FB_MODE_HELPERS is not set | 690 | # CONFIG_FB_MODE_HELPERS is not set |
751 | # CONFIG_FB_TILEBLITTING is not set | 691 | # CONFIG_FB_TILEBLITTING is not set |
692 | |||
693 | # | ||
694 | # Frame buffer hardware drivers | ||
695 | # | ||
752 | # CONFIG_FB_CIRRUS is not set | 696 | # CONFIG_FB_CIRRUS is not set |
753 | # CONFIG_FB_PM2 is not set | 697 | # CONFIG_FB_PM2 is not set |
754 | # CONFIG_FB_CYBER2000 is not set | 698 | # CONFIG_FB_CYBER2000 is not set |
@@ -763,13 +707,17 @@ CONFIG_FB_PVR2=y | |||
763 | # CONFIG_FB_RADEON is not set | 707 | # CONFIG_FB_RADEON is not set |
764 | # CONFIG_FB_ATY128 is not set | 708 | # CONFIG_FB_ATY128 is not set |
765 | # CONFIG_FB_ATY is not set | 709 | # CONFIG_FB_ATY is not set |
710 | # CONFIG_FB_S3 is not set | ||
766 | # CONFIG_FB_SAVAGE is not set | 711 | # CONFIG_FB_SAVAGE is not set |
767 | # CONFIG_FB_SIS is not set | 712 | # CONFIG_FB_SIS is not set |
768 | # CONFIG_FB_NEOMAGIC is not set | 713 | # CONFIG_FB_NEOMAGIC is not set |
769 | # CONFIG_FB_KYRO is not set | 714 | # CONFIG_FB_KYRO is not set |
770 | # CONFIG_FB_3DFX is not set | 715 | # CONFIG_FB_3DFX is not set |
771 | # CONFIG_FB_VOODOO1 is not set | 716 | # CONFIG_FB_VOODOO1 is not set |
717 | # CONFIG_FB_VT8623 is not set | ||
772 | # CONFIG_FB_TRIDENT is not set | 718 | # CONFIG_FB_TRIDENT is not set |
719 | # CONFIG_FB_ARK is not set | ||
720 | # CONFIG_FB_PM3 is not set | ||
773 | # CONFIG_FB_VIRTUAL is not set | 721 | # CONFIG_FB_VIRTUAL is not set |
774 | 722 | ||
775 | # | 723 | # |
@@ -789,10 +737,6 @@ CONFIG_FONT_8x16=y | |||
789 | # CONFIG_FONT_SUN8x16 is not set | 737 | # CONFIG_FONT_SUN8x16 is not set |
790 | # CONFIG_FONT_SUN12x22 is not set | 738 | # CONFIG_FONT_SUN12x22 is not set |
791 | # CONFIG_FONT_10x18 is not set | 739 | # CONFIG_FONT_10x18 is not set |
792 | |||
793 | # | ||
794 | # Logo configuration | ||
795 | # | ||
796 | CONFIG_LOGO=y | 740 | CONFIG_LOGO=y |
797 | # CONFIG_LOGO_LINUX_MONO is not set | 741 | # CONFIG_LOGO_LINUX_MONO is not set |
798 | # CONFIG_LOGO_LINUX_VGA16 is not set | 742 | # CONFIG_LOGO_LINUX_VGA16 is not set |
@@ -800,7 +744,6 @@ CONFIG_LOGO=y | |||
800 | # CONFIG_LOGO_SUPERH_MONO is not set | 744 | # CONFIG_LOGO_SUPERH_MONO is not set |
801 | # CONFIG_LOGO_SUPERH_VGA16 is not set | 745 | # CONFIG_LOGO_SUPERH_VGA16 is not set |
802 | CONFIG_LOGO_SUPERH_CLUT224=y | 746 | CONFIG_LOGO_SUPERH_CLUT224=y |
803 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
804 | 747 | ||
805 | # | 748 | # |
806 | # Sound | 749 | # Sound |
@@ -808,6 +751,12 @@ CONFIG_LOGO_SUPERH_CLUT224=y | |||
808 | # CONFIG_SOUND is not set | 751 | # CONFIG_SOUND is not set |
809 | 752 | ||
810 | # | 753 | # |
754 | # HID Devices | ||
755 | # | ||
756 | CONFIG_HID=y | ||
757 | # CONFIG_HID_DEBUG is not set | ||
758 | |||
759 | # | ||
811 | # USB support | 760 | # USB support |
812 | # | 761 | # |
813 | CONFIG_USB_ARCH_HAS_HCD=y | 762 | CONFIG_USB_ARCH_HAS_HCD=y |
@@ -823,10 +772,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
823 | # USB Gadget Support | 772 | # USB Gadget Support |
824 | # | 773 | # |
825 | # CONFIG_USB_GADGET is not set | 774 | # CONFIG_USB_GADGET is not set |
826 | |||
827 | # | ||
828 | # MMC/SD Card support | ||
829 | # | ||
830 | # CONFIG_MMC is not set | 775 | # CONFIG_MMC is not set |
831 | 776 | ||
832 | # | 777 | # |
@@ -874,10 +819,12 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
874 | # | 819 | # |
875 | # CONFIG_EXT2_FS is not set | 820 | # CONFIG_EXT2_FS is not set |
876 | # CONFIG_EXT3_FS is not set | 821 | # CONFIG_EXT3_FS is not set |
822 | # CONFIG_EXT4DEV_FS is not set | ||
877 | # CONFIG_REISERFS_FS is not set | 823 | # CONFIG_REISERFS_FS is not set |
878 | # CONFIG_JFS_FS is not set | 824 | # CONFIG_JFS_FS is not set |
879 | # CONFIG_FS_POSIX_ACL is not set | 825 | # CONFIG_FS_POSIX_ACL is not set |
880 | # CONFIG_XFS_FS is not set | 826 | # CONFIG_XFS_FS is not set |
827 | # CONFIG_GFS2_FS is not set | ||
881 | # CONFIG_OCFS2_FS is not set | 828 | # CONFIG_OCFS2_FS is not set |
882 | # CONFIG_MINIX_FS is not set | 829 | # CONFIG_MINIX_FS is not set |
883 | # CONFIG_ROMFS_FS is not set | 830 | # CONFIG_ROMFS_FS is not set |
@@ -957,6 +904,11 @@ CONFIG_MSDOS_PARTITION=y | |||
957 | # CONFIG_NLS is not set | 904 | # CONFIG_NLS is not set |
958 | 905 | ||
959 | # | 906 | # |
907 | # Distributed Lock Manager | ||
908 | # | ||
909 | # CONFIG_DLM is not set | ||
910 | |||
911 | # | ||
960 | # Profiling support | 912 | # Profiling support |
961 | # | 913 | # |
962 | CONFIG_PROFILING=y | 914 | CONFIG_PROFILING=y |
@@ -965,17 +917,18 @@ CONFIG_PROFILING=y | |||
965 | # | 917 | # |
966 | # Kernel hacking | 918 | # Kernel hacking |
967 | # | 919 | # |
920 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
968 | # CONFIG_PRINTK_TIME is not set | 921 | # CONFIG_PRINTK_TIME is not set |
969 | CONFIG_ENABLE_MUST_CHECK=y | 922 | CONFIG_ENABLE_MUST_CHECK=y |
970 | # CONFIG_MAGIC_SYSRQ is not set | 923 | # CONFIG_MAGIC_SYSRQ is not set |
971 | # CONFIG_UNUSED_SYMBOLS is not set | 924 | # CONFIG_UNUSED_SYMBOLS is not set |
925 | # CONFIG_DEBUG_FS is not set | ||
926 | # CONFIG_HEADERS_CHECK is not set | ||
972 | # CONFIG_DEBUG_KERNEL is not set | 927 | # CONFIG_DEBUG_KERNEL is not set |
973 | CONFIG_LOG_BUF_SHIFT=14 | ||
974 | # CONFIG_DEBUG_BUGVERBOSE is not set | 928 | # CONFIG_DEBUG_BUGVERBOSE is not set |
975 | # CONFIG_DEBUG_FS is not set | ||
976 | # CONFIG_SH_STANDARD_BIOS is not set | 929 | # CONFIG_SH_STANDARD_BIOS is not set |
977 | # CONFIG_EARLY_SCIF_CONSOLE is not set | 930 | # CONFIG_EARLY_SCIF_CONSOLE is not set |
978 | # CONFIG_KGDB is not set | 931 | # CONFIG_SH_KGDB is not set |
979 | 932 | ||
980 | # | 933 | # |
981 | # Security options | 934 | # Security options |
@@ -991,8 +944,13 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
991 | # | 944 | # |
992 | # Library routines | 945 | # Library routines |
993 | # | 946 | # |
947 | CONFIG_BITREVERSE=y | ||
994 | # CONFIG_CRC_CCITT is not set | 948 | # CONFIG_CRC_CCITT is not set |
995 | # CONFIG_CRC16 is not set | 949 | # CONFIG_CRC16 is not set |
950 | # CONFIG_CRC_ITU_T is not set | ||
996 | CONFIG_CRC32=y | 951 | CONFIG_CRC32=y |
997 | # CONFIG_LIBCRC32C is not set | 952 | # CONFIG_LIBCRC32C is not set |
998 | CONFIG_PLIST=y | 953 | CONFIG_PLIST=y |
954 | CONFIG_HAS_IOMEM=y | ||
955 | CONFIG_HAS_IOPORT=y | ||
956 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/sh/configs/r7780mp_defconfig b/arch/sh/configs/r7780mp_defconfig new file mode 100644 index 000000000000..17f7402b31d8 --- /dev/null +++ b/arch/sh/configs/r7780mp_defconfig | |||
@@ -0,0 +1,1223 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.22-rc4 | ||
4 | # Mon Jun 11 10:24:57 2007 | ||
5 | # | ||
6 | CONFIG_SUPERH=y | ||
7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
8 | CONFIG_GENERIC_BUG=y | ||
9 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
10 | CONFIG_GENERIC_HWEIGHT=y | ||
11 | CONFIG_GENERIC_HARDIRQS=y | ||
12 | CONFIG_GENERIC_IRQ_PROBE=y | ||
13 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
14 | CONFIG_GENERIC_TIME=y | ||
15 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
16 | CONFIG_STACKTRACE_SUPPORT=y | ||
17 | CONFIG_LOCKDEP_SUPPORT=y | ||
18 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
19 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
20 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
21 | |||
22 | # | ||
23 | # Code maturity level options | ||
24 | # | ||
25 | CONFIG_EXPERIMENTAL=y | ||
26 | CONFIG_BROKEN_ON_SMP=y | ||
27 | CONFIG_LOCK_KERNEL=y | ||
28 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
29 | |||
30 | # | ||
31 | # General setup | ||
32 | # | ||
33 | CONFIG_LOCALVERSION="" | ||
34 | CONFIG_LOCALVERSION_AUTO=y | ||
35 | CONFIG_SWAP=y | ||
36 | CONFIG_SYSVIPC=y | ||
37 | # CONFIG_IPC_NS is not set | ||
38 | CONFIG_SYSVIPC_SYSCTL=y | ||
39 | # CONFIG_POSIX_MQUEUE is not set | ||
40 | CONFIG_BSD_PROCESS_ACCT=y | ||
41 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set | ||
42 | # CONFIG_TASKSTATS is not set | ||
43 | # CONFIG_UTS_NS is not set | ||
44 | # CONFIG_AUDIT is not set | ||
45 | CONFIG_IKCONFIG=y | ||
46 | CONFIG_IKCONFIG_PROC=y | ||
47 | CONFIG_LOG_BUF_SHIFT=14 | ||
48 | # CONFIG_SYSFS_DEPRECATED is not set | ||
49 | # CONFIG_RELAY is not set | ||
50 | # CONFIG_BLK_DEV_INITRD is not set | ||
51 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
52 | CONFIG_SYSCTL=y | ||
53 | CONFIG_EMBEDDED=y | ||
54 | CONFIG_UID16=y | ||
55 | # CONFIG_SYSCTL_SYSCALL is not set | ||
56 | CONFIG_KALLSYMS=y | ||
57 | # CONFIG_KALLSYMS_ALL is not set | ||
58 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
59 | CONFIG_HOTPLUG=y | ||
60 | CONFIG_PRINTK=y | ||
61 | CONFIG_BUG=y | ||
62 | CONFIG_ELF_CORE=y | ||
63 | CONFIG_BASE_FULL=y | ||
64 | # CONFIG_FUTEX is not set | ||
65 | CONFIG_ANON_INODES=y | ||
66 | # CONFIG_EPOLL is not set | ||
67 | CONFIG_SIGNALFD=y | ||
68 | CONFIG_TIMERFD=y | ||
69 | CONFIG_EVENTFD=y | ||
70 | CONFIG_SHMEM=y | ||
71 | CONFIG_VM_EVENT_COUNTERS=y | ||
72 | CONFIG_SLAB=y | ||
73 | # CONFIG_SLUB is not set | ||
74 | # CONFIG_SLOB is not set | ||
75 | # CONFIG_TINY_SHMEM is not set | ||
76 | CONFIG_BASE_SMALL=0 | ||
77 | |||
78 | # | ||
79 | # Loadable module support | ||
80 | # | ||
81 | CONFIG_MODULES=y | ||
82 | CONFIG_MODULE_UNLOAD=y | ||
83 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
84 | # CONFIG_MODVERSIONS is not set | ||
85 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
86 | CONFIG_KMOD=y | ||
87 | |||
88 | # | ||
89 | # Block layer | ||
90 | # | ||
91 | CONFIG_BLOCK=y | ||
92 | # CONFIG_LBD is not set | ||
93 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
94 | # CONFIG_LSF is not set | ||
95 | |||
96 | # | ||
97 | # IO Schedulers | ||
98 | # | ||
99 | CONFIG_IOSCHED_NOOP=y | ||
100 | # CONFIG_IOSCHED_AS is not set | ||
101 | # CONFIG_IOSCHED_DEADLINE is not set | ||
102 | # CONFIG_IOSCHED_CFQ is not set | ||
103 | # CONFIG_DEFAULT_AS is not set | ||
104 | # CONFIG_DEFAULT_DEADLINE is not set | ||
105 | # CONFIG_DEFAULT_CFQ is not set | ||
106 | CONFIG_DEFAULT_NOOP=y | ||
107 | CONFIG_DEFAULT_IOSCHED="noop" | ||
108 | |||
109 | # | ||
110 | # System type | ||
111 | # | ||
112 | CONFIG_CPU_SH4=y | ||
113 | CONFIG_CPU_SH4A=y | ||
114 | # CONFIG_CPU_SUBTYPE_SH7619 is not set | ||
115 | # CONFIG_CPU_SUBTYPE_SH7206 is not set | ||
116 | # CONFIG_CPU_SUBTYPE_SH7300 is not set | ||
117 | # CONFIG_CPU_SUBTYPE_SH7705 is not set | ||
118 | # CONFIG_CPU_SUBTYPE_SH7706 is not set | ||
119 | # CONFIG_CPU_SUBTYPE_SH7707 is not set | ||
120 | # CONFIG_CPU_SUBTYPE_SH7708 is not set | ||
121 | # CONFIG_CPU_SUBTYPE_SH7709 is not set | ||
122 | # CONFIG_CPU_SUBTYPE_SH7710 is not set | ||
123 | # CONFIG_CPU_SUBTYPE_SH7712 is not set | ||
124 | # CONFIG_CPU_SUBTYPE_SH7750 is not set | ||
125 | # CONFIG_CPU_SUBTYPE_SH7091 is not set | ||
126 | # CONFIG_CPU_SUBTYPE_SH7750R is not set | ||
127 | # CONFIG_CPU_SUBTYPE_SH7750S is not set | ||
128 | # CONFIG_CPU_SUBTYPE_SH7751 is not set | ||
129 | # CONFIG_CPU_SUBTYPE_SH7751R is not set | ||
130 | # CONFIG_CPU_SUBTYPE_SH7760 is not set | ||
131 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set | ||
132 | # CONFIG_CPU_SUBTYPE_ST40STB1 is not set | ||
133 | # CONFIG_CPU_SUBTYPE_ST40GX1 is not set | ||
134 | # CONFIG_CPU_SUBTYPE_SH7770 is not set | ||
135 | CONFIG_CPU_SUBTYPE_SH7780=y | ||
136 | # CONFIG_CPU_SUBTYPE_SH7785 is not set | ||
137 | # CONFIG_CPU_SUBTYPE_SH73180 is not set | ||
138 | # CONFIG_CPU_SUBTYPE_SH7343 is not set | ||
139 | # CONFIG_CPU_SUBTYPE_SH7722 is not set | ||
140 | |||
141 | # | ||
142 | # Memory management options | ||
143 | # | ||
144 | CONFIG_QUICKLIST=y | ||
145 | CONFIG_MMU=y | ||
146 | CONFIG_PAGE_OFFSET=0x80000000 | ||
147 | CONFIG_MEMORY_START=0x08000000 | ||
148 | CONFIG_MEMORY_SIZE=0x08000000 | ||
149 | # CONFIG_32BIT is not set | ||
150 | CONFIG_VSYSCALL=y | ||
151 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
152 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||
153 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | ||
154 | CONFIG_MAX_ACTIVE_REGIONS=1 | ||
155 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
156 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
157 | CONFIG_PAGE_SIZE_4KB=y | ||
158 | # CONFIG_PAGE_SIZE_8KB is not set | ||
159 | # CONFIG_PAGE_SIZE_64KB is not set | ||
160 | CONFIG_HUGETLB_PAGE_SIZE_64K=y | ||
161 | # CONFIG_HUGETLB_PAGE_SIZE_256K is not set | ||
162 | # CONFIG_HUGETLB_PAGE_SIZE_1MB is not set | ||
163 | # CONFIG_HUGETLB_PAGE_SIZE_4MB is not set | ||
164 | # CONFIG_HUGETLB_PAGE_SIZE_64MB is not set | ||
165 | CONFIG_SELECT_MEMORY_MODEL=y | ||
166 | CONFIG_FLATMEM_MANUAL=y | ||
167 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
168 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
169 | CONFIG_FLATMEM=y | ||
170 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
171 | CONFIG_SPARSEMEM_STATIC=y | ||
172 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
173 | # CONFIG_RESOURCES_64BIT is not set | ||
174 | CONFIG_ZONE_DMA_FLAG=0 | ||
175 | CONFIG_NR_QUICK=2 | ||
176 | |||
177 | # | ||
178 | # Cache configuration | ||
179 | # | ||
180 | # CONFIG_SH_DIRECT_MAPPED is not set | ||
181 | # CONFIG_SH_WRITETHROUGH is not set | ||
182 | # CONFIG_SH_OCRAM is not set | ||
183 | |||
184 | # | ||
185 | # Processor features | ||
186 | # | ||
187 | CONFIG_CPU_LITTLE_ENDIAN=y | ||
188 | # CONFIG_CPU_BIG_ENDIAN is not set | ||
189 | CONFIG_SH_FPU=y | ||
190 | # CONFIG_SH_DSP is not set | ||
191 | CONFIG_SH_STORE_QUEUES=y | ||
192 | CONFIG_SPECULATIVE_EXECUTION=y | ||
193 | CONFIG_CPU_HAS_INTEVT=y | ||
194 | CONFIG_CPU_HAS_INTC2_IRQ=y | ||
195 | CONFIG_CPU_HAS_SR_RB=y | ||
196 | |||
197 | # | ||
198 | # Board support | ||
199 | # | ||
200 | # CONFIG_SH_7780_SOLUTION_ENGINE is not set | ||
201 | CONFIG_SH_HIGHLANDER=y | ||
202 | # CONFIG_SH_R7780RP is not set | ||
203 | CONFIG_SH_R7780MP=y | ||
204 | # CONFIG_SH_R7785RP is not set | ||
205 | |||
206 | # | ||
207 | # Timer and clock configuration | ||
208 | # | ||
209 | CONFIG_SH_TMU=y | ||
210 | CONFIG_SH_TIMER_IRQ=28 | ||
211 | CONFIG_SH_PCLK_FREQ=32000000 | ||
212 | # CONFIG_TICK_ONESHOT is not set | ||
213 | # CONFIG_NO_HZ is not set | ||
214 | # CONFIG_HIGH_RES_TIMERS is not set | ||
215 | |||
216 | # | ||
217 | # CPU Frequency scaling | ||
218 | # | ||
219 | # CONFIG_CPU_FREQ is not set | ||
220 | |||
221 | # | ||
222 | # DMA support | ||
223 | # | ||
224 | # CONFIG_SH_DMA is not set | ||
225 | |||
226 | # | ||
227 | # Companion Chips | ||
228 | # | ||
229 | # CONFIG_HD6446X_SERIES is not set | ||
230 | |||
231 | # | ||
232 | # Additional SuperH Device Drivers | ||
233 | # | ||
234 | # CONFIG_HEARTBEAT is not set | ||
235 | CONFIG_PUSH_SWITCH=y | ||
236 | |||
237 | # | ||
238 | # Kernel features | ||
239 | # | ||
240 | # CONFIG_HZ_100 is not set | ||
241 | CONFIG_HZ_250=y | ||
242 | # CONFIG_HZ_300 is not set | ||
243 | # CONFIG_HZ_1000 is not set | ||
244 | CONFIG_HZ=250 | ||
245 | CONFIG_KEXEC=y | ||
246 | # CONFIG_CRASH_DUMP is not set | ||
247 | # CONFIG_SMP is not set | ||
248 | # CONFIG_PREEMPT_NONE is not set | ||
249 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
250 | CONFIG_PREEMPT=y | ||
251 | CONFIG_PREEMPT_BKL=y | ||
252 | |||
253 | # | ||
254 | # Boot options | ||
255 | # | ||
256 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | ||
257 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | ||
258 | # CONFIG_UBC_WAKEUP is not set | ||
259 | CONFIG_CMDLINE_BOOL=y | ||
260 | CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/sda1" | ||
261 | |||
262 | # | ||
263 | # Bus options | ||
264 | # | ||
265 | CONFIG_PCI=y | ||
266 | CONFIG_SH_PCIDMA_NONCOHERENT=y | ||
267 | CONFIG_PCI_AUTO=y | ||
268 | CONFIG_PCI_AUTO_UPDATE_RESOURCES=y | ||
269 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
270 | # CONFIG_PCI_DEBUG is not set | ||
271 | |||
272 | # | ||
273 | # PCCARD (PCMCIA/CardBus) support | ||
274 | # | ||
275 | # CONFIG_PCCARD is not set | ||
276 | # CONFIG_HOTPLUG_PCI is not set | ||
277 | |||
278 | # | ||
279 | # Executable file formats | ||
280 | # | ||
281 | CONFIG_BINFMT_ELF=y | ||
282 | # CONFIG_BINFMT_MISC is not set | ||
283 | |||
284 | # | ||
285 | # Power management options (EXPERIMENTAL) | ||
286 | # | ||
287 | # CONFIG_PM is not set | ||
288 | |||
289 | # | ||
290 | # Networking | ||
291 | # | ||
292 | CONFIG_NET=y | ||
293 | |||
294 | # | ||
295 | # Networking options | ||
296 | # | ||
297 | CONFIG_PACKET=y | ||
298 | # CONFIG_PACKET_MMAP is not set | ||
299 | CONFIG_UNIX=y | ||
300 | CONFIG_XFRM=y | ||
301 | # CONFIG_XFRM_USER is not set | ||
302 | # CONFIG_XFRM_SUB_POLICY is not set | ||
303 | # CONFIG_XFRM_MIGRATE is not set | ||
304 | # CONFIG_NET_KEY is not set | ||
305 | CONFIG_INET=y | ||
306 | # CONFIG_IP_MULTICAST is not set | ||
307 | CONFIG_IP_ADVANCED_ROUTER=y | ||
308 | CONFIG_ASK_IP_FIB_HASH=y | ||
309 | # CONFIG_IP_FIB_TRIE is not set | ||
310 | CONFIG_IP_FIB_HASH=y | ||
311 | # CONFIG_IP_MULTIPLE_TABLES is not set | ||
312 | # CONFIG_IP_ROUTE_MULTIPATH is not set | ||
313 | # CONFIG_IP_ROUTE_VERBOSE is not set | ||
314 | CONFIG_IP_PNP=y | ||
315 | CONFIG_IP_PNP_DHCP=y | ||
316 | # CONFIG_IP_PNP_BOOTP is not set | ||
317 | # CONFIG_IP_PNP_RARP is not set | ||
318 | # CONFIG_NET_IPIP is not set | ||
319 | # CONFIG_NET_IPGRE is not set | ||
320 | # CONFIG_ARPD is not set | ||
321 | # CONFIG_SYN_COOKIES is not set | ||
322 | # CONFIG_INET_AH is not set | ||
323 | # CONFIG_INET_ESP is not set | ||
324 | # CONFIG_INET_IPCOMP is not set | ||
325 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
326 | # CONFIG_INET_TUNNEL is not set | ||
327 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
328 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
329 | CONFIG_INET_XFRM_MODE_BEET=y | ||
330 | CONFIG_INET_DIAG=y | ||
331 | CONFIG_INET_TCP_DIAG=y | ||
332 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
333 | CONFIG_TCP_CONG_CUBIC=y | ||
334 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
335 | # CONFIG_TCP_MD5SIG is not set | ||
336 | # CONFIG_IPV6 is not set | ||
337 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
338 | # CONFIG_INET6_TUNNEL is not set | ||
339 | # CONFIG_NETWORK_SECMARK is not set | ||
340 | # CONFIG_NETFILTER is not set | ||
341 | # CONFIG_IP_DCCP is not set | ||
342 | # CONFIG_IP_SCTP is not set | ||
343 | # CONFIG_TIPC is not set | ||
344 | # CONFIG_ATM is not set | ||
345 | CONFIG_BRIDGE=m | ||
346 | # CONFIG_VLAN_8021Q is not set | ||
347 | # CONFIG_DECNET is not set | ||
348 | CONFIG_LLC=m | ||
349 | # CONFIG_LLC2 is not set | ||
350 | # CONFIG_IPX is not set | ||
351 | # CONFIG_ATALK is not set | ||
352 | # CONFIG_X25 is not set | ||
353 | # CONFIG_LAPB is not set | ||
354 | # CONFIG_ECONET is not set | ||
355 | # CONFIG_WAN_ROUTER is not set | ||
356 | |||
357 | # | ||
358 | # QoS and/or fair queueing | ||
359 | # | ||
360 | # CONFIG_NET_SCHED is not set | ||
361 | |||
362 | # | ||
363 | # Network testing | ||
364 | # | ||
365 | # CONFIG_NET_PKTGEN is not set | ||
366 | # CONFIG_HAMRADIO is not set | ||
367 | # CONFIG_IRDA is not set | ||
368 | # CONFIG_BT is not set | ||
369 | # CONFIG_AF_RXRPC is not set | ||
370 | |||
371 | # | ||
372 | # Wireless | ||
373 | # | ||
374 | # CONFIG_CFG80211 is not set | ||
375 | CONFIG_WIRELESS_EXT=y | ||
376 | # CONFIG_MAC80211 is not set | ||
377 | # CONFIG_IEEE80211 is not set | ||
378 | # CONFIG_RFKILL is not set | ||
379 | |||
380 | # | ||
381 | # Device Drivers | ||
382 | # | ||
383 | |||
384 | # | ||
385 | # Generic Driver Options | ||
386 | # | ||
387 | CONFIG_STANDALONE=y | ||
388 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
389 | CONFIG_FW_LOADER=m | ||
390 | # CONFIG_DEBUG_DRIVER is not set | ||
391 | # CONFIG_DEBUG_DEVRES is not set | ||
392 | # CONFIG_SYS_HYPERVISOR is not set | ||
393 | |||
394 | # | ||
395 | # Connector - unified userspace <-> kernelspace linker | ||
396 | # | ||
397 | # CONFIG_CONNECTOR is not set | ||
398 | # CONFIG_MTD is not set | ||
399 | |||
400 | # | ||
401 | # Parallel port support | ||
402 | # | ||
403 | # CONFIG_PARPORT is not set | ||
404 | |||
405 | # | ||
406 | # Plug and Play support | ||
407 | # | ||
408 | # CONFIG_PNPACPI is not set | ||
409 | |||
410 | # | ||
411 | # Block devices | ||
412 | # | ||
413 | # CONFIG_BLK_CPQ_DA is not set | ||
414 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
415 | # CONFIG_BLK_DEV_DAC960 is not set | ||
416 | # CONFIG_BLK_DEV_UMEM is not set | ||
417 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
418 | # CONFIG_BLK_DEV_LOOP is not set | ||
419 | # CONFIG_BLK_DEV_NBD is not set | ||
420 | # CONFIG_BLK_DEV_SX8 is not set | ||
421 | CONFIG_BLK_DEV_RAM=y | ||
422 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
423 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
424 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
425 | # CONFIG_CDROM_PKTCDVD is not set | ||
426 | # CONFIG_ATA_OVER_ETH is not set | ||
427 | |||
428 | # | ||
429 | # Misc devices | ||
430 | # | ||
431 | # CONFIG_PHANTOM is not set | ||
432 | # CONFIG_SGI_IOC4 is not set | ||
433 | # CONFIG_TIFM_CORE is not set | ||
434 | # CONFIG_BLINK is not set | ||
435 | # CONFIG_IDE is not set | ||
436 | |||
437 | # | ||
438 | # SCSI device support | ||
439 | # | ||
440 | # CONFIG_RAID_ATTRS is not set | ||
441 | CONFIG_SCSI=y | ||
442 | # CONFIG_SCSI_TGT is not set | ||
443 | # CONFIG_SCSI_NETLINK is not set | ||
444 | CONFIG_SCSI_PROC_FS=y | ||
445 | |||
446 | # | ||
447 | # SCSI support type (disk, tape, CD-ROM) | ||
448 | # | ||
449 | CONFIG_BLK_DEV_SD=y | ||
450 | # CONFIG_CHR_DEV_ST is not set | ||
451 | # CONFIG_CHR_DEV_OSST is not set | ||
452 | # CONFIG_BLK_DEV_SR is not set | ||
453 | CONFIG_CHR_DEV_SG=m | ||
454 | # CONFIG_CHR_DEV_SCH is not set | ||
455 | |||
456 | # | ||
457 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
458 | # | ||
459 | # CONFIG_SCSI_MULTI_LUN is not set | ||
460 | # CONFIG_SCSI_CONSTANTS is not set | ||
461 | # CONFIG_SCSI_LOGGING is not set | ||
462 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
463 | CONFIG_SCSI_WAIT_SCAN=m | ||
464 | |||
465 | # | ||
466 | # SCSI Transports | ||
467 | # | ||
468 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
469 | # CONFIG_SCSI_FC_ATTRS is not set | ||
470 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
471 | # CONFIG_SCSI_SAS_ATTRS is not set | ||
472 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
473 | |||
474 | # | ||
475 | # SCSI low-level drivers | ||
476 | # | ||
477 | # CONFIG_ISCSI_TCP is not set | ||
478 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | ||
479 | # CONFIG_SCSI_3W_9XXX is not set | ||
480 | # CONFIG_SCSI_ACARD is not set | ||
481 | # CONFIG_SCSI_AACRAID is not set | ||
482 | # CONFIG_SCSI_AIC7XXX is not set | ||
483 | # CONFIG_SCSI_AIC7XXX_OLD is not set | ||
484 | # CONFIG_SCSI_AIC79XX is not set | ||
485 | # CONFIG_SCSI_AIC94XX is not set | ||
486 | # CONFIG_SCSI_DPT_I2O is not set | ||
487 | # CONFIG_SCSI_ARCMSR is not set | ||
488 | # CONFIG_MEGARAID_NEWGEN is not set | ||
489 | # CONFIG_MEGARAID_LEGACY is not set | ||
490 | # CONFIG_MEGARAID_SAS is not set | ||
491 | # CONFIG_SCSI_HPTIOP is not set | ||
492 | # CONFIG_SCSI_DMX3191D is not set | ||
493 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | ||
494 | # CONFIG_SCSI_IPS is not set | ||
495 | # CONFIG_SCSI_INITIO is not set | ||
496 | # CONFIG_SCSI_INIA100 is not set | ||
497 | # CONFIG_SCSI_STEX is not set | ||
498 | # CONFIG_SCSI_SYM53C8XX_2 is not set | ||
499 | # CONFIG_SCSI_IPR is not set | ||
500 | # CONFIG_SCSI_QLOGIC_1280 is not set | ||
501 | # CONFIG_SCSI_QLA_FC is not set | ||
502 | # CONFIG_SCSI_QLA_ISCSI is not set | ||
503 | # CONFIG_SCSI_LPFC is not set | ||
504 | # CONFIG_SCSI_DC395x is not set | ||
505 | # CONFIG_SCSI_DC390T is not set | ||
506 | # CONFIG_SCSI_NSP32 is not set | ||
507 | # CONFIG_SCSI_DEBUG is not set | ||
508 | # CONFIG_SCSI_SRP is not set | ||
509 | CONFIG_ATA=y | ||
510 | # CONFIG_ATA_NONSTANDARD is not set | ||
511 | # CONFIG_SATA_AHCI is not set | ||
512 | # CONFIG_SATA_SVW is not set | ||
513 | # CONFIG_ATA_PIIX is not set | ||
514 | # CONFIG_SATA_MV is not set | ||
515 | # CONFIG_SATA_NV is not set | ||
516 | # CONFIG_PDC_ADMA is not set | ||
517 | # CONFIG_SATA_QSTOR is not set | ||
518 | # CONFIG_SATA_PROMISE is not set | ||
519 | # CONFIG_SATA_SX4 is not set | ||
520 | CONFIG_SATA_SIL=y | ||
521 | # CONFIG_SATA_SIL24 is not set | ||
522 | # CONFIG_SATA_SIS is not set | ||
523 | # CONFIG_SATA_ULI is not set | ||
524 | # CONFIG_SATA_VIA is not set | ||
525 | # CONFIG_SATA_VITESSE is not set | ||
526 | # CONFIG_SATA_INIC162X is not set | ||
527 | # CONFIG_PATA_ALI is not set | ||
528 | # CONFIG_PATA_AMD is not set | ||
529 | # CONFIG_PATA_ARTOP is not set | ||
530 | # CONFIG_PATA_ATIIXP is not set | ||
531 | # CONFIG_PATA_CMD640_PCI is not set | ||
532 | # CONFIG_PATA_CMD64X is not set | ||
533 | # CONFIG_PATA_CS5520 is not set | ||
534 | # CONFIG_PATA_CS5530 is not set | ||
535 | # CONFIG_PATA_CYPRESS is not set | ||
536 | # CONFIG_PATA_EFAR is not set | ||
537 | # CONFIG_ATA_GENERIC is not set | ||
538 | # CONFIG_PATA_HPT366 is not set | ||
539 | # CONFIG_PATA_HPT37X is not set | ||
540 | # CONFIG_PATA_HPT3X2N is not set | ||
541 | # CONFIG_PATA_HPT3X3 is not set | ||
542 | # CONFIG_PATA_IT821X is not set | ||
543 | # CONFIG_PATA_IT8213 is not set | ||
544 | # CONFIG_PATA_JMICRON is not set | ||
545 | # CONFIG_PATA_TRIFLEX is not set | ||
546 | # CONFIG_PATA_MARVELL is not set | ||
547 | # CONFIG_PATA_MPIIX is not set | ||
548 | # CONFIG_PATA_OLDPIIX is not set | ||
549 | # CONFIG_PATA_NETCELL is not set | ||
550 | # CONFIG_PATA_NS87410 is not set | ||
551 | # CONFIG_PATA_OPTI is not set | ||
552 | # CONFIG_PATA_OPTIDMA is not set | ||
553 | # CONFIG_PATA_PDC_OLD is not set | ||
554 | # CONFIG_PATA_RADISYS is not set | ||
555 | # CONFIG_PATA_RZ1000 is not set | ||
556 | # CONFIG_PATA_SC1200 is not set | ||
557 | # CONFIG_PATA_SERVERWORKS is not set | ||
558 | # CONFIG_PATA_PDC2027X is not set | ||
559 | # CONFIG_PATA_SIL680 is not set | ||
560 | # CONFIG_PATA_SIS is not set | ||
561 | # CONFIG_PATA_VIA is not set | ||
562 | # CONFIG_PATA_WINBOND is not set | ||
563 | CONFIG_PATA_PLATFORM=y | ||
564 | |||
565 | # | ||
566 | # Multi-device support (RAID and LVM) | ||
567 | # | ||
568 | # CONFIG_MD is not set | ||
569 | |||
570 | # | ||
571 | # Fusion MPT device support | ||
572 | # | ||
573 | # CONFIG_FUSION is not set | ||
574 | # CONFIG_FUSION_SPI is not set | ||
575 | # CONFIG_FUSION_FC is not set | ||
576 | # CONFIG_FUSION_SAS is not set | ||
577 | |||
578 | # | ||
579 | # IEEE 1394 (FireWire) support | ||
580 | # | ||
581 | # CONFIG_FIREWIRE is not set | ||
582 | # CONFIG_IEEE1394 is not set | ||
583 | |||
584 | # | ||
585 | # I2O device support | ||
586 | # | ||
587 | # CONFIG_I2O is not set | ||
588 | |||
589 | # | ||
590 | # Network device support | ||
591 | # | ||
592 | CONFIG_NETDEVICES=y | ||
593 | # CONFIG_DUMMY is not set | ||
594 | # CONFIG_BONDING is not set | ||
595 | # CONFIG_EQUALIZER is not set | ||
596 | # CONFIG_TUN is not set | ||
597 | # CONFIG_ARCNET is not set | ||
598 | # CONFIG_PHYLIB is not set | ||
599 | |||
600 | # | ||
601 | # Ethernet (10 or 100Mbit) | ||
602 | # | ||
603 | CONFIG_NET_ETHERNET=y | ||
604 | CONFIG_MII=y | ||
605 | # CONFIG_STNIC is not set | ||
606 | # CONFIG_HAPPYMEAL is not set | ||
607 | # CONFIG_SUNGEM is not set | ||
608 | # CONFIG_CASSINI is not set | ||
609 | # CONFIG_NET_VENDOR_3COM is not set | ||
610 | # CONFIG_SMC91X is not set | ||
611 | |||
612 | # | ||
613 | # Tulip family network device support | ||
614 | # | ||
615 | # CONFIG_NET_TULIP is not set | ||
616 | # CONFIG_HP100 is not set | ||
617 | CONFIG_NET_PCI=y | ||
618 | CONFIG_PCNET32=m | ||
619 | # CONFIG_PCNET32_NAPI is not set | ||
620 | # CONFIG_AMD8111_ETH is not set | ||
621 | # CONFIG_ADAPTEC_STARFIRE is not set | ||
622 | # CONFIG_B44 is not set | ||
623 | # CONFIG_FORCEDETH is not set | ||
624 | # CONFIG_DGRS is not set | ||
625 | # CONFIG_EEPRO100 is not set | ||
626 | # CONFIG_E100 is not set | ||
627 | # CONFIG_FEALNX is not set | ||
628 | # CONFIG_NATSEMI is not set | ||
629 | # CONFIG_NE2K_PCI is not set | ||
630 | CONFIG_8139CP=m | ||
631 | CONFIG_8139TOO=m | ||
632 | # CONFIG_8139TOO_PIO is not set | ||
633 | # CONFIG_8139TOO_TUNE_TWISTER is not set | ||
634 | CONFIG_8139TOO_8129=y | ||
635 | # CONFIG_8139_OLD_RX_RESET is not set | ||
636 | # CONFIG_SIS900 is not set | ||
637 | # CONFIG_EPIC100 is not set | ||
638 | # CONFIG_SUNDANCE is not set | ||
639 | # CONFIG_TLAN is not set | ||
640 | CONFIG_VIA_RHINE=m | ||
641 | CONFIG_VIA_RHINE_MMIO=y | ||
642 | # CONFIG_VIA_RHINE_NAPI is not set | ||
643 | # CONFIG_SC92031 is not set | ||
644 | CONFIG_NETDEV_1000=y | ||
645 | # CONFIG_ACENIC is not set | ||
646 | # CONFIG_DL2K is not set | ||
647 | CONFIG_E1000=m | ||
648 | # CONFIG_E1000_NAPI is not set | ||
649 | # CONFIG_E1000_DISABLE_PACKET_SPLIT is not set | ||
650 | # CONFIG_NS83820 is not set | ||
651 | # CONFIG_HAMACHI is not set | ||
652 | # CONFIG_YELLOWFIN is not set | ||
653 | CONFIG_R8169=y | ||
654 | # CONFIG_R8169_NAPI is not set | ||
655 | # CONFIG_SIS190 is not set | ||
656 | # CONFIG_SKGE is not set | ||
657 | # CONFIG_SKY2 is not set | ||
658 | # CONFIG_SK98LIN is not set | ||
659 | # CONFIG_VIA_VELOCITY is not set | ||
660 | # CONFIG_TIGON3 is not set | ||
661 | # CONFIG_BNX2 is not set | ||
662 | # CONFIG_QLA3XXX is not set | ||
663 | # CONFIG_ATL1 is not set | ||
664 | CONFIG_NETDEV_10000=y | ||
665 | # CONFIG_CHELSIO_T1 is not set | ||
666 | # CONFIG_CHELSIO_T3 is not set | ||
667 | # CONFIG_IXGB is not set | ||
668 | # CONFIG_S2IO is not set | ||
669 | # CONFIG_MYRI10GE is not set | ||
670 | # CONFIG_NETXEN_NIC is not set | ||
671 | # CONFIG_MLX4_CORE is not set | ||
672 | # CONFIG_TR is not set | ||
673 | |||
674 | # | ||
675 | # Wireless LAN | ||
676 | # | ||
677 | # CONFIG_WLAN_PRE80211 is not set | ||
678 | # CONFIG_WLAN_80211 is not set | ||
679 | # CONFIG_WAN is not set | ||
680 | # CONFIG_FDDI is not set | ||
681 | # CONFIG_HIPPI is not set | ||
682 | # CONFIG_PPP is not set | ||
683 | # CONFIG_SLIP is not set | ||
684 | # CONFIG_NET_FC is not set | ||
685 | # CONFIG_SHAPER is not set | ||
686 | # CONFIG_NETCONSOLE is not set | ||
687 | # CONFIG_NETPOLL is not set | ||
688 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
689 | |||
690 | # | ||
691 | # ISDN subsystem | ||
692 | # | ||
693 | # CONFIG_ISDN is not set | ||
694 | |||
695 | # | ||
696 | # Telephony Support | ||
697 | # | ||
698 | # CONFIG_PHONE is not set | ||
699 | |||
700 | # | ||
701 | # Input device support | ||
702 | # | ||
703 | CONFIG_INPUT=y | ||
704 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
705 | |||
706 | # | ||
707 | # Userland interfaces | ||
708 | # | ||
709 | CONFIG_INPUT_MOUSEDEV=y | ||
710 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
711 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
712 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
713 | # CONFIG_INPUT_JOYDEV is not set | ||
714 | # CONFIG_INPUT_TSDEV is not set | ||
715 | # CONFIG_INPUT_EVDEV is not set | ||
716 | # CONFIG_INPUT_EVBUG is not set | ||
717 | |||
718 | # | ||
719 | # Input Device Drivers | ||
720 | # | ||
721 | CONFIG_INPUT_KEYBOARD=y | ||
722 | CONFIG_KEYBOARD_ATKBD=y | ||
723 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
724 | # CONFIG_KEYBOARD_LKKBD is not set | ||
725 | # CONFIG_KEYBOARD_XTKBD is not set | ||
726 | # CONFIG_KEYBOARD_NEWTON is not set | ||
727 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
728 | # CONFIG_INPUT_MOUSE is not set | ||
729 | # CONFIG_INPUT_JOYSTICK is not set | ||
730 | # CONFIG_INPUT_TABLET is not set | ||
731 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
732 | # CONFIG_INPUT_MISC is not set | ||
733 | |||
734 | # | ||
735 | # Hardware I/O ports | ||
736 | # | ||
737 | CONFIG_SERIO=y | ||
738 | # CONFIG_SERIO_I8042 is not set | ||
739 | # CONFIG_SERIO_SERPORT is not set | ||
740 | # CONFIG_SERIO_PCIPS2 is not set | ||
741 | CONFIG_SERIO_LIBPS2=y | ||
742 | # CONFIG_SERIO_RAW is not set | ||
743 | # CONFIG_GAMEPORT is not set | ||
744 | |||
745 | # | ||
746 | # Character devices | ||
747 | # | ||
748 | # CONFIG_VT is not set | ||
749 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
750 | |||
751 | # | ||
752 | # Serial drivers | ||
753 | # | ||
754 | # CONFIG_SERIAL_8250 is not set | ||
755 | |||
756 | # | ||
757 | # Non-8250 serial port support | ||
758 | # | ||
759 | CONFIG_SERIAL_SH_SCI=y | ||
760 | CONFIG_SERIAL_SH_SCI_NR_UARTS=2 | ||
761 | CONFIG_SERIAL_SH_SCI_CONSOLE=y | ||
762 | CONFIG_SERIAL_CORE=y | ||
763 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
764 | # CONFIG_SERIAL_JSM is not set | ||
765 | CONFIG_UNIX98_PTYS=y | ||
766 | CONFIG_LEGACY_PTYS=y | ||
767 | CONFIG_LEGACY_PTY_COUNT=256 | ||
768 | |||
769 | # | ||
770 | # IPMI | ||
771 | # | ||
772 | # CONFIG_IPMI_HANDLER is not set | ||
773 | # CONFIG_WATCHDOG is not set | ||
774 | CONFIG_HW_RANDOM=y | ||
775 | # CONFIG_R3964 is not set | ||
776 | # CONFIG_APPLICOM is not set | ||
777 | # CONFIG_DRM is not set | ||
778 | # CONFIG_RAW_DRIVER is not set | ||
779 | |||
780 | # | ||
781 | # TPM devices | ||
782 | # | ||
783 | # CONFIG_TCG_TPM is not set | ||
784 | CONFIG_DEVPORT=y | ||
785 | # CONFIG_I2C is not set | ||
786 | |||
787 | # | ||
788 | # SPI support | ||
789 | # | ||
790 | # CONFIG_SPI is not set | ||
791 | # CONFIG_SPI_MASTER is not set | ||
792 | |||
793 | # | ||
794 | # Dallas's 1-wire bus | ||
795 | # | ||
796 | # CONFIG_W1 is not set | ||
797 | CONFIG_HWMON=y | ||
798 | # CONFIG_HWMON_VID is not set | ||
799 | # CONFIG_SENSORS_ABITUGURU is not set | ||
800 | # CONFIG_SENSORS_F71805F is not set | ||
801 | # CONFIG_SENSORS_PC87427 is not set | ||
802 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
803 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
804 | # CONFIG_SENSORS_VT1211 is not set | ||
805 | # CONFIG_SENSORS_W83627HF is not set | ||
806 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
807 | |||
808 | # | ||
809 | # Multifunction device drivers | ||
810 | # | ||
811 | # CONFIG_MFD_SM501 is not set | ||
812 | |||
813 | # | ||
814 | # Multimedia devices | ||
815 | # | ||
816 | # CONFIG_VIDEO_DEV is not set | ||
817 | # CONFIG_DVB_CORE is not set | ||
818 | CONFIG_DAB=y | ||
819 | |||
820 | # | ||
821 | # Graphics support | ||
822 | # | ||
823 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
824 | |||
825 | # | ||
826 | # Display device support | ||
827 | # | ||
828 | # CONFIG_DISPLAY_SUPPORT is not set | ||
829 | # CONFIG_VGASTATE is not set | ||
830 | # CONFIG_FB is not set | ||
831 | |||
832 | # | ||
833 | # Sound | ||
834 | # | ||
835 | CONFIG_SOUND=m | ||
836 | |||
837 | # | ||
838 | # Advanced Linux Sound Architecture | ||
839 | # | ||
840 | # CONFIG_SND is not set | ||
841 | |||
842 | # | ||
843 | # Open Sound System | ||
844 | # | ||
845 | CONFIG_SOUND_PRIME=m | ||
846 | # CONFIG_OSS_OBSOLETE is not set | ||
847 | # CONFIG_SOUND_TRIDENT is not set | ||
848 | # CONFIG_SOUND_MSNDCLAS is not set | ||
849 | # CONFIG_SOUND_MSNDPIN is not set | ||
850 | |||
851 | # | ||
852 | # HID Devices | ||
853 | # | ||
854 | CONFIG_HID=y | ||
855 | # CONFIG_HID_DEBUG is not set | ||
856 | |||
857 | # | ||
858 | # USB support | ||
859 | # | ||
860 | CONFIG_USB_ARCH_HAS_HCD=y | ||
861 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
862 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
863 | # CONFIG_USB is not set | ||
864 | |||
865 | # | ||
866 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
867 | # | ||
868 | |||
869 | # | ||
870 | # USB Gadget Support | ||
871 | # | ||
872 | # CONFIG_USB_GADGET is not set | ||
873 | # CONFIG_MMC is not set | ||
874 | |||
875 | # | ||
876 | # LED devices | ||
877 | # | ||
878 | # CONFIG_NEW_LEDS is not set | ||
879 | |||
880 | # | ||
881 | # LED drivers | ||
882 | # | ||
883 | |||
884 | # | ||
885 | # LED Triggers | ||
886 | # | ||
887 | |||
888 | # | ||
889 | # InfiniBand support | ||
890 | # | ||
891 | # CONFIG_INFINIBAND is not set | ||
892 | |||
893 | # | ||
894 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | ||
895 | # | ||
896 | |||
897 | # | ||
898 | # Real Time Clock | ||
899 | # | ||
900 | CONFIG_RTC_LIB=y | ||
901 | CONFIG_RTC_CLASS=y | ||
902 | CONFIG_RTC_HCTOSYS=y | ||
903 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
904 | # CONFIG_RTC_DEBUG is not set | ||
905 | |||
906 | # | ||
907 | # RTC interfaces | ||
908 | # | ||
909 | CONFIG_RTC_INTF_SYSFS=y | ||
910 | CONFIG_RTC_INTF_PROC=y | ||
911 | CONFIG_RTC_INTF_DEV=y | ||
912 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
913 | # CONFIG_RTC_DRV_TEST is not set | ||
914 | |||
915 | # | ||
916 | # I2C RTC drivers | ||
917 | # | ||
918 | |||
919 | # | ||
920 | # SPI RTC drivers | ||
921 | # | ||
922 | |||
923 | # | ||
924 | # Platform RTC drivers | ||
925 | # | ||
926 | # CONFIG_RTC_DRV_DS1553 is not set | ||
927 | # CONFIG_RTC_DRV_DS1742 is not set | ||
928 | # CONFIG_RTC_DRV_M48T86 is not set | ||
929 | # CONFIG_RTC_DRV_V3020 is not set | ||
930 | |||
931 | # | ||
932 | # on-CPU RTC drivers | ||
933 | # | ||
934 | CONFIG_RTC_DRV_SH=y | ||
935 | |||
936 | # | ||
937 | # DMA Engine support | ||
938 | # | ||
939 | # CONFIG_DMA_ENGINE is not set | ||
940 | |||
941 | # | ||
942 | # DMA Clients | ||
943 | # | ||
944 | |||
945 | # | ||
946 | # DMA Devices | ||
947 | # | ||
948 | |||
949 | # | ||
950 | # File systems | ||
951 | # | ||
952 | CONFIG_EXT2_FS=y | ||
953 | # CONFIG_EXT2_FS_XATTR is not set | ||
954 | # CONFIG_EXT2_FS_XIP is not set | ||
955 | CONFIG_EXT3_FS=y | ||
956 | CONFIG_EXT3_FS_XATTR=y | ||
957 | # CONFIG_EXT3_FS_POSIX_ACL is not set | ||
958 | # CONFIG_EXT3_FS_SECURITY is not set | ||
959 | # CONFIG_EXT4DEV_FS is not set | ||
960 | CONFIG_JBD=y | ||
961 | # CONFIG_JBD_DEBUG is not set | ||
962 | CONFIG_FS_MBCACHE=y | ||
963 | # CONFIG_REISERFS_FS is not set | ||
964 | # CONFIG_JFS_FS is not set | ||
965 | CONFIG_FS_POSIX_ACL=y | ||
966 | # CONFIG_XFS_FS is not set | ||
967 | # CONFIG_GFS2_FS is not set | ||
968 | # CONFIG_OCFS2_FS is not set | ||
969 | CONFIG_MINIX_FS=y | ||
970 | # CONFIG_ROMFS_FS is not set | ||
971 | CONFIG_INOTIFY=y | ||
972 | CONFIG_INOTIFY_USER=y | ||
973 | # CONFIG_QUOTA is not set | ||
974 | CONFIG_DNOTIFY=y | ||
975 | # CONFIG_AUTOFS_FS is not set | ||
976 | # CONFIG_AUTOFS4_FS is not set | ||
977 | CONFIG_FUSE_FS=m | ||
978 | |||
979 | # | ||
980 | # CD-ROM/DVD Filesystems | ||
981 | # | ||
982 | # CONFIG_ISO9660_FS is not set | ||
983 | # CONFIG_UDF_FS is not set | ||
984 | |||
985 | # | ||
986 | # DOS/FAT/NT Filesystems | ||
987 | # | ||
988 | CONFIG_FAT_FS=y | ||
989 | CONFIG_MSDOS_FS=y | ||
990 | CONFIG_VFAT_FS=y | ||
991 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
992 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
993 | CONFIG_NTFS_FS=y | ||
994 | # CONFIG_NTFS_DEBUG is not set | ||
995 | CONFIG_NTFS_RW=y | ||
996 | |||
997 | # | ||
998 | # Pseudo filesystems | ||
999 | # | ||
1000 | CONFIG_PROC_FS=y | ||
1001 | CONFIG_PROC_KCORE=y | ||
1002 | CONFIG_PROC_SYSCTL=y | ||
1003 | CONFIG_SYSFS=y | ||
1004 | CONFIG_TMPFS=y | ||
1005 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
1006 | CONFIG_HUGETLBFS=y | ||
1007 | CONFIG_HUGETLB_PAGE=y | ||
1008 | CONFIG_RAMFS=y | ||
1009 | CONFIG_CONFIGFS_FS=m | ||
1010 | |||
1011 | # | ||
1012 | # Miscellaneous filesystems | ||
1013 | # | ||
1014 | # CONFIG_ADFS_FS is not set | ||
1015 | # CONFIG_AFFS_FS is not set | ||
1016 | # CONFIG_HFS_FS is not set | ||
1017 | # CONFIG_HFSPLUS_FS is not set | ||
1018 | # CONFIG_BEFS_FS is not set | ||
1019 | # CONFIG_BFS_FS is not set | ||
1020 | # CONFIG_EFS_FS is not set | ||
1021 | # CONFIG_CRAMFS is not set | ||
1022 | # CONFIG_VXFS_FS is not set | ||
1023 | # CONFIG_HPFS_FS is not set | ||
1024 | # CONFIG_QNX4FS_FS is not set | ||
1025 | # CONFIG_SYSV_FS is not set | ||
1026 | # CONFIG_UFS_FS is not set | ||
1027 | |||
1028 | # | ||
1029 | # Network File Systems | ||
1030 | # | ||
1031 | CONFIG_NFS_FS=y | ||
1032 | CONFIG_NFS_V3=y | ||
1033 | # CONFIG_NFS_V3_ACL is not set | ||
1034 | CONFIG_NFS_V4=y | ||
1035 | # CONFIG_NFS_DIRECTIO is not set | ||
1036 | CONFIG_NFSD=y | ||
1037 | CONFIG_NFSD_V3=y | ||
1038 | # CONFIG_NFSD_V3_ACL is not set | ||
1039 | CONFIG_NFSD_V4=y | ||
1040 | CONFIG_NFSD_TCP=y | ||
1041 | CONFIG_ROOT_NFS=y | ||
1042 | CONFIG_LOCKD=y | ||
1043 | CONFIG_LOCKD_V4=y | ||
1044 | CONFIG_EXPORTFS=y | ||
1045 | CONFIG_NFS_COMMON=y | ||
1046 | CONFIG_SUNRPC=y | ||
1047 | CONFIG_SUNRPC_GSS=y | ||
1048 | # CONFIG_SUNRPC_BIND34 is not set | ||
1049 | CONFIG_RPCSEC_GSS_KRB5=y | ||
1050 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
1051 | # CONFIG_SMB_FS is not set | ||
1052 | # CONFIG_CIFS is not set | ||
1053 | # CONFIG_NCP_FS is not set | ||
1054 | # CONFIG_CODA_FS is not set | ||
1055 | # CONFIG_AFS_FS is not set | ||
1056 | # CONFIG_9P_FS is not set | ||
1057 | |||
1058 | # | ||
1059 | # Partition Types | ||
1060 | # | ||
1061 | # CONFIG_PARTITION_ADVANCED is not set | ||
1062 | CONFIG_MSDOS_PARTITION=y | ||
1063 | |||
1064 | # | ||
1065 | # Native Language Support | ||
1066 | # | ||
1067 | CONFIG_NLS=y | ||
1068 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
1069 | CONFIG_NLS_CODEPAGE_437=y | ||
1070 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
1071 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
1072 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
1073 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
1074 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
1075 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
1076 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
1077 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
1078 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
1079 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
1080 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
1081 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
1082 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
1083 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
1084 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
1085 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
1086 | CONFIG_NLS_CODEPAGE_932=y | ||
1087 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
1088 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
1089 | # CONFIG_NLS_ISO8859_8 is not set | ||
1090 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
1091 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
1092 | # CONFIG_NLS_ASCII is not set | ||
1093 | CONFIG_NLS_ISO8859_1=y | ||
1094 | # CONFIG_NLS_ISO8859_2 is not set | ||
1095 | # CONFIG_NLS_ISO8859_3 is not set | ||
1096 | # CONFIG_NLS_ISO8859_4 is not set | ||
1097 | # CONFIG_NLS_ISO8859_5 is not set | ||
1098 | # CONFIG_NLS_ISO8859_6 is not set | ||
1099 | # CONFIG_NLS_ISO8859_7 is not set | ||
1100 | # CONFIG_NLS_ISO8859_9 is not set | ||
1101 | # CONFIG_NLS_ISO8859_13 is not set | ||
1102 | # CONFIG_NLS_ISO8859_14 is not set | ||
1103 | # CONFIG_NLS_ISO8859_15 is not set | ||
1104 | # CONFIG_NLS_KOI8_R is not set | ||
1105 | # CONFIG_NLS_KOI8_U is not set | ||
1106 | # CONFIG_NLS_UTF8 is not set | ||
1107 | |||
1108 | # | ||
1109 | # Distributed Lock Manager | ||
1110 | # | ||
1111 | # CONFIG_DLM is not set | ||
1112 | |||
1113 | # | ||
1114 | # Profiling support | ||
1115 | # | ||
1116 | CONFIG_PROFILING=y | ||
1117 | CONFIG_OPROFILE=m | ||
1118 | |||
1119 | # | ||
1120 | # Kernel hacking | ||
1121 | # | ||
1122 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1123 | # CONFIG_PRINTK_TIME is not set | ||
1124 | CONFIG_ENABLE_MUST_CHECK=y | ||
1125 | CONFIG_MAGIC_SYSRQ=y | ||
1126 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1127 | CONFIG_DEBUG_FS=y | ||
1128 | # CONFIG_HEADERS_CHECK is not set | ||
1129 | CONFIG_DEBUG_KERNEL=y | ||
1130 | # CONFIG_DEBUG_SHIRQ is not set | ||
1131 | CONFIG_DETECT_SOFTLOCKUP=y | ||
1132 | # CONFIG_SCHEDSTATS is not set | ||
1133 | # CONFIG_TIMER_STATS is not set | ||
1134 | # CONFIG_DEBUG_SLAB is not set | ||
1135 | # CONFIG_DEBUG_PREEMPT is not set | ||
1136 | # CONFIG_DEBUG_SPINLOCK is not set | ||
1137 | # CONFIG_DEBUG_MUTEXES is not set | ||
1138 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1139 | # CONFIG_PROVE_LOCKING is not set | ||
1140 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
1141 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1142 | # CONFIG_DEBUG_KOBJECT is not set | ||
1143 | CONFIG_DEBUG_BUGVERBOSE=y | ||
1144 | CONFIG_DEBUG_INFO=y | ||
1145 | # CONFIG_DEBUG_VM is not set | ||
1146 | # CONFIG_DEBUG_LIST is not set | ||
1147 | # CONFIG_FRAME_POINTER is not set | ||
1148 | CONFIG_FORCED_INLINING=y | ||
1149 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1150 | # CONFIG_FAULT_INJECTION is not set | ||
1151 | CONFIG_SH_STANDARD_BIOS=y | ||
1152 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1153 | CONFIG_EARLY_PRINTK=y | ||
1154 | # CONFIG_DEBUG_BOOTMEM is not set | ||
1155 | CONFIG_DEBUG_STACKOVERFLOW=y | ||
1156 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
1157 | # CONFIG_4KSTACKS is not set | ||
1158 | # CONFIG_SH_KGDB is not set | ||
1159 | |||
1160 | # | ||
1161 | # Security options | ||
1162 | # | ||
1163 | # CONFIG_KEYS is not set | ||
1164 | # CONFIG_SECURITY is not set | ||
1165 | |||
1166 | # | ||
1167 | # Cryptographic options | ||
1168 | # | ||
1169 | CONFIG_CRYPTO=y | ||
1170 | CONFIG_CRYPTO_ALGAPI=y | ||
1171 | CONFIG_CRYPTO_BLKCIPHER=y | ||
1172 | CONFIG_CRYPTO_HASH=y | ||
1173 | CONFIG_CRYPTO_MANAGER=y | ||
1174 | CONFIG_CRYPTO_HMAC=y | ||
1175 | # CONFIG_CRYPTO_XCBC is not set | ||
1176 | # CONFIG_CRYPTO_NULL is not set | ||
1177 | # CONFIG_CRYPTO_MD4 is not set | ||
1178 | CONFIG_CRYPTO_MD5=y | ||
1179 | # CONFIG_CRYPTO_SHA1 is not set | ||
1180 | # CONFIG_CRYPTO_SHA256 is not set | ||
1181 | # CONFIG_CRYPTO_SHA512 is not set | ||
1182 | # CONFIG_CRYPTO_WP512 is not set | ||
1183 | # CONFIG_CRYPTO_TGR192 is not set | ||
1184 | # CONFIG_CRYPTO_GF128MUL is not set | ||
1185 | CONFIG_CRYPTO_ECB=m | ||
1186 | CONFIG_CRYPTO_CBC=y | ||
1187 | CONFIG_CRYPTO_PCBC=m | ||
1188 | # CONFIG_CRYPTO_LRW is not set | ||
1189 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1190 | CONFIG_CRYPTO_DES=y | ||
1191 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1192 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1193 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1194 | # CONFIG_CRYPTO_SERPENT is not set | ||
1195 | # CONFIG_CRYPTO_AES is not set | ||
1196 | # CONFIG_CRYPTO_CAST5 is not set | ||
1197 | # CONFIG_CRYPTO_CAST6 is not set | ||
1198 | # CONFIG_CRYPTO_TEA is not set | ||
1199 | # CONFIG_CRYPTO_ARC4 is not set | ||
1200 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1201 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1202 | # CONFIG_CRYPTO_DEFLATE is not set | ||
1203 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1204 | # CONFIG_CRYPTO_CRC32C is not set | ||
1205 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1206 | # CONFIG_CRYPTO_TEST is not set | ||
1207 | |||
1208 | # | ||
1209 | # Hardware crypto devices | ||
1210 | # | ||
1211 | |||
1212 | # | ||
1213 | # Library routines | ||
1214 | # | ||
1215 | CONFIG_BITREVERSE=y | ||
1216 | # CONFIG_CRC_CCITT is not set | ||
1217 | # CONFIG_CRC16 is not set | ||
1218 | # CONFIG_CRC_ITU_T is not set | ||
1219 | CONFIG_CRC32=y | ||
1220 | # CONFIG_LIBCRC32C is not set | ||
1221 | CONFIG_HAS_IOMEM=y | ||
1222 | CONFIG_HAS_IOPORT=y | ||
1223 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/sh/configs/r7785rp_defconfig b/arch/sh/configs/r7785rp_defconfig index 0f5ec649daf8..5c29338532da 100644 --- a/arch/sh/configs/r7785rp_defconfig +++ b/arch/sh/configs/r7785rp_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.21-rc3 | 3 | # Linux kernel version: 2.6.22-rc4 |
4 | # Mon Mar 12 14:26:33 2007 | 4 | # Thu Jul 12 12:33:15 2007 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
@@ -11,7 +11,9 @@ CONFIG_GENERIC_HWEIGHT=y | |||
11 | CONFIG_GENERIC_HARDIRQS=y | 11 | CONFIG_GENERIC_HARDIRQS=y |
12 | CONFIG_GENERIC_IRQ_PROBE=y | 12 | CONFIG_GENERIC_IRQ_PROBE=y |
13 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 13 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
14 | # CONFIG_GENERIC_TIME is not set | 14 | CONFIG_GENERIC_TIME=y |
15 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
16 | CONFIG_SYS_SUPPORTS_PCI=y | ||
15 | CONFIG_STACKTRACE_SUPPORT=y | 17 | CONFIG_STACKTRACE_SUPPORT=y |
16 | CONFIG_LOCKDEP_SUPPORT=y | 18 | CONFIG_LOCKDEP_SUPPORT=y |
17 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | 19 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set |
@@ -43,6 +45,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
43 | # CONFIG_AUDIT is not set | 45 | # CONFIG_AUDIT is not set |
44 | CONFIG_IKCONFIG=y | 46 | CONFIG_IKCONFIG=y |
45 | CONFIG_IKCONFIG_PROC=y | 47 | CONFIG_IKCONFIG_PROC=y |
48 | CONFIG_LOG_BUF_SHIFT=14 | ||
46 | # CONFIG_SYSFS_DEPRECATED is not set | 49 | # CONFIG_SYSFS_DEPRECATED is not set |
47 | # CONFIG_RELAY is not set | 50 | # CONFIG_RELAY is not set |
48 | # CONFIG_BLK_DEV_INITRD is not set | 51 | # CONFIG_BLK_DEV_INITRD is not set |
@@ -60,13 +63,18 @@ CONFIG_BUG=y | |||
60 | CONFIG_ELF_CORE=y | 63 | CONFIG_ELF_CORE=y |
61 | CONFIG_BASE_FULL=y | 64 | CONFIG_BASE_FULL=y |
62 | # CONFIG_FUTEX is not set | 65 | # CONFIG_FUTEX is not set |
66 | CONFIG_ANON_INODES=y | ||
63 | # CONFIG_EPOLL is not set | 67 | # CONFIG_EPOLL is not set |
68 | CONFIG_SIGNALFD=y | ||
69 | CONFIG_TIMERFD=y | ||
70 | CONFIG_EVENTFD=y | ||
64 | CONFIG_SHMEM=y | 71 | CONFIG_SHMEM=y |
65 | CONFIG_SLAB=y | ||
66 | CONFIG_VM_EVENT_COUNTERS=y | 72 | CONFIG_VM_EVENT_COUNTERS=y |
73 | CONFIG_SLAB=y | ||
74 | # CONFIG_SLUB is not set | ||
75 | # CONFIG_SLOB is not set | ||
67 | # CONFIG_TINY_SHMEM is not set | 76 | # CONFIG_TINY_SHMEM is not set |
68 | CONFIG_BASE_SMALL=0 | 77 | CONFIG_BASE_SMALL=0 |
69 | # CONFIG_SLOB is not set | ||
70 | 78 | ||
71 | # | 79 | # |
72 | # Loadable module support | 80 | # Loadable module support |
@@ -102,55 +110,11 @@ CONFIG_DEFAULT_IOSCHED="noop" | |||
102 | # | 110 | # |
103 | # System type | 111 | # System type |
104 | # | 112 | # |
105 | # CONFIG_SH_SOLUTION_ENGINE is not set | ||
106 | # CONFIG_SH_7751_SOLUTION_ENGINE is not set | ||
107 | # CONFIG_SH_7300_SOLUTION_ENGINE is not set | ||
108 | # CONFIG_SH_7343_SOLUTION_ENGINE is not set | ||
109 | # CONFIG_SH_73180_SOLUTION_ENGINE is not set | ||
110 | # CONFIG_SH_7751_SYSTEMH is not set | ||
111 | # CONFIG_SH_HP6XX is not set | ||
112 | # CONFIG_SH_SATURN is not set | ||
113 | # CONFIG_SH_DREAMCAST is not set | ||
114 | # CONFIG_SH_MPC1211 is not set | ||
115 | # CONFIG_SH_SH03 is not set | ||
116 | # CONFIG_SH_SECUREEDGE5410 is not set | ||
117 | # CONFIG_SH_HS7751RVOIP is not set | ||
118 | # CONFIG_SH_7710VOIPGW is not set | ||
119 | # CONFIG_SH_RTS7751R2D is not set | ||
120 | CONFIG_SH_HIGHLANDER=y | ||
121 | # CONFIG_SH_EDOSK7705 is not set | ||
122 | # CONFIG_SH_SH4202_MICRODEV is not set | ||
123 | # CONFIG_SH_LANDISK is not set | ||
124 | # CONFIG_SH_TITAN is not set | ||
125 | # CONFIG_SH_SHMIN is not set | ||
126 | # CONFIG_SH_7206_SOLUTION_ENGINE is not set | ||
127 | # CONFIG_SH_7619_SOLUTION_ENGINE is not set | ||
128 | # CONFIG_SH_UNKNOWN is not set | ||
129 | # CONFIG_SH_R7780RP is not set | ||
130 | # CONFIG_SH_R7780MP is not set | ||
131 | CONFIG_SH_R7785RP=y | ||
132 | |||
133 | # | ||
134 | # Processor selection | ||
135 | # | ||
136 | CONFIG_CPU_SH4=y | 113 | CONFIG_CPU_SH4=y |
137 | CONFIG_CPU_SH4A=y | 114 | CONFIG_CPU_SH4A=y |
138 | CONFIG_CPU_SHX2=y | 115 | CONFIG_CPU_SHX2=y |
139 | |||
140 | # | ||
141 | # SH-2 Processor Support | ||
142 | # | ||
143 | # CONFIG_CPU_SUBTYPE_SH7604 is not set | ||
144 | # CONFIG_CPU_SUBTYPE_SH7619 is not set | 116 | # CONFIG_CPU_SUBTYPE_SH7619 is not set |
145 | |||
146 | # | ||
147 | # SH-2A Processor Support | ||
148 | # | ||
149 | # CONFIG_CPU_SUBTYPE_SH7206 is not set | 117 | # CONFIG_CPU_SUBTYPE_SH7206 is not set |
150 | |||
151 | # | ||
152 | # SH-3 Processor Support | ||
153 | # | ||
154 | # CONFIG_CPU_SUBTYPE_SH7300 is not set | 118 | # CONFIG_CPU_SUBTYPE_SH7300 is not set |
155 | # CONFIG_CPU_SUBTYPE_SH7705 is not set | 119 | # CONFIG_CPU_SUBTYPE_SH7705 is not set |
156 | # CONFIG_CPU_SUBTYPE_SH7706 is not set | 120 | # CONFIG_CPU_SUBTYPE_SH7706 is not set |
@@ -158,10 +122,7 @@ CONFIG_CPU_SHX2=y | |||
158 | # CONFIG_CPU_SUBTYPE_SH7708 is not set | 122 | # CONFIG_CPU_SUBTYPE_SH7708 is not set |
159 | # CONFIG_CPU_SUBTYPE_SH7709 is not set | 123 | # CONFIG_CPU_SUBTYPE_SH7709 is not set |
160 | # CONFIG_CPU_SUBTYPE_SH7710 is not set | 124 | # CONFIG_CPU_SUBTYPE_SH7710 is not set |
161 | 125 | # CONFIG_CPU_SUBTYPE_SH7712 is not set | |
162 | # | ||
163 | # SH-4 Processor Support | ||
164 | # | ||
165 | # CONFIG_CPU_SUBTYPE_SH7750 is not set | 126 | # CONFIG_CPU_SUBTYPE_SH7750 is not set |
166 | # CONFIG_CPU_SUBTYPE_SH7091 is not set | 127 | # CONFIG_CPU_SUBTYPE_SH7091 is not set |
167 | # CONFIG_CPU_SUBTYPE_SH7750R is not set | 128 | # CONFIG_CPU_SUBTYPE_SH7750R is not set |
@@ -170,23 +131,12 @@ CONFIG_CPU_SHX2=y | |||
170 | # CONFIG_CPU_SUBTYPE_SH7751R is not set | 131 | # CONFIG_CPU_SUBTYPE_SH7751R is not set |
171 | # CONFIG_CPU_SUBTYPE_SH7760 is not set | 132 | # CONFIG_CPU_SUBTYPE_SH7760 is not set |
172 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set | 133 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set |
173 | |||
174 | # | ||
175 | # ST40 Processor Support | ||
176 | # | ||
177 | # CONFIG_CPU_SUBTYPE_ST40STB1 is not set | 134 | # CONFIG_CPU_SUBTYPE_ST40STB1 is not set |
178 | # CONFIG_CPU_SUBTYPE_ST40GX1 is not set | 135 | # CONFIG_CPU_SUBTYPE_ST40GX1 is not set |
179 | |||
180 | # | ||
181 | # SH-4A Processor Support | ||
182 | # | ||
183 | # CONFIG_CPU_SUBTYPE_SH7770 is not set | 136 | # CONFIG_CPU_SUBTYPE_SH7770 is not set |
184 | # CONFIG_CPU_SUBTYPE_SH7780 is not set | 137 | # CONFIG_CPU_SUBTYPE_SH7780 is not set |
185 | CONFIG_CPU_SUBTYPE_SH7785=y | 138 | CONFIG_CPU_SUBTYPE_SH7785=y |
186 | 139 | # CONFIG_CPU_SUBTYPE_SHX3 is not set | |
187 | # | ||
188 | # SH4AL-DSP Processor Support | ||
189 | # | ||
190 | # CONFIG_CPU_SUBTYPE_SH73180 is not set | 140 | # CONFIG_CPU_SUBTYPE_SH73180 is not set |
191 | # CONFIG_CPU_SUBTYPE_SH7343 is not set | 141 | # CONFIG_CPU_SUBTYPE_SH7343 is not set |
192 | # CONFIG_CPU_SUBTYPE_SH7722 is not set | 142 | # CONFIG_CPU_SUBTYPE_SH7722 is not set |
@@ -194,6 +144,7 @@ CONFIG_CPU_SUBTYPE_SH7785=y | |||
194 | # | 144 | # |
195 | # Memory management options | 145 | # Memory management options |
196 | # | 146 | # |
147 | CONFIG_QUICKLIST=y | ||
197 | CONFIG_MMU=y | 148 | CONFIG_MMU=y |
198 | CONFIG_PAGE_OFFSET=0x80000000 | 149 | CONFIG_PAGE_OFFSET=0x80000000 |
199 | CONFIG_MEMORY_START=0x08000000 | 150 | CONFIG_MEMORY_START=0x08000000 |
@@ -201,6 +152,12 @@ CONFIG_MEMORY_SIZE=0x08000000 | |||
201 | CONFIG_32BIT=y | 152 | CONFIG_32BIT=y |
202 | # CONFIG_X2TLB is not set | 153 | # CONFIG_X2TLB is not set |
203 | CONFIG_VSYSCALL=y | 154 | CONFIG_VSYSCALL=y |
155 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
156 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||
157 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | ||
158 | CONFIG_MAX_ACTIVE_REGIONS=1 | ||
159 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
160 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
204 | CONFIG_PAGE_SIZE_4KB=y | 161 | CONFIG_PAGE_SIZE_4KB=y |
205 | # CONFIG_PAGE_SIZE_8KB is not set | 162 | # CONFIG_PAGE_SIZE_8KB is not set |
206 | # CONFIG_PAGE_SIZE_64KB is not set | 163 | # CONFIG_PAGE_SIZE_64KB is not set |
@@ -215,17 +172,17 @@ CONFIG_FLATMEM_MANUAL=y | |||
215 | # CONFIG_SPARSEMEM_MANUAL is not set | 172 | # CONFIG_SPARSEMEM_MANUAL is not set |
216 | CONFIG_FLATMEM=y | 173 | CONFIG_FLATMEM=y |
217 | CONFIG_FLAT_NODE_MEM_MAP=y | 174 | CONFIG_FLAT_NODE_MEM_MAP=y |
218 | # CONFIG_SPARSEMEM_STATIC is not set | 175 | CONFIG_SPARSEMEM_STATIC=y |
219 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 176 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
220 | # CONFIG_RESOURCES_64BIT is not set | 177 | # CONFIG_RESOURCES_64BIT is not set |
221 | CONFIG_ZONE_DMA_FLAG=0 | 178 | CONFIG_ZONE_DMA_FLAG=0 |
179 | CONFIG_NR_QUICK=2 | ||
222 | 180 | ||
223 | # | 181 | # |
224 | # Cache configuration | 182 | # Cache configuration |
225 | # | 183 | # |
226 | # CONFIG_SH_DIRECT_MAPPED is not set | 184 | # CONFIG_SH_DIRECT_MAPPED is not set |
227 | # CONFIG_SH_WRITETHROUGH is not set | 185 | # CONFIG_SH_WRITETHROUGH is not set |
228 | # CONFIG_SH_OCRAM is not set | ||
229 | 186 | ||
230 | # | 187 | # |
231 | # Processor features | 188 | # Processor features |
@@ -241,12 +198,22 @@ CONFIG_CPU_HAS_SR_RB=y | |||
241 | CONFIG_CPU_HAS_PTEA=y | 198 | CONFIG_CPU_HAS_PTEA=y |
242 | 199 | ||
243 | # | 200 | # |
201 | # Board support | ||
202 | # | ||
203 | CONFIG_SH_HIGHLANDER=y | ||
204 | # CONFIG_SH_R7780RP is not set | ||
205 | # CONFIG_SH_R7780MP is not set | ||
206 | CONFIG_SH_R7785RP=y | ||
207 | |||
208 | # | ||
244 | # Timer and clock configuration | 209 | # Timer and clock configuration |
245 | # | 210 | # |
246 | CONFIG_SH_TMU=y | 211 | CONFIG_SH_TMU=y |
247 | CONFIG_SH_TIMER_IRQ=28 | 212 | CONFIG_SH_TIMER_IRQ=28 |
248 | CONFIG_NO_IDLE_HZ=y | ||
249 | CONFIG_SH_PCLK_FREQ=50000000 | 213 | CONFIG_SH_PCLK_FREQ=50000000 |
214 | # CONFIG_TICK_ONESHOT is not set | ||
215 | # CONFIG_NO_HZ is not set | ||
216 | # CONFIG_HIGH_RES_TIMERS is not set | ||
250 | 217 | ||
251 | # | 218 | # |
252 | # CPU Frequency scaling | 219 | # CPU Frequency scaling |
@@ -261,7 +228,6 @@ CONFIG_SH_PCLK_FREQ=50000000 | |||
261 | # | 228 | # |
262 | # Companion Chips | 229 | # Companion Chips |
263 | # | 230 | # |
264 | # CONFIG_HD6446X_SERIES is not set | ||
265 | 231 | ||
266 | # | 232 | # |
267 | # Additional SuperH Device Drivers | 233 | # Additional SuperH Device Drivers |
@@ -278,7 +244,7 @@ CONFIG_HZ_250=y | |||
278 | # CONFIG_HZ_1000 is not set | 244 | # CONFIG_HZ_1000 is not set |
279 | CONFIG_HZ=250 | 245 | CONFIG_HZ=250 |
280 | CONFIG_KEXEC=y | 246 | CONFIG_KEXEC=y |
281 | # CONFIG_SMP is not set | 247 | # CONFIG_CRASH_DUMP is not set |
282 | # CONFIG_PREEMPT_NONE is not set | 248 | # CONFIG_PREEMPT_NONE is not set |
283 | # CONFIG_PREEMPT_VOLUNTARY is not set | 249 | # CONFIG_PREEMPT_VOLUNTARY is not set |
284 | CONFIG_PREEMPT=y | 250 | CONFIG_PREEMPT=y |
@@ -300,31 +266,22 @@ CONFIG_PCI=y | |||
300 | CONFIG_SH_PCIDMA_NONCOHERENT=y | 266 | CONFIG_SH_PCIDMA_NONCOHERENT=y |
301 | CONFIG_PCI_AUTO=y | 267 | CONFIG_PCI_AUTO=y |
302 | CONFIG_PCI_AUTO_UPDATE_RESOURCES=y | 268 | CONFIG_PCI_AUTO_UPDATE_RESOURCES=y |
269 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
303 | # CONFIG_PCI_DEBUG is not set | 270 | # CONFIG_PCI_DEBUG is not set |
304 | 271 | ||
305 | # | 272 | # |
306 | # PCCARD (PCMCIA/CardBus) support | 273 | # PCCARD (PCMCIA/CardBus) support |
307 | # | 274 | # |
308 | # CONFIG_PCCARD is not set | 275 | # CONFIG_PCCARD is not set |
309 | |||
310 | # | ||
311 | # PCI Hotplug Support | ||
312 | # | ||
313 | # CONFIG_HOTPLUG_PCI is not set | 276 | # CONFIG_HOTPLUG_PCI is not set |
314 | 277 | ||
315 | # | 278 | # |
316 | # Executable file formats | 279 | # Executable file formats |
317 | # | 280 | # |
318 | CONFIG_BINFMT_ELF=y | 281 | CONFIG_BINFMT_ELF=y |
319 | # CONFIG_BINFMT_FLAT is not set | ||
320 | # CONFIG_BINFMT_MISC is not set | 282 | # CONFIG_BINFMT_MISC is not set |
321 | 283 | ||
322 | # | 284 | # |
323 | # Power management options (EXPERIMENTAL) | ||
324 | # | ||
325 | # CONFIG_PM is not set | ||
326 | |||
327 | # | ||
328 | # Networking | 285 | # Networking |
329 | # | 286 | # |
330 | CONFIG_NET=y | 287 | CONFIG_NET=y |
@@ -332,7 +289,6 @@ CONFIG_NET=y | |||
332 | # | 289 | # |
333 | # Networking options | 290 | # Networking options |
334 | # | 291 | # |
335 | # CONFIG_NETDEBUG is not set | ||
336 | CONFIG_PACKET=y | 292 | CONFIG_PACKET=y |
337 | # CONFIG_PACKET_MMAP is not set | 293 | # CONFIG_PACKET_MMAP is not set |
338 | CONFIG_UNIX=y | 294 | CONFIG_UNIX=y |
@@ -377,20 +333,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
377 | # CONFIG_INET6_TUNNEL is not set | 333 | # CONFIG_INET6_TUNNEL is not set |
378 | # CONFIG_NETWORK_SECMARK is not set | 334 | # CONFIG_NETWORK_SECMARK is not set |
379 | # CONFIG_NETFILTER is not set | 335 | # CONFIG_NETFILTER is not set |
380 | |||
381 | # | ||
382 | # DCCP Configuration (EXPERIMENTAL) | ||
383 | # | ||
384 | # CONFIG_IP_DCCP is not set | 336 | # CONFIG_IP_DCCP is not set |
385 | |||
386 | # | ||
387 | # SCTP Configuration (EXPERIMENTAL) | ||
388 | # | ||
389 | # CONFIG_IP_SCTP is not set | 337 | # CONFIG_IP_SCTP is not set |
390 | |||
391 | # | ||
392 | # TIPC Configuration (EXPERIMENTAL) | ||
393 | # | ||
394 | # CONFIG_TIPC is not set | 338 | # CONFIG_TIPC is not set |
395 | # CONFIG_ATM is not set | 339 | # CONFIG_ATM is not set |
396 | CONFIG_BRIDGE=m | 340 | CONFIG_BRIDGE=m |
@@ -417,8 +361,16 @@ CONFIG_LLC=m | |||
417 | # CONFIG_HAMRADIO is not set | 361 | # CONFIG_HAMRADIO is not set |
418 | # CONFIG_IRDA is not set | 362 | # CONFIG_IRDA is not set |
419 | # CONFIG_BT is not set | 363 | # CONFIG_BT is not set |
420 | # CONFIG_IEEE80211 is not set | 364 | # CONFIG_AF_RXRPC is not set |
365 | |||
366 | # | ||
367 | # Wireless | ||
368 | # | ||
369 | # CONFIG_CFG80211 is not set | ||
421 | CONFIG_WIRELESS_EXT=y | 370 | CONFIG_WIRELESS_EXT=y |
371 | # CONFIG_MAC80211 is not set | ||
372 | # CONFIG_IEEE80211 is not set | ||
373 | # CONFIG_RFKILL is not set | ||
422 | 374 | ||
423 | # | 375 | # |
424 | # Device Drivers | 376 | # Device Drivers |
@@ -438,10 +390,6 @@ CONFIG_FW_LOADER=m | |||
438 | # Connector - unified userspace <-> kernelspace linker | 390 | # Connector - unified userspace <-> kernelspace linker |
439 | # | 391 | # |
440 | # CONFIG_CONNECTOR is not set | 392 | # CONFIG_CONNECTOR is not set |
441 | |||
442 | # | ||
443 | # Memory Technology Devices (MTD) | ||
444 | # | ||
445 | # CONFIG_MTD is not set | 393 | # CONFIG_MTD is not set |
446 | 394 | ||
447 | # | 395 | # |
@@ -475,12 +423,10 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | |||
475 | # | 423 | # |
476 | # Misc devices | 424 | # Misc devices |
477 | # | 425 | # |
426 | # CONFIG_PHANTOM is not set | ||
478 | # CONFIG_SGI_IOC4 is not set | 427 | # CONFIG_SGI_IOC4 is not set |
479 | # CONFIG_TIFM_CORE is not set | 428 | # CONFIG_TIFM_CORE is not set |
480 | 429 | # CONFIG_BLINK is not set | |
481 | # | ||
482 | # ATA/ATAPI/MFM/RLL support | ||
483 | # | ||
484 | # CONFIG_IDE is not set | 430 | # CONFIG_IDE is not set |
485 | 431 | ||
486 | # | 432 | # |
@@ -509,6 +455,7 @@ CONFIG_CHR_DEV_SG=m | |||
509 | # CONFIG_SCSI_CONSTANTS is not set | 455 | # CONFIG_SCSI_CONSTANTS is not set |
510 | # CONFIG_SCSI_LOGGING is not set | 456 | # CONFIG_SCSI_LOGGING is not set |
511 | # CONFIG_SCSI_SCAN_ASYNC is not set | 457 | # CONFIG_SCSI_SCAN_ASYNC is not set |
458 | CONFIG_SCSI_WAIT_SCAN=m | ||
512 | 459 | ||
513 | # | 460 | # |
514 | # SCSI Transports | 461 | # SCSI Transports |
@@ -554,10 +501,6 @@ CONFIG_CHR_DEV_SG=m | |||
554 | # CONFIG_SCSI_NSP32 is not set | 501 | # CONFIG_SCSI_NSP32 is not set |
555 | # CONFIG_SCSI_DEBUG is not set | 502 | # CONFIG_SCSI_DEBUG is not set |
556 | # CONFIG_SCSI_SRP is not set | 503 | # CONFIG_SCSI_SRP is not set |
557 | |||
558 | # | ||
559 | # Serial ATA (prod) and Parallel ATA (experimental) drivers | ||
560 | # | ||
561 | CONFIG_ATA=y | 504 | CONFIG_ATA=y |
562 | # CONFIG_ATA_NONSTANDARD is not set | 505 | # CONFIG_ATA_NONSTANDARD is not set |
563 | # CONFIG_SATA_AHCI is not set | 506 | # CONFIG_SATA_AHCI is not set |
@@ -580,6 +523,7 @@ CONFIG_SATA_SIL=y | |||
580 | # CONFIG_PATA_AMD is not set | 523 | # CONFIG_PATA_AMD is not set |
581 | # CONFIG_PATA_ARTOP is not set | 524 | # CONFIG_PATA_ARTOP is not set |
582 | # CONFIG_PATA_ATIIXP is not set | 525 | # CONFIG_PATA_ATIIXP is not set |
526 | # CONFIG_PATA_CMD640_PCI is not set | ||
583 | # CONFIG_PATA_CMD64X is not set | 527 | # CONFIG_PATA_CMD64X is not set |
584 | # CONFIG_PATA_CS5520 is not set | 528 | # CONFIG_PATA_CS5520 is not set |
585 | # CONFIG_PATA_CS5530 is not set | 529 | # CONFIG_PATA_CS5530 is not set |
@@ -629,6 +573,7 @@ CONFIG_PATA_PLATFORM=y | |||
629 | # | 573 | # |
630 | # IEEE 1394 (FireWire) support | 574 | # IEEE 1394 (FireWire) support |
631 | # | 575 | # |
576 | # CONFIG_FIREWIRE is not set | ||
632 | # CONFIG_IEEE1394 is not set | 577 | # CONFIG_IEEE1394 is not set |
633 | 578 | ||
634 | # | 579 | # |
@@ -644,15 +589,7 @@ CONFIG_NETDEVICES=y | |||
644 | # CONFIG_BONDING is not set | 589 | # CONFIG_BONDING is not set |
645 | # CONFIG_EQUALIZER is not set | 590 | # CONFIG_EQUALIZER is not set |
646 | # CONFIG_TUN is not set | 591 | # CONFIG_TUN is not set |
647 | |||
648 | # | ||
649 | # ARCnet devices | ||
650 | # | ||
651 | # CONFIG_ARCNET is not set | 592 | # CONFIG_ARCNET is not set |
652 | |||
653 | # | ||
654 | # PHY device support | ||
655 | # | ||
656 | # CONFIG_PHYLIB is not set | 593 | # CONFIG_PHYLIB is not set |
657 | 594 | ||
658 | # | 595 | # |
@@ -673,10 +610,7 @@ CONFIG_MII=y | |||
673 | # CONFIG_NET_TULIP is not set | 610 | # CONFIG_NET_TULIP is not set |
674 | # CONFIG_HP100 is not set | 611 | # CONFIG_HP100 is not set |
675 | # CONFIG_NET_PCI is not set | 612 | # CONFIG_NET_PCI is not set |
676 | 613 | CONFIG_NETDEV_1000=y | |
677 | # | ||
678 | # Ethernet (1000 Mbit) | ||
679 | # | ||
680 | # CONFIG_ACENIC is not set | 614 | # CONFIG_ACENIC is not set |
681 | # CONFIG_DL2K is not set | 615 | # CONFIG_DL2K is not set |
682 | # CONFIG_E1000 is not set | 616 | # CONFIG_E1000 is not set |
@@ -689,55 +623,26 @@ CONFIG_R8169=y | |||
689 | # CONFIG_SKGE is not set | 623 | # CONFIG_SKGE is not set |
690 | # CONFIG_SKY2 is not set | 624 | # CONFIG_SKY2 is not set |
691 | # CONFIG_SK98LIN is not set | 625 | # CONFIG_SK98LIN is not set |
626 | # CONFIG_VIA_VELOCITY is not set | ||
692 | # CONFIG_TIGON3 is not set | 627 | # CONFIG_TIGON3 is not set |
693 | # CONFIG_BNX2 is not set | 628 | # CONFIG_BNX2 is not set |
694 | # CONFIG_QLA3XXX is not set | 629 | # CONFIG_QLA3XXX is not set |
695 | # CONFIG_ATL1 is not set | 630 | # CONFIG_ATL1 is not set |
696 | 631 | CONFIG_NETDEV_10000=y | |
697 | # | ||
698 | # Ethernet (10000 Mbit) | ||
699 | # | ||
700 | # CONFIG_CHELSIO_T1 is not set | 632 | # CONFIG_CHELSIO_T1 is not set |
701 | # CONFIG_CHELSIO_T3 is not set | 633 | # CONFIG_CHELSIO_T3 is not set |
702 | # CONFIG_IXGB is not set | 634 | # CONFIG_IXGB is not set |
703 | # CONFIG_S2IO is not set | 635 | # CONFIG_S2IO is not set |
704 | # CONFIG_MYRI10GE is not set | 636 | # CONFIG_MYRI10GE is not set |
705 | # CONFIG_NETXEN_NIC is not set | 637 | # CONFIG_NETXEN_NIC is not set |
706 | 638 | # CONFIG_MLX4_CORE is not set | |
707 | # | ||
708 | # Token Ring devices | ||
709 | # | ||
710 | # CONFIG_TR is not set | 639 | # CONFIG_TR is not set |
711 | 640 | ||
712 | # | 641 | # |
713 | # Wireless LAN (non-hamradio) | 642 | # Wireless LAN |
714 | # | ||
715 | CONFIG_NET_RADIO=y | ||
716 | # CONFIG_NET_WIRELESS_RTNETLINK is not set | ||
717 | |||
718 | # | ||
719 | # Obsolete Wireless cards support (pre-802.11) | ||
720 | # | ||
721 | # CONFIG_STRIP is not set | ||
722 | |||
723 | # | ||
724 | # Wireless 802.11b ISA/PCI cards support | ||
725 | # | ||
726 | # CONFIG_IPW2100 is not set | ||
727 | # CONFIG_IPW2200 is not set | ||
728 | # CONFIG_HERMES is not set | ||
729 | # CONFIG_ATMEL is not set | ||
730 | |||
731 | # | ||
732 | # Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support | ||
733 | # | ||
734 | # CONFIG_PRISM54 is not set | ||
735 | # CONFIG_HOSTAP is not set | ||
736 | CONFIG_NET_WIRELESS=y | ||
737 | |||
738 | # | ||
739 | # Wan interfaces | ||
740 | # | 643 | # |
644 | # CONFIG_WLAN_PRE80211 is not set | ||
645 | # CONFIG_WLAN_80211 is not set | ||
741 | # CONFIG_WAN is not set | 646 | # CONFIG_WAN is not set |
742 | # CONFIG_FDDI is not set | 647 | # CONFIG_FDDI is not set |
743 | # CONFIG_HIPPI is not set | 648 | # CONFIG_HIPPI is not set |
@@ -789,6 +694,7 @@ CONFIG_KEYBOARD_ATKBD=y | |||
789 | # CONFIG_KEYBOARD_STOWAWAY is not set | 694 | # CONFIG_KEYBOARD_STOWAWAY is not set |
790 | # CONFIG_INPUT_MOUSE is not set | 695 | # CONFIG_INPUT_MOUSE is not set |
791 | # CONFIG_INPUT_JOYSTICK is not set | 696 | # CONFIG_INPUT_JOYSTICK is not set |
697 | # CONFIG_INPUT_TABLET is not set | ||
792 | # CONFIG_INPUT_TOUCHSCREEN is not set | 698 | # CONFIG_INPUT_TOUCHSCREEN is not set |
793 | # CONFIG_INPUT_MISC is not set | 699 | # CONFIG_INPUT_MISC is not set |
794 | 700 | ||
@@ -831,14 +737,8 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
831 | # IPMI | 737 | # IPMI |
832 | # | 738 | # |
833 | # CONFIG_IPMI_HANDLER is not set | 739 | # CONFIG_IPMI_HANDLER is not set |
834 | |||
835 | # | ||
836 | # Watchdog Cards | ||
837 | # | ||
838 | # CONFIG_WATCHDOG is not set | 740 | # CONFIG_WATCHDOG is not set |
839 | CONFIG_HW_RANDOM=y | 741 | CONFIG_HW_RANDOM=y |
840 | # CONFIG_GEN_RTC is not set | ||
841 | # CONFIG_DTLK is not set | ||
842 | # CONFIG_R3964 is not set | 742 | # CONFIG_R3964 is not set |
843 | # CONFIG_APPLICOM is not set | 743 | # CONFIG_APPLICOM is not set |
844 | # CONFIG_DRM is not set | 744 | # CONFIG_DRM is not set |
@@ -848,10 +748,7 @@ CONFIG_HW_RANDOM=y | |||
848 | # TPM devices | 748 | # TPM devices |
849 | # | 749 | # |
850 | # CONFIG_TCG_TPM is not set | 750 | # CONFIG_TCG_TPM is not set |
851 | 751 | CONFIG_DEVPORT=y | |
852 | # | ||
853 | # I2C support | ||
854 | # | ||
855 | # CONFIG_I2C is not set | 752 | # CONFIG_I2C is not set |
856 | 753 | ||
857 | # | 754 | # |
@@ -864,16 +761,15 @@ CONFIG_HW_RANDOM=y | |||
864 | # Dallas's 1-wire bus | 761 | # Dallas's 1-wire bus |
865 | # | 762 | # |
866 | # CONFIG_W1 is not set | 763 | # CONFIG_W1 is not set |
867 | |||
868 | # | ||
869 | # Hardware Monitoring support | ||
870 | # | ||
871 | CONFIG_HWMON=y | 764 | CONFIG_HWMON=y |
872 | # CONFIG_HWMON_VID is not set | 765 | # CONFIG_HWMON_VID is not set |
873 | # CONFIG_SENSORS_ABITUGURU is not set | 766 | # CONFIG_SENSORS_ABITUGURU is not set |
874 | # CONFIG_SENSORS_F71805F is not set | 767 | # CONFIG_SENSORS_F71805F is not set |
875 | # CONFIG_SENSORS_PC87427 is not set | 768 | # CONFIG_SENSORS_PC87427 is not set |
769 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
770 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
876 | # CONFIG_SENSORS_VT1211 is not set | 771 | # CONFIG_SENSORS_VT1211 is not set |
772 | # CONFIG_SENSORS_W83627HF is not set | ||
877 | # CONFIG_HWMON_DEBUG_CHIP is not set | 773 | # CONFIG_HWMON_DEBUG_CHIP is not set |
878 | 774 | ||
879 | # | 775 | # |
@@ -885,22 +781,30 @@ CONFIG_HWMON=y | |||
885 | # Multimedia devices | 781 | # Multimedia devices |
886 | # | 782 | # |
887 | # CONFIG_VIDEO_DEV is not set | 783 | # CONFIG_VIDEO_DEV is not set |
784 | # CONFIG_DVB_CORE is not set | ||
785 | # CONFIG_DAB is not set | ||
888 | 786 | ||
889 | # | 787 | # |
890 | # Digital Video Broadcasting Devices | 788 | # Graphics support |
891 | # | 789 | # |
892 | # CONFIG_DVB is not set | 790 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
893 | 791 | ||
894 | # | 792 | # |
895 | # Graphics support | 793 | # Display device support |
896 | # | 794 | # |
897 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 795 | # CONFIG_DISPLAY_SUPPORT is not set |
796 | # CONFIG_VGASTATE is not set | ||
898 | CONFIG_FB=y | 797 | CONFIG_FB=y |
899 | # CONFIG_FIRMWARE_EDID is not set | 798 | # CONFIG_FIRMWARE_EDID is not set |
900 | # CONFIG_FB_DDC is not set | 799 | # CONFIG_FB_DDC is not set |
901 | # CONFIG_FB_CFB_FILLRECT is not set | 800 | # CONFIG_FB_CFB_FILLRECT is not set |
902 | # CONFIG_FB_CFB_COPYAREA is not set | 801 | # CONFIG_FB_CFB_COPYAREA is not set |
903 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 802 | # CONFIG_FB_CFB_IMAGEBLIT is not set |
803 | # CONFIG_FB_SYS_FILLRECT is not set | ||
804 | # CONFIG_FB_SYS_COPYAREA is not set | ||
805 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
806 | # CONFIG_FB_SYS_FOPS is not set | ||
807 | CONFIG_FB_DEFERRED_IO=y | ||
904 | # CONFIG_FB_SVGALIB is not set | 808 | # CONFIG_FB_SVGALIB is not set |
905 | # CONFIG_FB_MACMODES is not set | 809 | # CONFIG_FB_MACMODES is not set |
906 | # CONFIG_FB_BACKLIGHT is not set | 810 | # CONFIG_FB_BACKLIGHT is not set |
@@ -908,7 +812,7 @@ CONFIG_FB=y | |||
908 | # CONFIG_FB_TILEBLITTING is not set | 812 | # CONFIG_FB_TILEBLITTING is not set |
909 | 813 | ||
910 | # | 814 | # |
911 | # Frambuffer hardware drivers | 815 | # Frame buffer hardware drivers |
912 | # | 816 | # |
913 | # CONFIG_FB_CIRRUS is not set | 817 | # CONFIG_FB_CIRRUS is not set |
914 | # CONFIG_FB_PM2 is not set | 818 | # CONFIG_FB_PM2 is not set |
@@ -930,12 +834,11 @@ CONFIG_FB=y | |||
930 | # CONFIG_FB_KYRO is not set | 834 | # CONFIG_FB_KYRO is not set |
931 | # CONFIG_FB_3DFX is not set | 835 | # CONFIG_FB_3DFX is not set |
932 | # CONFIG_FB_VOODOO1 is not set | 836 | # CONFIG_FB_VOODOO1 is not set |
837 | # CONFIG_FB_VT8623 is not set | ||
933 | # CONFIG_FB_TRIDENT is not set | 838 | # CONFIG_FB_TRIDENT is not set |
839 | # CONFIG_FB_ARK is not set | ||
840 | # CONFIG_FB_PM3 is not set | ||
934 | # CONFIG_FB_VIRTUAL is not set | 841 | # CONFIG_FB_VIRTUAL is not set |
935 | |||
936 | # | ||
937 | # Logo configuration | ||
938 | # | ||
939 | # CONFIG_LOGO is not set | 842 | # CONFIG_LOGO is not set |
940 | 843 | ||
941 | # | 844 | # |
@@ -952,13 +855,10 @@ CONFIG_SOUND=m | |||
952 | # Open Sound System | 855 | # Open Sound System |
953 | # | 856 | # |
954 | CONFIG_SOUND_PRIME=m | 857 | CONFIG_SOUND_PRIME=m |
955 | # CONFIG_OBSOLETE_OSS is not set | 858 | # CONFIG_OSS_OBSOLETE is not set |
956 | # CONFIG_SOUND_BT878 is not set | ||
957 | # CONFIG_SOUND_ICH is not set | ||
958 | # CONFIG_SOUND_TRIDENT is not set | 859 | # CONFIG_SOUND_TRIDENT is not set |
959 | # CONFIG_SOUND_MSNDCLAS is not set | 860 | # CONFIG_SOUND_MSNDCLAS is not set |
960 | # CONFIG_SOUND_MSNDPIN is not set | 861 | # CONFIG_SOUND_MSNDPIN is not set |
961 | # CONFIG_SOUND_VIA82CXXX is not set | ||
962 | 862 | ||
963 | # | 863 | # |
964 | # HID Devices | 864 | # HID Devices |
@@ -982,10 +882,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
982 | # USB Gadget Support | 882 | # USB Gadget Support |
983 | # | 883 | # |
984 | # CONFIG_USB_GADGET is not set | 884 | # CONFIG_USB_GADGET is not set |
985 | |||
986 | # | ||
987 | # MMC/SD Card support | ||
988 | # | ||
989 | # CONFIG_MMC is not set | 885 | # CONFIG_MMC is not set |
990 | 886 | ||
991 | # | 887 | # |
@@ -1026,18 +922,30 @@ CONFIG_RTC_INTF_SYSFS=y | |||
1026 | CONFIG_RTC_INTF_PROC=y | 922 | CONFIG_RTC_INTF_PROC=y |
1027 | CONFIG_RTC_INTF_DEV=y | 923 | CONFIG_RTC_INTF_DEV=y |
1028 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | 924 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set |
925 | # CONFIG_RTC_DRV_TEST is not set | ||
926 | |||
927 | # | ||
928 | # I2C RTC drivers | ||
929 | # | ||
1029 | 930 | ||
1030 | # | 931 | # |
1031 | # RTC drivers | 932 | # SPI RTC drivers |
933 | # | ||
934 | |||
935 | # | ||
936 | # Platform RTC drivers | ||
1032 | # | 937 | # |
1033 | # CONFIG_RTC_DRV_DS1553 is not set | 938 | # CONFIG_RTC_DRV_DS1553 is not set |
1034 | # CONFIG_RTC_DRV_DS1742 is not set | 939 | # CONFIG_RTC_DRV_DS1742 is not set |
1035 | # CONFIG_RTC_DRV_M48T86 is not set | 940 | # CONFIG_RTC_DRV_M48T86 is not set |
1036 | CONFIG_RTC_DRV_SH=y | ||
1037 | # CONFIG_RTC_DRV_TEST is not set | ||
1038 | # CONFIG_RTC_DRV_V3020 is not set | 941 | # CONFIG_RTC_DRV_V3020 is not set |
1039 | 942 | ||
1040 | # | 943 | # |
944 | # on-CPU RTC drivers | ||
945 | # | ||
946 | CONFIG_RTC_DRV_SH=y | ||
947 | |||
948 | # | ||
1041 | # DMA Engine support | 949 | # DMA Engine support |
1042 | # | 950 | # |
1043 | # CONFIG_DMA_ENGINE is not set | 951 | # CONFIG_DMA_ENGINE is not set |
@@ -1051,14 +959,6 @@ CONFIG_RTC_DRV_SH=y | |||
1051 | # | 959 | # |
1052 | 960 | ||
1053 | # | 961 | # |
1054 | # Auxiliary Display support | ||
1055 | # | ||
1056 | |||
1057 | # | ||
1058 | # Virtualization | ||
1059 | # | ||
1060 | |||
1061 | # | ||
1062 | # File systems | 962 | # File systems |
1063 | # | 963 | # |
1064 | CONFIG_EXT2_FS=y | 964 | CONFIG_EXT2_FS=y |
@@ -1157,6 +1057,7 @@ CONFIG_EXPORTFS=y | |||
1157 | CONFIG_NFS_COMMON=y | 1057 | CONFIG_NFS_COMMON=y |
1158 | CONFIG_SUNRPC=y | 1058 | CONFIG_SUNRPC=y |
1159 | CONFIG_SUNRPC_GSS=y | 1059 | CONFIG_SUNRPC_GSS=y |
1060 | # CONFIG_SUNRPC_BIND34 is not set | ||
1160 | CONFIG_RPCSEC_GSS_KRB5=y | 1061 | CONFIG_RPCSEC_GSS_KRB5=y |
1161 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1062 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1162 | # CONFIG_SMB_FS is not set | 1063 | # CONFIG_SMB_FS is not set |
@@ -1239,7 +1140,6 @@ CONFIG_DEBUG_FS=y | |||
1239 | # CONFIG_HEADERS_CHECK is not set | 1140 | # CONFIG_HEADERS_CHECK is not set |
1240 | CONFIG_DEBUG_KERNEL=y | 1141 | CONFIG_DEBUG_KERNEL=y |
1241 | # CONFIG_DEBUG_SHIRQ is not set | 1142 | # CONFIG_DEBUG_SHIRQ is not set |
1242 | CONFIG_LOG_BUF_SHIFT=14 | ||
1243 | # CONFIG_DETECT_SOFTLOCKUP is not set | 1143 | # CONFIG_DETECT_SOFTLOCKUP is not set |
1244 | # CONFIG_SCHEDSTATS is not set | 1144 | # CONFIG_SCHEDSTATS is not set |
1245 | # CONFIG_TIMER_STATS is not set | 1145 | # CONFIG_TIMER_STATS is not set |
@@ -1266,6 +1166,7 @@ CONFIG_FORCED_INLINING=y | |||
1266 | CONFIG_SH_STANDARD_BIOS=y | 1166 | CONFIG_SH_STANDARD_BIOS=y |
1267 | # CONFIG_EARLY_SCIF_CONSOLE is not set | 1167 | # CONFIG_EARLY_SCIF_CONSOLE is not set |
1268 | CONFIG_EARLY_PRINTK=y | 1168 | CONFIG_EARLY_PRINTK=y |
1169 | # CONFIG_DEBUG_BOOTMEM is not set | ||
1269 | CONFIG_DEBUG_STACKOVERFLOW=y | 1170 | CONFIG_DEBUG_STACKOVERFLOW=y |
1270 | CONFIG_DEBUG_STACK_USAGE=y | 1171 | CONFIG_DEBUG_STACK_USAGE=y |
1271 | # CONFIG_4KSTACKS is not set | 1172 | # CONFIG_4KSTACKS is not set |
@@ -1300,6 +1201,7 @@ CONFIG_CRYPTO_ECB=m | |||
1300 | CONFIG_CRYPTO_CBC=y | 1201 | CONFIG_CRYPTO_CBC=y |
1301 | CONFIG_CRYPTO_PCBC=m | 1202 | CONFIG_CRYPTO_PCBC=m |
1302 | # CONFIG_CRYPTO_LRW is not set | 1203 | # CONFIG_CRYPTO_LRW is not set |
1204 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1303 | CONFIG_CRYPTO_DES=y | 1205 | CONFIG_CRYPTO_DES=y |
1304 | # CONFIG_CRYPTO_FCRYPT is not set | 1206 | # CONFIG_CRYPTO_FCRYPT is not set |
1305 | # CONFIG_CRYPTO_BLOWFISH is not set | 1207 | # CONFIG_CRYPTO_BLOWFISH is not set |
@@ -1328,7 +1230,9 @@ CONFIG_CRYPTO_DES=y | |||
1328 | CONFIG_BITREVERSE=y | 1230 | CONFIG_BITREVERSE=y |
1329 | # CONFIG_CRC_CCITT is not set | 1231 | # CONFIG_CRC_CCITT is not set |
1330 | # CONFIG_CRC16 is not set | 1232 | # CONFIG_CRC16 is not set |
1233 | # CONFIG_CRC_ITU_T is not set | ||
1331 | CONFIG_CRC32=y | 1234 | CONFIG_CRC32=y |
1332 | # CONFIG_LIBCRC32C is not set | 1235 | # CONFIG_LIBCRC32C is not set |
1333 | CONFIG_HAS_IOMEM=y | 1236 | CONFIG_HAS_IOMEM=y |
1334 | CONFIG_HAS_IOPORT=y | 1237 | CONFIG_HAS_IOPORT=y |
1238 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/sh/configs/se7206_defconfig b/arch/sh/configs/se7206_defconfig index 87ab9080fd1d..f2f2a3c9c32d 100644 --- a/arch/sh/configs/se7206_defconfig +++ b/arch/sh/configs/se7206_defconfig | |||
@@ -1,18 +1,22 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.19 | 3 | # Linux kernel version: 2.6.22-rc4 |
4 | # Wed Dec 6 14:40:15 2006 | 4 | # Fri Jun 15 19:37:46 2007 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
8 | CONFIG_GENERIC_BUG=y | ||
8 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 9 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
9 | CONFIG_GENERIC_HWEIGHT=y | 10 | CONFIG_GENERIC_HWEIGHT=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 11 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_GENERIC_IRQ_PROBE=y | 12 | CONFIG_GENERIC_IRQ_PROBE=y |
12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 13 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
13 | # CONFIG_GENERIC_TIME is not set | 14 | # CONFIG_GENERIC_TIME is not set |
15 | # CONFIG_GENERIC_CLOCKEVENTS is not set | ||
14 | CONFIG_STACKTRACE_SUPPORT=y | 16 | CONFIG_STACKTRACE_SUPPORT=y |
15 | CONFIG_LOCKDEP_SUPPORT=y | 17 | CONFIG_LOCKDEP_SUPPORT=y |
18 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
19 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
16 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 20 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
17 | 21 | ||
18 | # | 22 | # |
@@ -34,8 +38,10 @@ CONFIG_LOCALVERSION="" | |||
34 | # CONFIG_UTS_NS is not set | 38 | # CONFIG_UTS_NS is not set |
35 | # CONFIG_AUDIT is not set | 39 | # CONFIG_AUDIT is not set |
36 | # CONFIG_IKCONFIG is not set | 40 | # CONFIG_IKCONFIG is not set |
41 | CONFIG_LOG_BUF_SHIFT=14 | ||
42 | CONFIG_SYSFS_DEPRECATED=y | ||
37 | # CONFIG_RELAY is not set | 43 | # CONFIG_RELAY is not set |
38 | CONFIG_INITRAMFS_SOURCE="" | 44 | # CONFIG_BLK_DEV_INITRD is not set |
39 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 45 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
40 | CONFIG_SYSCTL=y | 46 | CONFIG_SYSCTL=y |
41 | CONFIG_EMBEDDED=y | 47 | CONFIG_EMBEDDED=y |
@@ -48,12 +54,17 @@ CONFIG_BUG=y | |||
48 | # CONFIG_ELF_CORE is not set | 54 | # CONFIG_ELF_CORE is not set |
49 | # CONFIG_BASE_FULL is not set | 55 | # CONFIG_BASE_FULL is not set |
50 | # CONFIG_FUTEX is not set | 56 | # CONFIG_FUTEX is not set |
57 | CONFIG_ANON_INODES=y | ||
51 | # CONFIG_EPOLL is not set | 58 | # CONFIG_EPOLL is not set |
52 | CONFIG_SLAB=y | 59 | CONFIG_SIGNALFD=y |
60 | CONFIG_TIMERFD=y | ||
61 | CONFIG_EVENTFD=y | ||
53 | # CONFIG_VM_EVENT_COUNTERS is not set | 62 | # CONFIG_VM_EVENT_COUNTERS is not set |
63 | CONFIG_SLAB=y | ||
64 | # CONFIG_SLUB is not set | ||
65 | # CONFIG_SLOB is not set | ||
54 | CONFIG_TINY_SHMEM=y | 66 | CONFIG_TINY_SHMEM=y |
55 | CONFIG_BASE_SMALL=1 | 67 | CONFIG_BASE_SMALL=1 |
56 | # CONFIG_SLOB is not set | ||
57 | 68 | ||
58 | # | 69 | # |
59 | # Loadable module support | 70 | # Loadable module support |
@@ -83,53 +94,10 @@ CONFIG_DEFAULT_IOSCHED="noop" | |||
83 | # | 94 | # |
84 | # System type | 95 | # System type |
85 | # | 96 | # |
86 | # CONFIG_SH_SOLUTION_ENGINE is not set | ||
87 | # CONFIG_SH_7751_SOLUTION_ENGINE is not set | ||
88 | # CONFIG_SH_7300_SOLUTION_ENGINE is not set | ||
89 | # CONFIG_SH_7343_SOLUTION_ENGINE is not set | ||
90 | # CONFIG_SH_73180_SOLUTION_ENGINE is not set | ||
91 | # CONFIG_SH_7751_SYSTEMH is not set | ||
92 | # CONFIG_SH_HP6XX is not set | ||
93 | # CONFIG_SH_EC3104 is not set | ||
94 | # CONFIG_SH_SATURN is not set | ||
95 | # CONFIG_SH_DREAMCAST is not set | ||
96 | # CONFIG_SH_BIGSUR is not set | ||
97 | # CONFIG_SH_MPC1211 is not set | ||
98 | # CONFIG_SH_SH03 is not set | ||
99 | # CONFIG_SH_SECUREEDGE5410 is not set | ||
100 | # CONFIG_SH_HS7751RVOIP is not set | ||
101 | # CONFIG_SH_7710VOIPGW is not set | ||
102 | # CONFIG_SH_RTS7751R2D is not set | ||
103 | # CONFIG_SH_R7780RP is not set | ||
104 | # CONFIG_SH_EDOSK7705 is not set | ||
105 | # CONFIG_SH_SH4202_MICRODEV is not set | ||
106 | # CONFIG_SH_LANDISK is not set | ||
107 | # CONFIG_SH_TITAN is not set | ||
108 | # CONFIG_SH_SHMIN is not set | ||
109 | CONFIG_SH_7206_SOLUTION_ENGINE=y | ||
110 | # CONFIG_SH_7619_SOLUTION_ENGINE is not set | ||
111 | # CONFIG_SH_UNKNOWN is not set | ||
112 | |||
113 | # | ||
114 | # Processor selection | ||
115 | # | ||
116 | CONFIG_CPU_SH2=y | 97 | CONFIG_CPU_SH2=y |
117 | CONFIG_CPU_SH2A=y | 98 | CONFIG_CPU_SH2A=y |
118 | |||
119 | # | ||
120 | # SH-2 Processor Support | ||
121 | # | ||
122 | # CONFIG_CPU_SUBTYPE_SH7604 is not set | ||
123 | # CONFIG_CPU_SUBTYPE_SH7619 is not set | 99 | # CONFIG_CPU_SUBTYPE_SH7619 is not set |
124 | |||
125 | # | ||
126 | # SH-2A Processor Support | ||
127 | # | ||
128 | CONFIG_CPU_SUBTYPE_SH7206=y | 100 | CONFIG_CPU_SUBTYPE_SH7206=y |
129 | |||
130 | # | ||
131 | # SH-3 Processor Support | ||
132 | # | ||
133 | # CONFIG_CPU_SUBTYPE_SH7300 is not set | 101 | # CONFIG_CPU_SUBTYPE_SH7300 is not set |
134 | # CONFIG_CPU_SUBTYPE_SH7705 is not set | 102 | # CONFIG_CPU_SUBTYPE_SH7705 is not set |
135 | # CONFIG_CPU_SUBTYPE_SH7706 is not set | 103 | # CONFIG_CPU_SUBTYPE_SH7706 is not set |
@@ -137,10 +105,7 @@ CONFIG_CPU_SUBTYPE_SH7206=y | |||
137 | # CONFIG_CPU_SUBTYPE_SH7708 is not set | 105 | # CONFIG_CPU_SUBTYPE_SH7708 is not set |
138 | # CONFIG_CPU_SUBTYPE_SH7709 is not set | 106 | # CONFIG_CPU_SUBTYPE_SH7709 is not set |
139 | # CONFIG_CPU_SUBTYPE_SH7710 is not set | 107 | # CONFIG_CPU_SUBTYPE_SH7710 is not set |
140 | 108 | # CONFIG_CPU_SUBTYPE_SH7712 is not set | |
141 | # | ||
142 | # SH-4 Processor Support | ||
143 | # | ||
144 | # CONFIG_CPU_SUBTYPE_SH7750 is not set | 109 | # CONFIG_CPU_SUBTYPE_SH7750 is not set |
145 | # CONFIG_CPU_SUBTYPE_SH7091 is not set | 110 | # CONFIG_CPU_SUBTYPE_SH7091 is not set |
146 | # CONFIG_CPU_SUBTYPE_SH7750R is not set | 111 | # CONFIG_CPU_SUBTYPE_SH7750R is not set |
@@ -149,32 +114,28 @@ CONFIG_CPU_SUBTYPE_SH7206=y | |||
149 | # CONFIG_CPU_SUBTYPE_SH7751R is not set | 114 | # CONFIG_CPU_SUBTYPE_SH7751R is not set |
150 | # CONFIG_CPU_SUBTYPE_SH7760 is not set | 115 | # CONFIG_CPU_SUBTYPE_SH7760 is not set |
151 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set | 116 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set |
152 | |||
153 | # | ||
154 | # ST40 Processor Support | ||
155 | # | ||
156 | # CONFIG_CPU_SUBTYPE_ST40STB1 is not set | 117 | # CONFIG_CPU_SUBTYPE_ST40STB1 is not set |
157 | # CONFIG_CPU_SUBTYPE_ST40GX1 is not set | 118 | # CONFIG_CPU_SUBTYPE_ST40GX1 is not set |
158 | |||
159 | # | ||
160 | # SH-4A Processor Support | ||
161 | # | ||
162 | # CONFIG_CPU_SUBTYPE_SH7770 is not set | 119 | # CONFIG_CPU_SUBTYPE_SH7770 is not set |
163 | # CONFIG_CPU_SUBTYPE_SH7780 is not set | 120 | # CONFIG_CPU_SUBTYPE_SH7780 is not set |
164 | # CONFIG_CPU_SUBTYPE_SH7785 is not set | 121 | # CONFIG_CPU_SUBTYPE_SH7785 is not set |
165 | |||
166 | # | ||
167 | # SH4AL-DSP Processor Support | ||
168 | # | ||
169 | # CONFIG_CPU_SUBTYPE_SH73180 is not set | 122 | # CONFIG_CPU_SUBTYPE_SH73180 is not set |
170 | # CONFIG_CPU_SUBTYPE_SH7343 is not set | 123 | # CONFIG_CPU_SUBTYPE_SH7343 is not set |
124 | # CONFIG_CPU_SUBTYPE_SH7722 is not set | ||
171 | 125 | ||
172 | # | 126 | # |
173 | # Memory management options | 127 | # Memory management options |
174 | # | 128 | # |
129 | CONFIG_QUICKLIST=y | ||
175 | CONFIG_PAGE_OFFSET=0x00000000 | 130 | CONFIG_PAGE_OFFSET=0x00000000 |
176 | CONFIG_MEMORY_START=0x0c000000 | 131 | CONFIG_MEMORY_START=0x0c000000 |
177 | CONFIG_MEMORY_SIZE=0x04000000 | 132 | CONFIG_MEMORY_SIZE=0x04000000 |
133 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
134 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||
135 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | ||
136 | CONFIG_MAX_ACTIVE_REGIONS=1 | ||
137 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
138 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
178 | CONFIG_PAGE_SIZE_4KB=y | 139 | CONFIG_PAGE_SIZE_4KB=y |
179 | # CONFIG_PAGE_SIZE_8KB is not set | 140 | # CONFIG_PAGE_SIZE_8KB is not set |
180 | # CONFIG_PAGE_SIZE_64KB is not set | 141 | # CONFIG_PAGE_SIZE_64KB is not set |
@@ -184,35 +145,42 @@ CONFIG_FLATMEM_MANUAL=y | |||
184 | # CONFIG_SPARSEMEM_MANUAL is not set | 145 | # CONFIG_SPARSEMEM_MANUAL is not set |
185 | CONFIG_FLATMEM=y | 146 | CONFIG_FLATMEM=y |
186 | CONFIG_FLAT_NODE_MEM_MAP=y | 147 | CONFIG_FLAT_NODE_MEM_MAP=y |
187 | # CONFIG_SPARSEMEM_STATIC is not set | 148 | CONFIG_SPARSEMEM_STATIC=y |
188 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 149 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
189 | # CONFIG_RESOURCES_64BIT is not set | 150 | # CONFIG_RESOURCES_64BIT is not set |
151 | CONFIG_ZONE_DMA_FLAG=0 | ||
152 | CONFIG_NR_QUICK=2 | ||
190 | 153 | ||
191 | # | 154 | # |
192 | # Cache configuration | 155 | # Cache configuration |
193 | # | 156 | # |
194 | # CONFIG_SH_DIRECT_MAPPED is not set | 157 | # CONFIG_SH_DIRECT_MAPPED is not set |
195 | # CONFIG_SH_WRITETHROUGH is not set | 158 | # CONFIG_SH_WRITETHROUGH is not set |
196 | # CONFIG_SH_OCRAM is not set | ||
197 | 159 | ||
198 | # | 160 | # |
199 | # Processor features | 161 | # Processor features |
200 | # | 162 | # |
201 | # CONFIG_CPU_LITTLE_ENDIAN is not set | 163 | # CONFIG_CPU_LITTLE_ENDIAN is not set |
202 | CONFIG_CPU_BIG_ENDIAN=y | 164 | CONFIG_CPU_BIG_ENDIAN=y |
203 | # CONFIG_SH_FPU is not set | ||
204 | # CONFIG_SH_FPU_EMU is not set | 165 | # CONFIG_SH_FPU_EMU is not set |
205 | # CONFIG_SH_DSP is not set | 166 | # CONFIG_SH_DSP is not set |
167 | CONFIG_CPU_HAS_IPR_IRQ=y | ||
168 | |||
169 | # | ||
170 | # Board support | ||
171 | # | ||
172 | CONFIG_SOLUTION_ENGINE=y | ||
173 | CONFIG_SH_7206_SOLUTION_ENGINE=y | ||
206 | 174 | ||
207 | # | 175 | # |
208 | # Timer support | 176 | # Timer and clock configuration |
209 | # | 177 | # |
210 | CONFIG_SH_CMT=y | 178 | CONFIG_SH_CMT=y |
211 | # CONFIG_SH_MTU2 is not set | 179 | # CONFIG_SH_MTU2 is not set |
212 | CONFIG_SH_TIMER_IRQ=140 | 180 | CONFIG_SH_TIMER_IRQ=140 |
213 | # CONFIG_NO_IDLE_HZ is not set | ||
214 | CONFIG_SH_PCLK_FREQ=33333333 | 181 | CONFIG_SH_PCLK_FREQ=33333333 |
215 | CONFIG_SH_CLK_MD=6 | 182 | CONFIG_SH_CLK_MD=6 |
183 | # CONFIG_TICK_ONESHOT is not set | ||
216 | 184 | ||
217 | # | 185 | # |
218 | # CPU Frequency scaling | 186 | # CPU Frequency scaling |
@@ -227,11 +195,11 @@ CONFIG_SH_CLK_MD=6 | |||
227 | # | 195 | # |
228 | # Companion Chips | 196 | # Companion Chips |
229 | # | 197 | # |
230 | # CONFIG_HD6446X_SERIES is not set | ||
231 | 198 | ||
232 | # | 199 | # |
233 | # Additional SuperH Device Drivers | 200 | # Additional SuperH Device Drivers |
234 | # | 201 | # |
202 | # CONFIG_HEARTBEAT is not set | ||
235 | # CONFIG_PUSH_SWITCH is not set | 203 | # CONFIG_PUSH_SWITCH is not set |
236 | 204 | ||
237 | # | 205 | # |
@@ -239,10 +207,11 @@ CONFIG_SH_CLK_MD=6 | |||
239 | # | 207 | # |
240 | CONFIG_HZ_100=y | 208 | CONFIG_HZ_100=y |
241 | # CONFIG_HZ_250 is not set | 209 | # CONFIG_HZ_250 is not set |
210 | # CONFIG_HZ_300 is not set | ||
242 | # CONFIG_HZ_1000 is not set | 211 | # CONFIG_HZ_1000 is not set |
243 | CONFIG_HZ=100 | 212 | CONFIG_HZ=100 |
244 | # CONFIG_KEXEC is not set | 213 | # CONFIG_KEXEC is not set |
245 | # CONFIG_SMP is not set | 214 | # CONFIG_CRASH_DUMP is not set |
246 | CONFIG_PREEMPT_NONE=y | 215 | CONFIG_PREEMPT_NONE=y |
247 | # CONFIG_PREEMPT_VOLUNTARY is not set | 216 | # CONFIG_PREEMPT_VOLUNTARY is not set |
248 | # CONFIG_PREEMPT is not set | 217 | # CONFIG_PREEMPT is not set |
@@ -252,23 +221,18 @@ CONFIG_PREEMPT_NONE=y | |||
252 | # | 221 | # |
253 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | 222 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 |
254 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | 223 | CONFIG_BOOT_LINK_OFFSET=0x00800000 |
255 | # CONFIG_UBC_WAKEUP is not set | ||
256 | # CONFIG_CMDLINE_BOOL is not set | 224 | # CONFIG_CMDLINE_BOOL is not set |
257 | 225 | ||
258 | # | 226 | # |
259 | # Bus options | 227 | # Bus options |
260 | # | 228 | # |
261 | # CONFIG_PCI is not set | 229 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
262 | 230 | ||
263 | # | 231 | # |
264 | # PCCARD (PCMCIA/CardBus) support | 232 | # PCCARD (PCMCIA/CardBus) support |
265 | # | 233 | # |
266 | 234 | ||
267 | # | 235 | # |
268 | # PCI Hotplug Support | ||
269 | # | ||
270 | |||
271 | # | ||
272 | # Executable file formats | 236 | # Executable file formats |
273 | # | 237 | # |
274 | CONFIG_BINFMT_FLAT=y | 238 | CONFIG_BINFMT_FLAT=y |
@@ -277,11 +241,6 @@ CONFIG_BINFMT_ZFLAT=y | |||
277 | # CONFIG_BINFMT_MISC is not set | 241 | # CONFIG_BINFMT_MISC is not set |
278 | 242 | ||
279 | # | 243 | # |
280 | # Power management options (EXPERIMENTAL) | ||
281 | # | ||
282 | # CONFIG_PM is not set | ||
283 | |||
284 | # | ||
285 | # Networking | 244 | # Networking |
286 | # | 245 | # |
287 | CONFIG_NET=y | 246 | CONFIG_NET=y |
@@ -289,7 +248,6 @@ CONFIG_NET=y | |||
289 | # | 248 | # |
290 | # Networking options | 249 | # Networking options |
291 | # | 250 | # |
292 | # CONFIG_NETDEBUG is not set | ||
293 | # CONFIG_PACKET is not set | 251 | # CONFIG_PACKET is not set |
294 | # CONFIG_UNIX is not set | 252 | # CONFIG_UNIX is not set |
295 | # CONFIG_NET_KEY is not set | 253 | # CONFIG_NET_KEY is not set |
@@ -314,25 +272,14 @@ CONFIG_IP_FIB_HASH=y | |||
314 | # CONFIG_TCP_CONG_ADVANCED is not set | 272 | # CONFIG_TCP_CONG_ADVANCED is not set |
315 | CONFIG_TCP_CONG_CUBIC=y | 273 | CONFIG_TCP_CONG_CUBIC=y |
316 | CONFIG_DEFAULT_TCP_CONG="cubic" | 274 | CONFIG_DEFAULT_TCP_CONG="cubic" |
275 | # CONFIG_TCP_MD5SIG is not set | ||
317 | # CONFIG_IPV6 is not set | 276 | # CONFIG_IPV6 is not set |
318 | # CONFIG_INET6_XFRM_TUNNEL is not set | 277 | # CONFIG_INET6_XFRM_TUNNEL is not set |
319 | # CONFIG_INET6_TUNNEL is not set | 278 | # CONFIG_INET6_TUNNEL is not set |
320 | # CONFIG_NETWORK_SECMARK is not set | 279 | # CONFIG_NETWORK_SECMARK is not set |
321 | # CONFIG_NETFILTER is not set | 280 | # CONFIG_NETFILTER is not set |
322 | |||
323 | # | ||
324 | # DCCP Configuration (EXPERIMENTAL) | ||
325 | # | ||
326 | # CONFIG_IP_DCCP is not set | 281 | # CONFIG_IP_DCCP is not set |
327 | |||
328 | # | ||
329 | # SCTP Configuration (EXPERIMENTAL) | ||
330 | # | ||
331 | # CONFIG_IP_SCTP is not set | 282 | # CONFIG_IP_SCTP is not set |
332 | |||
333 | # | ||
334 | # TIPC Configuration (EXPERIMENTAL) | ||
335 | # | ||
336 | # CONFIG_TIPC is not set | 283 | # CONFIG_TIPC is not set |
337 | # CONFIG_ATM is not set | 284 | # CONFIG_ATM is not set |
338 | # CONFIG_BRIDGE is not set | 285 | # CONFIG_BRIDGE is not set |
@@ -358,7 +305,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
358 | # CONFIG_HAMRADIO is not set | 305 | # CONFIG_HAMRADIO is not set |
359 | # CONFIG_IRDA is not set | 306 | # CONFIG_IRDA is not set |
360 | # CONFIG_BT is not set | 307 | # CONFIG_BT is not set |
308 | # CONFIG_AF_RXRPC is not set | ||
309 | |||
310 | # | ||
311 | # Wireless | ||
312 | # | ||
313 | # CONFIG_CFG80211 is not set | ||
314 | # CONFIG_WIRELESS_EXT is not set | ||
315 | # CONFIG_MAC80211 is not set | ||
361 | # CONFIG_IEEE80211 is not set | 316 | # CONFIG_IEEE80211 is not set |
317 | # CONFIG_RFKILL is not set | ||
362 | 318 | ||
363 | # | 319 | # |
364 | # Device Drivers | 320 | # Device Drivers |
@@ -375,10 +331,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
375 | # Connector - unified userspace <-> kernelspace linker | 331 | # Connector - unified userspace <-> kernelspace linker |
376 | # | 332 | # |
377 | # CONFIG_CONNECTOR is not set | 333 | # CONFIG_CONNECTOR is not set |
378 | |||
379 | # | ||
380 | # Memory Technology Devices (MTD) | ||
381 | # | ||
382 | CONFIG_MTD=y | 334 | CONFIG_MTD=y |
383 | # CONFIG_MTD_DEBUG is not set | 335 | # CONFIG_MTD_DEBUG is not set |
384 | CONFIG_MTD_CONCAT=y | 336 | CONFIG_MTD_CONCAT=y |
@@ -393,6 +345,7 @@ CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 | |||
393 | # User Modules And Translation Layers | 345 | # User Modules And Translation Layers |
394 | # | 346 | # |
395 | CONFIG_MTD_CHAR=y | 347 | CONFIG_MTD_CHAR=y |
348 | CONFIG_MTD_BLKDEVS=y | ||
396 | CONFIG_MTD_BLOCK=y | 349 | CONFIG_MTD_BLOCK=y |
397 | # CONFIG_FTL is not set | 350 | # CONFIG_FTL is not set |
398 | # CONFIG_NFTL is not set | 351 | # CONFIG_NFTL is not set |
@@ -424,7 +377,6 @@ CONFIG_MTD_CFI_UTIL=y | |||
424 | # CONFIG_MTD_RAM is not set | 377 | # CONFIG_MTD_RAM is not set |
425 | # CONFIG_MTD_ROM is not set | 378 | # CONFIG_MTD_ROM is not set |
426 | # CONFIG_MTD_ABSENT is not set | 379 | # CONFIG_MTD_ABSENT is not set |
427 | # CONFIG_MTD_OBSOLETE_CHIPS is not set | ||
428 | 380 | ||
429 | # | 381 | # |
430 | # Mapping drivers for chip access | 382 | # Mapping drivers for chip access |
@@ -452,16 +404,13 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=4 | |||
452 | # CONFIG_MTD_DOC2000 is not set | 404 | # CONFIG_MTD_DOC2000 is not set |
453 | # CONFIG_MTD_DOC2001 is not set | 405 | # CONFIG_MTD_DOC2001 is not set |
454 | # CONFIG_MTD_DOC2001PLUS is not set | 406 | # CONFIG_MTD_DOC2001PLUS is not set |
455 | |||
456 | # | ||
457 | # NAND Flash Device Drivers | ||
458 | # | ||
459 | # CONFIG_MTD_NAND is not set | 407 | # CONFIG_MTD_NAND is not set |
408 | # CONFIG_MTD_ONENAND is not set | ||
460 | 409 | ||
461 | # | 410 | # |
462 | # OneNAND Flash Device Drivers | 411 | # UBI - Unsorted block images |
463 | # | 412 | # |
464 | # CONFIG_MTD_ONENAND is not set | 413 | # CONFIG_MTD_UBI is not set |
465 | 414 | ||
466 | # | 415 | # |
467 | # Parallel port support | 416 | # Parallel port support |
@@ -471,6 +420,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=4 | |||
471 | # | 420 | # |
472 | # Plug and Play support | 421 | # Plug and Play support |
473 | # | 422 | # |
423 | # CONFIG_PNPACPI is not set | ||
474 | 424 | ||
475 | # | 425 | # |
476 | # Block devices | 426 | # Block devices |
@@ -479,18 +429,13 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=4 | |||
479 | # CONFIG_BLK_DEV_LOOP is not set | 429 | # CONFIG_BLK_DEV_LOOP is not set |
480 | # CONFIG_BLK_DEV_NBD is not set | 430 | # CONFIG_BLK_DEV_NBD is not set |
481 | # CONFIG_BLK_DEV_RAM is not set | 431 | # CONFIG_BLK_DEV_RAM is not set |
482 | # CONFIG_BLK_DEV_INITRD is not set | ||
483 | # CONFIG_CDROM_PKTCDVD is not set | 432 | # CONFIG_CDROM_PKTCDVD is not set |
484 | # CONFIG_ATA_OVER_ETH is not set | 433 | # CONFIG_ATA_OVER_ETH is not set |
485 | 434 | ||
486 | # | 435 | # |
487 | # Misc devices | 436 | # Misc devices |
488 | # | 437 | # |
489 | # CONFIG_TIFM_CORE is not set | 438 | # CONFIG_BLINK is not set |
490 | |||
491 | # | ||
492 | # ATA/ATAPI/MFM/RLL support | ||
493 | # | ||
494 | # CONFIG_IDE is not set | 439 | # CONFIG_IDE is not set |
495 | 440 | ||
496 | # | 441 | # |
@@ -499,10 +444,6 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=4 | |||
499 | # CONFIG_RAID_ATTRS is not set | 444 | # CONFIG_RAID_ATTRS is not set |
500 | # CONFIG_SCSI is not set | 445 | # CONFIG_SCSI is not set |
501 | # CONFIG_SCSI_NETLINK is not set | 446 | # CONFIG_SCSI_NETLINK is not set |
502 | |||
503 | # | ||
504 | # Serial ATA (prod) and Parallel ATA (experimental) drivers | ||
505 | # | ||
506 | # CONFIG_ATA is not set | 447 | # CONFIG_ATA is not set |
507 | 448 | ||
508 | # | 449 | # |
@@ -511,19 +452,6 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=4 | |||
511 | # CONFIG_MD is not set | 452 | # CONFIG_MD is not set |
512 | 453 | ||
513 | # | 454 | # |
514 | # Fusion MPT device support | ||
515 | # | ||
516 | # CONFIG_FUSION is not set | ||
517 | |||
518 | # | ||
519 | # IEEE 1394 (FireWire) support | ||
520 | # | ||
521 | |||
522 | # | ||
523 | # I2O device support | ||
524 | # | ||
525 | |||
526 | # | ||
527 | # Network device support | 455 | # Network device support |
528 | # | 456 | # |
529 | CONFIG_NETDEVICES=y | 457 | CONFIG_NETDEVICES=y |
@@ -531,10 +459,6 @@ CONFIG_NETDEVICES=y | |||
531 | # CONFIG_BONDING is not set | 459 | # CONFIG_BONDING is not set |
532 | # CONFIG_EQUALIZER is not set | 460 | # CONFIG_EQUALIZER is not set |
533 | # CONFIG_TUN is not set | 461 | # CONFIG_TUN is not set |
534 | |||
535 | # | ||
536 | # PHY device support | ||
537 | # | ||
538 | # CONFIG_PHYLIB is not set | 462 | # CONFIG_PHYLIB is not set |
539 | 463 | ||
540 | # | 464 | # |
@@ -544,27 +468,14 @@ CONFIG_NET_ETHERNET=y | |||
544 | CONFIG_MII=y | 468 | CONFIG_MII=y |
545 | # CONFIG_STNIC is not set | 469 | # CONFIG_STNIC is not set |
546 | CONFIG_SMC91X=y | 470 | CONFIG_SMC91X=y |
471 | CONFIG_NETDEV_1000=y | ||
472 | CONFIG_NETDEV_10000=y | ||
547 | 473 | ||
548 | # | 474 | # |
549 | # Ethernet (1000 Mbit) | 475 | # Wireless LAN |
550 | # | ||
551 | |||
552 | # | ||
553 | # Ethernet (10000 Mbit) | ||
554 | # | ||
555 | |||
556 | # | ||
557 | # Token Ring devices | ||
558 | # | ||
559 | |||
560 | # | ||
561 | # Wireless LAN (non-hamradio) | ||
562 | # | ||
563 | # CONFIG_NET_RADIO is not set | ||
564 | |||
565 | # | ||
566 | # Wan interfaces | ||
567 | # | 476 | # |
477 | # CONFIG_WLAN_PRE80211 is not set | ||
478 | # CONFIG_WLAN_80211 is not set | ||
568 | # CONFIG_WAN is not set | 479 | # CONFIG_WAN is not set |
569 | # CONFIG_PPP is not set | 480 | # CONFIG_PPP is not set |
570 | # CONFIG_SLIP is not set | 481 | # CONFIG_SLIP is not set |
@@ -604,6 +515,7 @@ CONFIG_INPUT=y | |||
604 | # CONFIG_INPUT_KEYBOARD is not set | 515 | # CONFIG_INPUT_KEYBOARD is not set |
605 | # CONFIG_INPUT_MOUSE is not set | 516 | # CONFIG_INPUT_MOUSE is not set |
606 | # CONFIG_INPUT_JOYSTICK is not set | 517 | # CONFIG_INPUT_JOYSTICK is not set |
518 | # CONFIG_INPUT_TABLET is not set | ||
607 | # CONFIG_INPUT_TOUCHSCREEN is not set | 519 | # CONFIG_INPUT_TOUCHSCREEN is not set |
608 | # CONFIG_INPUT_MISC is not set | 520 | # CONFIG_INPUT_MISC is not set |
609 | 521 | ||
@@ -639,29 +551,15 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
639 | # IPMI | 551 | # IPMI |
640 | # | 552 | # |
641 | # CONFIG_IPMI_HANDLER is not set | 553 | # CONFIG_IPMI_HANDLER is not set |
642 | |||
643 | # | ||
644 | # Watchdog Cards | ||
645 | # | ||
646 | # CONFIG_WATCHDOG is not set | 554 | # CONFIG_WATCHDOG is not set |
647 | # CONFIG_HW_RANDOM is not set | 555 | # CONFIG_HW_RANDOM is not set |
648 | # CONFIG_GEN_RTC is not set | ||
649 | # CONFIG_DTLK is not set | ||
650 | # CONFIG_R3964 is not set | 556 | # CONFIG_R3964 is not set |
651 | |||
652 | # | ||
653 | # Ftape, the floppy tape device driver | ||
654 | # | ||
655 | # CONFIG_RAW_DRIVER is not set | 557 | # CONFIG_RAW_DRIVER is not set |
656 | 558 | ||
657 | # | 559 | # |
658 | # TPM devices | 560 | # TPM devices |
659 | # | 561 | # |
660 | # CONFIG_TCG_TPM is not set | 562 | # CONFIG_TCG_TPM is not set |
661 | |||
662 | # | ||
663 | # I2C support | ||
664 | # | ||
665 | # CONFIG_I2C is not set | 563 | # CONFIG_I2C is not set |
666 | 564 | ||
667 | # | 565 | # |
@@ -674,27 +572,30 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
674 | # Dallas's 1-wire bus | 572 | # Dallas's 1-wire bus |
675 | # | 573 | # |
676 | # CONFIG_W1 is not set | 574 | # CONFIG_W1 is not set |
575 | # CONFIG_HWMON is not set | ||
677 | 576 | ||
678 | # | 577 | # |
679 | # Hardware Monitoring support | 578 | # Multifunction device drivers |
680 | # | 579 | # |
681 | # CONFIG_HWMON is not set | 580 | # CONFIG_MFD_SM501 is not set |
682 | # CONFIG_HWMON_VID is not set | ||
683 | 581 | ||
684 | # | 582 | # |
685 | # Multimedia devices | 583 | # Multimedia devices |
686 | # | 584 | # |
687 | # CONFIG_VIDEO_DEV is not set | 585 | # CONFIG_VIDEO_DEV is not set |
586 | # CONFIG_DVB_CORE is not set | ||
587 | CONFIG_DAB=y | ||
688 | 588 | ||
689 | # | 589 | # |
690 | # Digital Video Broadcasting Devices | 590 | # Graphics support |
691 | # | 591 | # |
692 | # CONFIG_DVB is not set | 592 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
693 | 593 | ||
694 | # | 594 | # |
695 | # Graphics support | 595 | # Display device support |
696 | # | 596 | # |
697 | # CONFIG_FIRMWARE_EDID is not set | 597 | # CONFIG_DISPLAY_SUPPORT is not set |
598 | # CONFIG_VGASTATE is not set | ||
698 | # CONFIG_FB is not set | 599 | # CONFIG_FB is not set |
699 | 600 | ||
700 | # | 601 | # |
@@ -703,6 +604,12 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
703 | # CONFIG_SOUND is not set | 604 | # CONFIG_SOUND is not set |
704 | 605 | ||
705 | # | 606 | # |
607 | # HID Devices | ||
608 | # | ||
609 | CONFIG_HID=y | ||
610 | # CONFIG_HID_DEBUG is not set | ||
611 | |||
612 | # | ||
706 | # USB support | 613 | # USB support |
707 | # | 614 | # |
708 | # CONFIG_USB_ARCH_HAS_HCD is not set | 615 | # CONFIG_USB_ARCH_HAS_HCD is not set |
@@ -717,10 +624,6 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
717 | # USB Gadget Support | 624 | # USB Gadget Support |
718 | # | 625 | # |
719 | # CONFIG_USB_GADGET is not set | 626 | # CONFIG_USB_GADGET is not set |
720 | |||
721 | # | ||
722 | # MMC/SD Card support | ||
723 | # | ||
724 | # CONFIG_MMC is not set | 627 | # CONFIG_MMC is not set |
725 | 628 | ||
726 | # | 629 | # |
@@ -802,7 +705,6 @@ CONFIG_PROC_FS=y | |||
802 | CONFIG_PROC_SYSCTL=y | 705 | CONFIG_PROC_SYSCTL=y |
803 | # CONFIG_SYSFS is not set | 706 | # CONFIG_SYSFS is not set |
804 | # CONFIG_TMPFS is not set | 707 | # CONFIG_TMPFS is not set |
805 | # CONFIG_HUGETLBFS is not set | ||
806 | # CONFIG_HUGETLB_PAGE is not set | 708 | # CONFIG_HUGETLB_PAGE is not set |
807 | CONFIG_RAMFS=y | 709 | CONFIG_RAMFS=y |
808 | 710 | ||
@@ -816,7 +718,6 @@ CONFIG_RAMFS=y | |||
816 | # CONFIG_BEFS_FS is not set | 718 | # CONFIG_BEFS_FS is not set |
817 | # CONFIG_BFS_FS is not set | 719 | # CONFIG_BFS_FS is not set |
818 | # CONFIG_EFS_FS is not set | 720 | # CONFIG_EFS_FS is not set |
819 | # CONFIG_JFFS_FS is not set | ||
820 | # CONFIG_JFFS2_FS is not set | 721 | # CONFIG_JFFS2_FS is not set |
821 | # CONFIG_CRAMFS is not set | 722 | # CONFIG_CRAMFS is not set |
822 | # CONFIG_VXFS_FS is not set | 723 | # CONFIG_VXFS_FS is not set |
@@ -849,6 +750,11 @@ CONFIG_MSDOS_PARTITION=y | |||
849 | # CONFIG_NLS is not set | 750 | # CONFIG_NLS is not set |
850 | 751 | ||
851 | # | 752 | # |
753 | # Distributed Lock Manager | ||
754 | # | ||
755 | # CONFIG_DLM is not set | ||
756 | |||
757 | # | ||
852 | # Profiling support | 758 | # Profiling support |
853 | # | 759 | # |
854 | # CONFIG_PROFILING is not set | 760 | # CONFIG_PROFILING is not set |
@@ -861,14 +767,11 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y | |||
861 | # CONFIG_ENABLE_MUST_CHECK is not set | 767 | # CONFIG_ENABLE_MUST_CHECK is not set |
862 | # CONFIG_MAGIC_SYSRQ is not set | 768 | # CONFIG_MAGIC_SYSRQ is not set |
863 | # CONFIG_UNUSED_SYMBOLS is not set | 769 | # CONFIG_UNUSED_SYMBOLS is not set |
770 | # CONFIG_HEADERS_CHECK is not set | ||
864 | # CONFIG_DEBUG_KERNEL is not set | 771 | # CONFIG_DEBUG_KERNEL is not set |
865 | CONFIG_LOG_BUF_SHIFT=14 | ||
866 | # CONFIG_DEBUG_BUGVERBOSE is not set | 772 | # CONFIG_DEBUG_BUGVERBOSE is not set |
867 | # CONFIG_UNWIND_INFO is not set | ||
868 | # CONFIG_HEADERS_CHECK is not set | ||
869 | # CONFIG_SH_STANDARD_BIOS is not set | 773 | # CONFIG_SH_STANDARD_BIOS is not set |
870 | # CONFIG_EARLY_SCIF_CONSOLE is not set | 774 | # CONFIG_EARLY_SCIF_CONSOLE is not set |
871 | # CONFIG_KGDB is not set | ||
872 | 775 | ||
873 | # | 776 | # |
874 | # Security options | 777 | # Security options |
@@ -883,8 +786,13 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
883 | # | 786 | # |
884 | # Library routines | 787 | # Library routines |
885 | # | 788 | # |
789 | CONFIG_BITREVERSE=y | ||
886 | # CONFIG_CRC_CCITT is not set | 790 | # CONFIG_CRC_CCITT is not set |
887 | # CONFIG_CRC16 is not set | 791 | # CONFIG_CRC16 is not set |
792 | # CONFIG_CRC_ITU_T is not set | ||
888 | CONFIG_CRC32=y | 793 | CONFIG_CRC32=y |
889 | # CONFIG_LIBCRC32C is not set | 794 | # CONFIG_LIBCRC32C is not set |
890 | CONFIG_ZLIB_INFLATE=y | 795 | CONFIG_ZLIB_INFLATE=y |
796 | CONFIG_HAS_IOMEM=y | ||
797 | CONFIG_HAS_IOPORT=y | ||
798 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/sh/configs/se7619_defconfig b/arch/sh/configs/se7619_defconfig index 20ac7f4c53fb..3a3c3c1f507d 100644 --- a/arch/sh/configs/se7619_defconfig +++ b/arch/sh/configs/se7619_defconfig | |||
@@ -1,18 +1,22 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.19 | 3 | # Linux kernel version: 2.6.22-rc4 |
4 | # Wed Dec 6 16:35:36 2006 | 4 | # Fri Jun 15 19:43:06 2007 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
8 | CONFIG_GENERIC_BUG=y | ||
8 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 9 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
9 | CONFIG_GENERIC_HWEIGHT=y | 10 | CONFIG_GENERIC_HWEIGHT=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 11 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_GENERIC_IRQ_PROBE=y | 12 | CONFIG_GENERIC_IRQ_PROBE=y |
12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 13 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
13 | # CONFIG_GENERIC_TIME is not set | 14 | # CONFIG_GENERIC_TIME is not set |
15 | # CONFIG_GENERIC_CLOCKEVENTS is not set | ||
14 | CONFIG_STACKTRACE_SUPPORT=y | 16 | CONFIG_STACKTRACE_SUPPORT=y |
15 | CONFIG_LOCKDEP_SUPPORT=y | 17 | CONFIG_LOCKDEP_SUPPORT=y |
18 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
19 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
16 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 20 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
17 | 21 | ||
18 | # | 22 | # |
@@ -31,8 +35,10 @@ CONFIG_LOCALVERSION="" | |||
31 | # CONFIG_BSD_PROCESS_ACCT is not set | 35 | # CONFIG_BSD_PROCESS_ACCT is not set |
32 | # CONFIG_UTS_NS is not set | 36 | # CONFIG_UTS_NS is not set |
33 | # CONFIG_IKCONFIG is not set | 37 | # CONFIG_IKCONFIG is not set |
38 | CONFIG_LOG_BUF_SHIFT=14 | ||
39 | CONFIG_SYSFS_DEPRECATED=y | ||
34 | # CONFIG_RELAY is not set | 40 | # CONFIG_RELAY is not set |
35 | CONFIG_INITRAMFS_SOURCE="" | 41 | # CONFIG_BLK_DEV_INITRD is not set |
36 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 42 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
37 | CONFIG_SYSCTL=y | 43 | CONFIG_SYSCTL=y |
38 | CONFIG_EMBEDDED=y | 44 | CONFIG_EMBEDDED=y |
@@ -45,12 +51,17 @@ CONFIG_BUG=y | |||
45 | # CONFIG_ELF_CORE is not set | 51 | # CONFIG_ELF_CORE is not set |
46 | # CONFIG_BASE_FULL is not set | 52 | # CONFIG_BASE_FULL is not set |
47 | # CONFIG_FUTEX is not set | 53 | # CONFIG_FUTEX is not set |
54 | CONFIG_ANON_INODES=y | ||
48 | # CONFIG_EPOLL is not set | 55 | # CONFIG_EPOLL is not set |
49 | CONFIG_SLAB=y | 56 | CONFIG_SIGNALFD=y |
57 | CONFIG_TIMERFD=y | ||
58 | CONFIG_EVENTFD=y | ||
50 | # CONFIG_VM_EVENT_COUNTERS is not set | 59 | # CONFIG_VM_EVENT_COUNTERS is not set |
60 | CONFIG_SLAB=y | ||
61 | # CONFIG_SLUB is not set | ||
62 | # CONFIG_SLOB is not set | ||
51 | CONFIG_TINY_SHMEM=y | 63 | CONFIG_TINY_SHMEM=y |
52 | CONFIG_BASE_SMALL=1 | 64 | CONFIG_BASE_SMALL=1 |
53 | # CONFIG_SLOB is not set | ||
54 | 65 | ||
55 | # | 66 | # |
56 | # Loadable module support | 67 | # Loadable module support |
@@ -80,52 +91,9 @@ CONFIG_DEFAULT_IOSCHED="noop" | |||
80 | # | 91 | # |
81 | # System type | 92 | # System type |
82 | # | 93 | # |
83 | # CONFIG_SH_SOLUTION_ENGINE is not set | ||
84 | # CONFIG_SH_7751_SOLUTION_ENGINE is not set | ||
85 | # CONFIG_SH_7300_SOLUTION_ENGINE is not set | ||
86 | # CONFIG_SH_7343_SOLUTION_ENGINE is not set | ||
87 | # CONFIG_SH_73180_SOLUTION_ENGINE is not set | ||
88 | # CONFIG_SH_7751_SYSTEMH is not set | ||
89 | # CONFIG_SH_HP6XX is not set | ||
90 | # CONFIG_SH_EC3104 is not set | ||
91 | # CONFIG_SH_SATURN is not set | ||
92 | # CONFIG_SH_DREAMCAST is not set | ||
93 | # CONFIG_SH_BIGSUR is not set | ||
94 | # CONFIG_SH_MPC1211 is not set | ||
95 | # CONFIG_SH_SH03 is not set | ||
96 | # CONFIG_SH_SECUREEDGE5410 is not set | ||
97 | # CONFIG_SH_HS7751RVOIP is not set | ||
98 | # CONFIG_SH_7710VOIPGW is not set | ||
99 | # CONFIG_SH_RTS7751R2D is not set | ||
100 | # CONFIG_SH_R7780RP is not set | ||
101 | # CONFIG_SH_EDOSK7705 is not set | ||
102 | # CONFIG_SH_SH4202_MICRODEV is not set | ||
103 | # CONFIG_SH_LANDISK is not set | ||
104 | # CONFIG_SH_TITAN is not set | ||
105 | # CONFIG_SH_SHMIN is not set | ||
106 | # CONFIG_SH_7206_SOLUTION_ENGINE is not set | ||
107 | CONFIG_SH_7619_SOLUTION_ENGINE=y | ||
108 | # CONFIG_SH_UNKNOWN is not set | ||
109 | |||
110 | # | ||
111 | # Processor selection | ||
112 | # | ||
113 | CONFIG_CPU_SH2=y | 94 | CONFIG_CPU_SH2=y |
114 | |||
115 | # | ||
116 | # SH-2 Processor Support | ||
117 | # | ||
118 | # CONFIG_CPU_SUBTYPE_SH7604 is not set | ||
119 | CONFIG_CPU_SUBTYPE_SH7619=y | 95 | CONFIG_CPU_SUBTYPE_SH7619=y |
120 | |||
121 | # | ||
122 | # SH-2A Processor Support | ||
123 | # | ||
124 | # CONFIG_CPU_SUBTYPE_SH7206 is not set | 96 | # CONFIG_CPU_SUBTYPE_SH7206 is not set |
125 | |||
126 | # | ||
127 | # SH-3 Processor Support | ||
128 | # | ||
129 | # CONFIG_CPU_SUBTYPE_SH7300 is not set | 97 | # CONFIG_CPU_SUBTYPE_SH7300 is not set |
130 | # CONFIG_CPU_SUBTYPE_SH7705 is not set | 98 | # CONFIG_CPU_SUBTYPE_SH7705 is not set |
131 | # CONFIG_CPU_SUBTYPE_SH7706 is not set | 99 | # CONFIG_CPU_SUBTYPE_SH7706 is not set |
@@ -133,10 +101,7 @@ CONFIG_CPU_SUBTYPE_SH7619=y | |||
133 | # CONFIG_CPU_SUBTYPE_SH7708 is not set | 101 | # CONFIG_CPU_SUBTYPE_SH7708 is not set |
134 | # CONFIG_CPU_SUBTYPE_SH7709 is not set | 102 | # CONFIG_CPU_SUBTYPE_SH7709 is not set |
135 | # CONFIG_CPU_SUBTYPE_SH7710 is not set | 103 | # CONFIG_CPU_SUBTYPE_SH7710 is not set |
136 | 104 | # CONFIG_CPU_SUBTYPE_SH7712 is not set | |
137 | # | ||
138 | # SH-4 Processor Support | ||
139 | # | ||
140 | # CONFIG_CPU_SUBTYPE_SH7750 is not set | 105 | # CONFIG_CPU_SUBTYPE_SH7750 is not set |
141 | # CONFIG_CPU_SUBTYPE_SH7091 is not set | 106 | # CONFIG_CPU_SUBTYPE_SH7091 is not set |
142 | # CONFIG_CPU_SUBTYPE_SH7750R is not set | 107 | # CONFIG_CPU_SUBTYPE_SH7750R is not set |
@@ -145,32 +110,28 @@ CONFIG_CPU_SUBTYPE_SH7619=y | |||
145 | # CONFIG_CPU_SUBTYPE_SH7751R is not set | 110 | # CONFIG_CPU_SUBTYPE_SH7751R is not set |
146 | # CONFIG_CPU_SUBTYPE_SH7760 is not set | 111 | # CONFIG_CPU_SUBTYPE_SH7760 is not set |
147 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set | 112 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set |
148 | |||
149 | # | ||
150 | # ST40 Processor Support | ||
151 | # | ||
152 | # CONFIG_CPU_SUBTYPE_ST40STB1 is not set | 113 | # CONFIG_CPU_SUBTYPE_ST40STB1 is not set |
153 | # CONFIG_CPU_SUBTYPE_ST40GX1 is not set | 114 | # CONFIG_CPU_SUBTYPE_ST40GX1 is not set |
154 | |||
155 | # | ||
156 | # SH-4A Processor Support | ||
157 | # | ||
158 | # CONFIG_CPU_SUBTYPE_SH7770 is not set | 115 | # CONFIG_CPU_SUBTYPE_SH7770 is not set |
159 | # CONFIG_CPU_SUBTYPE_SH7780 is not set | 116 | # CONFIG_CPU_SUBTYPE_SH7780 is not set |
160 | # CONFIG_CPU_SUBTYPE_SH7785 is not set | 117 | # CONFIG_CPU_SUBTYPE_SH7785 is not set |
161 | |||
162 | # | ||
163 | # SH4AL-DSP Processor Support | ||
164 | # | ||
165 | # CONFIG_CPU_SUBTYPE_SH73180 is not set | 118 | # CONFIG_CPU_SUBTYPE_SH73180 is not set |
166 | # CONFIG_CPU_SUBTYPE_SH7343 is not set | 119 | # CONFIG_CPU_SUBTYPE_SH7343 is not set |
120 | # CONFIG_CPU_SUBTYPE_SH7722 is not set | ||
167 | 121 | ||
168 | # | 122 | # |
169 | # Memory management options | 123 | # Memory management options |
170 | # | 124 | # |
125 | CONFIG_QUICKLIST=y | ||
171 | CONFIG_PAGE_OFFSET=0x00000000 | 126 | CONFIG_PAGE_OFFSET=0x00000000 |
172 | CONFIG_MEMORY_START=0x0c000000 | 127 | CONFIG_MEMORY_START=0x0c000000 |
173 | CONFIG_MEMORY_SIZE=0x04000000 | 128 | CONFIG_MEMORY_SIZE=0x04000000 |
129 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
130 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||
131 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | ||
132 | CONFIG_MAX_ACTIVE_REGIONS=1 | ||
133 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
134 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
174 | CONFIG_PAGE_SIZE_4KB=y | 135 | CONFIG_PAGE_SIZE_4KB=y |
175 | # CONFIG_PAGE_SIZE_8KB is not set | 136 | # CONFIG_PAGE_SIZE_8KB is not set |
176 | # CONFIG_PAGE_SIZE_64KB is not set | 137 | # CONFIG_PAGE_SIZE_64KB is not set |
@@ -180,34 +141,41 @@ CONFIG_FLATMEM_MANUAL=y | |||
180 | # CONFIG_SPARSEMEM_MANUAL is not set | 141 | # CONFIG_SPARSEMEM_MANUAL is not set |
181 | CONFIG_FLATMEM=y | 142 | CONFIG_FLATMEM=y |
182 | CONFIG_FLAT_NODE_MEM_MAP=y | 143 | CONFIG_FLAT_NODE_MEM_MAP=y |
183 | # CONFIG_SPARSEMEM_STATIC is not set | 144 | CONFIG_SPARSEMEM_STATIC=y |
184 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 145 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
185 | # CONFIG_RESOURCES_64BIT is not set | 146 | # CONFIG_RESOURCES_64BIT is not set |
147 | CONFIG_ZONE_DMA_FLAG=0 | ||
148 | CONFIG_NR_QUICK=2 | ||
186 | 149 | ||
187 | # | 150 | # |
188 | # Cache configuration | 151 | # Cache configuration |
189 | # | 152 | # |
190 | # CONFIG_SH_DIRECT_MAPPED is not set | 153 | # CONFIG_SH_DIRECT_MAPPED is not set |
191 | CONFIG_SH_WRITETHROUGH=y | 154 | CONFIG_SH_WRITETHROUGH=y |
192 | # CONFIG_SH_OCRAM is not set | ||
193 | 155 | ||
194 | # | 156 | # |
195 | # Processor features | 157 | # Processor features |
196 | # | 158 | # |
197 | # CONFIG_CPU_LITTLE_ENDIAN is not set | 159 | # CONFIG_CPU_LITTLE_ENDIAN is not set |
198 | CONFIG_CPU_BIG_ENDIAN=y | 160 | CONFIG_CPU_BIG_ENDIAN=y |
199 | # CONFIG_SH_FPU is not set | ||
200 | # CONFIG_SH_FPU_EMU is not set | 161 | # CONFIG_SH_FPU_EMU is not set |
201 | # CONFIG_SH_DSP is not set | 162 | # CONFIG_SH_DSP is not set |
163 | CONFIG_CPU_HAS_IPR_IRQ=y | ||
164 | |||
165 | # | ||
166 | # Board support | ||
167 | # | ||
168 | CONFIG_SOLUTION_ENGINE=y | ||
169 | CONFIG_SH_7619_SOLUTION_ENGINE=y | ||
202 | 170 | ||
203 | # | 171 | # |
204 | # Timer support | 172 | # Timer and clock configuration |
205 | # | 173 | # |
206 | CONFIG_SH_CMT=y | 174 | CONFIG_SH_CMT=y |
207 | CONFIG_SH_TIMER_IRQ=86 | 175 | CONFIG_SH_TIMER_IRQ=86 |
208 | # CONFIG_NO_IDLE_HZ is not set | ||
209 | CONFIG_SH_PCLK_FREQ=31250000 | 176 | CONFIG_SH_PCLK_FREQ=31250000 |
210 | CONFIG_SH_CLK_MD=5 | 177 | CONFIG_SH_CLK_MD=5 |
178 | # CONFIG_TICK_ONESHOT is not set | ||
211 | 179 | ||
212 | # | 180 | # |
213 | # CPU Frequency scaling | 181 | # CPU Frequency scaling |
@@ -222,11 +190,11 @@ CONFIG_SH_CLK_MD=5 | |||
222 | # | 190 | # |
223 | # Companion Chips | 191 | # Companion Chips |
224 | # | 192 | # |
225 | # CONFIG_HD6446X_SERIES is not set | ||
226 | 193 | ||
227 | # | 194 | # |
228 | # Additional SuperH Device Drivers | 195 | # Additional SuperH Device Drivers |
229 | # | 196 | # |
197 | # CONFIG_HEARTBEAT is not set | ||
230 | # CONFIG_PUSH_SWITCH is not set | 198 | # CONFIG_PUSH_SWITCH is not set |
231 | 199 | ||
232 | # | 200 | # |
@@ -234,10 +202,11 @@ CONFIG_SH_CLK_MD=5 | |||
234 | # | 202 | # |
235 | CONFIG_HZ_100=y | 203 | CONFIG_HZ_100=y |
236 | # CONFIG_HZ_250 is not set | 204 | # CONFIG_HZ_250 is not set |
205 | # CONFIG_HZ_300 is not set | ||
237 | # CONFIG_HZ_1000 is not set | 206 | # CONFIG_HZ_1000 is not set |
238 | CONFIG_HZ=100 | 207 | CONFIG_HZ=100 |
239 | # CONFIG_KEXEC is not set | 208 | # CONFIG_KEXEC is not set |
240 | # CONFIG_SMP is not set | 209 | # CONFIG_CRASH_DUMP is not set |
241 | CONFIG_PREEMPT_NONE=y | 210 | CONFIG_PREEMPT_NONE=y |
242 | # CONFIG_PREEMPT_VOLUNTARY is not set | 211 | # CONFIG_PREEMPT_VOLUNTARY is not set |
243 | # CONFIG_PREEMPT is not set | 212 | # CONFIG_PREEMPT is not set |
@@ -247,23 +216,18 @@ CONFIG_PREEMPT_NONE=y | |||
247 | # | 216 | # |
248 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | 217 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 |
249 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | 218 | CONFIG_BOOT_LINK_OFFSET=0x00800000 |
250 | # CONFIG_UBC_WAKEUP is not set | ||
251 | # CONFIG_CMDLINE_BOOL is not set | 219 | # CONFIG_CMDLINE_BOOL is not set |
252 | 220 | ||
253 | # | 221 | # |
254 | # Bus options | 222 | # Bus options |
255 | # | 223 | # |
256 | # CONFIG_PCI is not set | 224 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
257 | 225 | ||
258 | # | 226 | # |
259 | # PCCARD (PCMCIA/CardBus) support | 227 | # PCCARD (PCMCIA/CardBus) support |
260 | # | 228 | # |
261 | 229 | ||
262 | # | 230 | # |
263 | # PCI Hotplug Support | ||
264 | # | ||
265 | |||
266 | # | ||
267 | # Executable file formats | 231 | # Executable file formats |
268 | # | 232 | # |
269 | CONFIG_BINFMT_FLAT=y | 233 | CONFIG_BINFMT_FLAT=y |
@@ -272,11 +236,6 @@ CONFIG_BINFMT_ZFLAT=y | |||
272 | # CONFIG_BINFMT_MISC is not set | 236 | # CONFIG_BINFMT_MISC is not set |
273 | 237 | ||
274 | # | 238 | # |
275 | # Power management options (EXPERIMENTAL) | ||
276 | # | ||
277 | # CONFIG_PM is not set | ||
278 | |||
279 | # | ||
280 | # Networking | 239 | # Networking |
281 | # | 240 | # |
282 | # CONFIG_NET is not set | 241 | # CONFIG_NET is not set |
@@ -295,10 +254,6 @@ CONFIG_BINFMT_ZFLAT=y | |||
295 | # | 254 | # |
296 | # Connector - unified userspace <-> kernelspace linker | 255 | # Connector - unified userspace <-> kernelspace linker |
297 | # | 256 | # |
298 | |||
299 | # | ||
300 | # Memory Technology Devices (MTD) | ||
301 | # | ||
302 | CONFIG_MTD=y | 257 | CONFIG_MTD=y |
303 | # CONFIG_MTD_DEBUG is not set | 258 | # CONFIG_MTD_DEBUG is not set |
304 | CONFIG_MTD_CONCAT=y | 259 | CONFIG_MTD_CONCAT=y |
@@ -313,6 +268,7 @@ CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 | |||
313 | # User Modules And Translation Layers | 268 | # User Modules And Translation Layers |
314 | # | 269 | # |
315 | CONFIG_MTD_CHAR=y | 270 | CONFIG_MTD_CHAR=y |
271 | CONFIG_MTD_BLKDEVS=y | ||
316 | CONFIG_MTD_BLOCK=y | 272 | CONFIG_MTD_BLOCK=y |
317 | # CONFIG_FTL is not set | 273 | # CONFIG_FTL is not set |
318 | # CONFIG_NFTL is not set | 274 | # CONFIG_NFTL is not set |
@@ -344,7 +300,6 @@ CONFIG_MTD_CFI_UTIL=y | |||
344 | # CONFIG_MTD_RAM is not set | 300 | # CONFIG_MTD_RAM is not set |
345 | # CONFIG_MTD_ROM is not set | 301 | # CONFIG_MTD_ROM is not set |
346 | # CONFIG_MTD_ABSENT is not set | 302 | # CONFIG_MTD_ABSENT is not set |
347 | # CONFIG_MTD_OBSOLETE_CHIPS is not set | ||
348 | 303 | ||
349 | # | 304 | # |
350 | # Mapping drivers for chip access | 305 | # Mapping drivers for chip access |
@@ -372,16 +327,13 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | |||
372 | # CONFIG_MTD_DOC2000 is not set | 327 | # CONFIG_MTD_DOC2000 is not set |
373 | # CONFIG_MTD_DOC2001 is not set | 328 | # CONFIG_MTD_DOC2001 is not set |
374 | # CONFIG_MTD_DOC2001PLUS is not set | 329 | # CONFIG_MTD_DOC2001PLUS is not set |
375 | |||
376 | # | ||
377 | # NAND Flash Device Drivers | ||
378 | # | ||
379 | # CONFIG_MTD_NAND is not set | 330 | # CONFIG_MTD_NAND is not set |
331 | # CONFIG_MTD_ONENAND is not set | ||
380 | 332 | ||
381 | # | 333 | # |
382 | # OneNAND Flash Device Drivers | 334 | # UBI - Unsorted block images |
383 | # | 335 | # |
384 | # CONFIG_MTD_ONENAND is not set | 336 | # CONFIG_MTD_UBI is not set |
385 | 337 | ||
386 | # | 338 | # |
387 | # Parallel port support | 339 | # Parallel port support |
@@ -391,6 +343,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | |||
391 | # | 343 | # |
392 | # Plug and Play support | 344 | # Plug and Play support |
393 | # | 345 | # |
346 | # CONFIG_PNPACPI is not set | ||
394 | 347 | ||
395 | # | 348 | # |
396 | # Block devices | 349 | # Block devices |
@@ -398,17 +351,12 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | |||
398 | # CONFIG_BLK_DEV_COW_COMMON is not set | 351 | # CONFIG_BLK_DEV_COW_COMMON is not set |
399 | # CONFIG_BLK_DEV_LOOP is not set | 352 | # CONFIG_BLK_DEV_LOOP is not set |
400 | # CONFIG_BLK_DEV_RAM is not set | 353 | # CONFIG_BLK_DEV_RAM is not set |
401 | # CONFIG_BLK_DEV_INITRD is not set | ||
402 | # CONFIG_CDROM_PKTCDVD is not set | 354 | # CONFIG_CDROM_PKTCDVD is not set |
403 | 355 | ||
404 | # | 356 | # |
405 | # Misc devices | 357 | # Misc devices |
406 | # | 358 | # |
407 | # CONFIG_TIFM_CORE is not set | 359 | # CONFIG_BLINK is not set |
408 | |||
409 | # | ||
410 | # ATA/ATAPI/MFM/RLL support | ||
411 | # | ||
412 | # CONFIG_IDE is not set | 360 | # CONFIG_IDE is not set |
413 | 361 | ||
414 | # | 362 | # |
@@ -417,10 +365,6 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | |||
417 | # CONFIG_RAID_ATTRS is not set | 365 | # CONFIG_RAID_ATTRS is not set |
418 | # CONFIG_SCSI is not set | 366 | # CONFIG_SCSI is not set |
419 | # CONFIG_SCSI_NETLINK is not set | 367 | # CONFIG_SCSI_NETLINK is not set |
420 | |||
421 | # | ||
422 | # Serial ATA (prod) and Parallel ATA (experimental) drivers | ||
423 | # | ||
424 | # CONFIG_ATA is not set | 368 | # CONFIG_ATA is not set |
425 | 369 | ||
426 | # | 370 | # |
@@ -429,19 +373,6 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | |||
429 | # CONFIG_MD is not set | 373 | # CONFIG_MD is not set |
430 | 374 | ||
431 | # | 375 | # |
432 | # Fusion MPT device support | ||
433 | # | ||
434 | # CONFIG_FUSION is not set | ||
435 | |||
436 | # | ||
437 | # IEEE 1394 (FireWire) support | ||
438 | # | ||
439 | |||
440 | # | ||
441 | # I2O device support | ||
442 | # | ||
443 | |||
444 | # | ||
445 | # ISDN subsystem | 376 | # ISDN subsystem |
446 | # | 377 | # |
447 | 378 | ||
@@ -471,6 +402,7 @@ CONFIG_INPUT=y | |||
471 | # CONFIG_INPUT_KEYBOARD is not set | 402 | # CONFIG_INPUT_KEYBOARD is not set |
472 | # CONFIG_INPUT_MOUSE is not set | 403 | # CONFIG_INPUT_MOUSE is not set |
473 | # CONFIG_INPUT_JOYSTICK is not set | 404 | # CONFIG_INPUT_JOYSTICK is not set |
405 | # CONFIG_INPUT_TABLET is not set | ||
474 | # CONFIG_INPUT_TOUCHSCREEN is not set | 406 | # CONFIG_INPUT_TOUCHSCREEN is not set |
475 | # CONFIG_INPUT_MISC is not set | 407 | # CONFIG_INPUT_MISC is not set |
476 | 408 | ||
@@ -506,29 +438,15 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
506 | # IPMI | 438 | # IPMI |
507 | # | 439 | # |
508 | # CONFIG_IPMI_HANDLER is not set | 440 | # CONFIG_IPMI_HANDLER is not set |
509 | |||
510 | # | ||
511 | # Watchdog Cards | ||
512 | # | ||
513 | # CONFIG_WATCHDOG is not set | 441 | # CONFIG_WATCHDOG is not set |
514 | # CONFIG_HW_RANDOM is not set | 442 | # CONFIG_HW_RANDOM is not set |
515 | # CONFIG_GEN_RTC is not set | ||
516 | # CONFIG_DTLK is not set | ||
517 | # CONFIG_R3964 is not set | 443 | # CONFIG_R3964 is not set |
518 | |||
519 | # | ||
520 | # Ftape, the floppy tape device driver | ||
521 | # | ||
522 | # CONFIG_RAW_DRIVER is not set | 444 | # CONFIG_RAW_DRIVER is not set |
523 | 445 | ||
524 | # | 446 | # |
525 | # TPM devices | 447 | # TPM devices |
526 | # | 448 | # |
527 | # CONFIG_TCG_TPM is not set | 449 | # CONFIG_TCG_TPM is not set |
528 | |||
529 | # | ||
530 | # I2C support | ||
531 | # | ||
532 | # CONFIG_I2C is not set | 450 | # CONFIG_I2C is not set |
533 | 451 | ||
534 | # | 452 | # |
@@ -541,26 +459,29 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
541 | # Dallas's 1-wire bus | 459 | # Dallas's 1-wire bus |
542 | # | 460 | # |
543 | # CONFIG_W1 is not set | 461 | # CONFIG_W1 is not set |
462 | # CONFIG_HWMON is not set | ||
544 | 463 | ||
545 | # | 464 | # |
546 | # Hardware Monitoring support | 465 | # Multifunction device drivers |
547 | # | 466 | # |
548 | # CONFIG_HWMON is not set | 467 | # CONFIG_MFD_SM501 is not set |
549 | # CONFIG_HWMON_VID is not set | ||
550 | 468 | ||
551 | # | 469 | # |
552 | # Multimedia devices | 470 | # Multimedia devices |
553 | # | 471 | # |
554 | # CONFIG_VIDEO_DEV is not set | 472 | # CONFIG_VIDEO_DEV is not set |
473 | CONFIG_DAB=y | ||
555 | 474 | ||
556 | # | 475 | # |
557 | # Digital Video Broadcasting Devices | 476 | # Graphics support |
558 | # | 477 | # |
478 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
559 | 479 | ||
560 | # | 480 | # |
561 | # Graphics support | 481 | # Display device support |
562 | # | 482 | # |
563 | # CONFIG_FIRMWARE_EDID is not set | 483 | # CONFIG_DISPLAY_SUPPORT is not set |
484 | # CONFIG_VGASTATE is not set | ||
564 | # CONFIG_FB is not set | 485 | # CONFIG_FB is not set |
565 | 486 | ||
566 | # | 487 | # |
@@ -569,6 +490,12 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
569 | # CONFIG_SOUND is not set | 490 | # CONFIG_SOUND is not set |
570 | 491 | ||
571 | # | 492 | # |
493 | # HID Devices | ||
494 | # | ||
495 | CONFIG_HID=y | ||
496 | # CONFIG_HID_DEBUG is not set | ||
497 | |||
498 | # | ||
572 | # USB support | 499 | # USB support |
573 | # | 500 | # |
574 | # CONFIG_USB_ARCH_HAS_HCD is not set | 501 | # CONFIG_USB_ARCH_HAS_HCD is not set |
@@ -583,10 +510,6 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
583 | # USB Gadget Support | 510 | # USB Gadget Support |
584 | # | 511 | # |
585 | # CONFIG_USB_GADGET is not set | 512 | # CONFIG_USB_GADGET is not set |
586 | |||
587 | # | ||
588 | # MMC/SD Card support | ||
589 | # | ||
590 | # CONFIG_MMC is not set | 513 | # CONFIG_MMC is not set |
591 | 514 | ||
592 | # | 515 | # |
@@ -668,7 +591,6 @@ CONFIG_PROC_FS=y | |||
668 | CONFIG_PROC_SYSCTL=y | 591 | CONFIG_PROC_SYSCTL=y |
669 | # CONFIG_SYSFS is not set | 592 | # CONFIG_SYSFS is not set |
670 | # CONFIG_TMPFS is not set | 593 | # CONFIG_TMPFS is not set |
671 | # CONFIG_HUGETLBFS is not set | ||
672 | # CONFIG_HUGETLB_PAGE is not set | 594 | # CONFIG_HUGETLB_PAGE is not set |
673 | CONFIG_RAMFS=y | 595 | CONFIG_RAMFS=y |
674 | 596 | ||
@@ -682,7 +604,6 @@ CONFIG_RAMFS=y | |||
682 | # CONFIG_BEFS_FS is not set | 604 | # CONFIG_BEFS_FS is not set |
683 | # CONFIG_BFS_FS is not set | 605 | # CONFIG_BFS_FS is not set |
684 | # CONFIG_EFS_FS is not set | 606 | # CONFIG_EFS_FS is not set |
685 | # CONFIG_JFFS_FS is not set | ||
686 | # CONFIG_JFFS2_FS is not set | 607 | # CONFIG_JFFS2_FS is not set |
687 | # CONFIG_CRAMFS is not set | 608 | # CONFIG_CRAMFS is not set |
688 | # CONFIG_VXFS_FS is not set | 609 | # CONFIG_VXFS_FS is not set |
@@ -715,14 +636,11 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y | |||
715 | # CONFIG_ENABLE_MUST_CHECK is not set | 636 | # CONFIG_ENABLE_MUST_CHECK is not set |
716 | # CONFIG_MAGIC_SYSRQ is not set | 637 | # CONFIG_MAGIC_SYSRQ is not set |
717 | # CONFIG_UNUSED_SYMBOLS is not set | 638 | # CONFIG_UNUSED_SYMBOLS is not set |
639 | # CONFIG_HEADERS_CHECK is not set | ||
718 | # CONFIG_DEBUG_KERNEL is not set | 640 | # CONFIG_DEBUG_KERNEL is not set |
719 | CONFIG_LOG_BUF_SHIFT=14 | ||
720 | # CONFIG_DEBUG_BUGVERBOSE is not set | 641 | # CONFIG_DEBUG_BUGVERBOSE is not set |
721 | # CONFIG_UNWIND_INFO is not set | ||
722 | # CONFIG_HEADERS_CHECK is not set | ||
723 | # CONFIG_SH_STANDARD_BIOS is not set | 642 | # CONFIG_SH_STANDARD_BIOS is not set |
724 | # CONFIG_EARLY_SCIF_CONSOLE is not set | 643 | # CONFIG_EARLY_SCIF_CONSOLE is not set |
725 | # CONFIG_KGDB is not set | ||
726 | 644 | ||
727 | # | 645 | # |
728 | # Security options | 646 | # Security options |
@@ -737,8 +655,13 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
737 | # | 655 | # |
738 | # Library routines | 656 | # Library routines |
739 | # | 657 | # |
658 | CONFIG_BITREVERSE=y | ||
740 | # CONFIG_CRC_CCITT is not set | 659 | # CONFIG_CRC_CCITT is not set |
741 | # CONFIG_CRC16 is not set | 660 | # CONFIG_CRC16 is not set |
661 | # CONFIG_CRC_ITU_T is not set | ||
742 | CONFIG_CRC32=y | 662 | CONFIG_CRC32=y |
743 | # CONFIG_LIBCRC32C is not set | 663 | # CONFIG_LIBCRC32C is not set |
744 | CONFIG_ZLIB_INFLATE=y | 664 | CONFIG_ZLIB_INFLATE=y |
665 | CONFIG_HAS_IOMEM=y | ||
666 | CONFIG_HAS_IOPORT=y | ||
667 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/sh/configs/se7722_defconfig b/arch/sh/configs/se7722_defconfig index ca4c663dfa37..764b813c4051 100644 --- a/arch/sh/configs/se7722_defconfig +++ b/arch/sh/configs/se7722_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.21-rc7 | 3 | # Linux kernel version: 2.6.22-rc4 |
4 | # Fri Apr 27 16:30:30 2007 | 4 | # Wed Jun 20 18:08:04 2007 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
@@ -11,7 +11,9 @@ CONFIG_GENERIC_HWEIGHT=y | |||
11 | CONFIG_GENERIC_HARDIRQS=y | 11 | CONFIG_GENERIC_HARDIRQS=y |
12 | CONFIG_GENERIC_IRQ_PROBE=y | 12 | CONFIG_GENERIC_IRQ_PROBE=y |
13 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 13 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
14 | # CONFIG_GENERIC_TIME is not set | 14 | CONFIG_GENERIC_TIME=y |
15 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
16 | CONFIG_SYS_SUPPORTS_NUMA=y | ||
15 | CONFIG_STACKTRACE_SUPPORT=y | 17 | CONFIG_STACKTRACE_SUPPORT=y |
16 | CONFIG_LOCKDEP_SUPPORT=y | 18 | CONFIG_LOCKDEP_SUPPORT=y |
17 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | 19 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set |
@@ -43,6 +45,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
43 | # CONFIG_AUDIT is not set | 45 | # CONFIG_AUDIT is not set |
44 | CONFIG_IKCONFIG=y | 46 | CONFIG_IKCONFIG=y |
45 | CONFIG_IKCONFIG_PROC=y | 47 | CONFIG_IKCONFIG_PROC=y |
48 | CONFIG_LOG_BUF_SHIFT=14 | ||
46 | # CONFIG_SYSFS_DEPRECATED is not set | 49 | # CONFIG_SYSFS_DEPRECATED is not set |
47 | # CONFIG_RELAY is not set | 50 | # CONFIG_RELAY is not set |
48 | CONFIG_BLK_DEV_INITRD=y | 51 | CONFIG_BLK_DEV_INITRD=y |
@@ -60,14 +63,20 @@ CONFIG_BUG=y | |||
60 | CONFIG_ELF_CORE=y | 63 | CONFIG_ELF_CORE=y |
61 | CONFIG_BASE_FULL=y | 64 | CONFIG_BASE_FULL=y |
62 | CONFIG_FUTEX=y | 65 | CONFIG_FUTEX=y |
66 | CONFIG_ANON_INODES=y | ||
63 | CONFIG_EPOLL=y | 67 | CONFIG_EPOLL=y |
68 | CONFIG_SIGNALFD=y | ||
69 | CONFIG_TIMERFD=y | ||
70 | CONFIG_EVENTFD=y | ||
64 | CONFIG_SHMEM=y | 71 | CONFIG_SHMEM=y |
65 | CONFIG_SLAB=y | ||
66 | CONFIG_VM_EVENT_COUNTERS=y | 72 | CONFIG_VM_EVENT_COUNTERS=y |
73 | CONFIG_SLUB_DEBUG=y | ||
74 | # CONFIG_SLAB is not set | ||
75 | CONFIG_SLUB=y | ||
76 | # CONFIG_SLOB is not set | ||
67 | CONFIG_RT_MUTEXES=y | 77 | CONFIG_RT_MUTEXES=y |
68 | # CONFIG_TINY_SHMEM is not set | 78 | # CONFIG_TINY_SHMEM is not set |
69 | CONFIG_BASE_SMALL=0 | 79 | CONFIG_BASE_SMALL=0 |
70 | # CONFIG_SLOB is not set | ||
71 | 80 | ||
72 | # | 81 | # |
73 | # Loadable module support | 82 | # Loadable module support |
@@ -103,57 +112,12 @@ CONFIG_DEFAULT_IOSCHED="noop" | |||
103 | # | 112 | # |
104 | # System type | 113 | # System type |
105 | # | 114 | # |
106 | CONFIG_SOLUTION_ENGINE=y | ||
107 | # CONFIG_SH_SOLUTION_ENGINE is not set | ||
108 | CONFIG_SH_7722_SOLUTION_ENGINE=y | ||
109 | # CONFIG_SH_7751_SOLUTION_ENGINE is not set | ||
110 | # CONFIG_SH_7780_SOLUTION_ENGINE is not set | ||
111 | # CONFIG_SH_7300_SOLUTION_ENGINE is not set | ||
112 | # CONFIG_SH_7343_SOLUTION_ENGINE is not set | ||
113 | # CONFIG_SH_73180_SOLUTION_ENGINE is not set | ||
114 | # CONFIG_SH_7751_SYSTEMH is not set | ||
115 | # CONFIG_SH_HP6XX is not set | ||
116 | # CONFIG_SH_SATURN is not set | ||
117 | # CONFIG_SH_DREAMCAST is not set | ||
118 | # CONFIG_SH_MPC1211 is not set | ||
119 | # CONFIG_SH_SH03 is not set | ||
120 | # CONFIG_SH_SECUREEDGE5410 is not set | ||
121 | # CONFIG_SH_HS7751RVOIP is not set | ||
122 | # CONFIG_SH_7710VOIPGW is not set | ||
123 | # CONFIG_SH_RTS7751R2D is not set | ||
124 | # CONFIG_SH_HIGHLANDER is not set | ||
125 | # CONFIG_SH_EDOSK7705 is not set | ||
126 | # CONFIG_SH_SH4202_MICRODEV is not set | ||
127 | # CONFIG_SH_LANDISK is not set | ||
128 | # CONFIG_SH_TITAN is not set | ||
129 | # CONFIG_SH_SHMIN is not set | ||
130 | # CONFIG_SH_7206_SOLUTION_ENGINE is not set | ||
131 | # CONFIG_SH_7619_SOLUTION_ENGINE is not set | ||
132 | # CONFIG_SH_LBOX_RE2 is not set | ||
133 | # CONFIG_SH_UNKNOWN is not set | ||
134 | |||
135 | # | ||
136 | # Processor selection | ||
137 | # | ||
138 | CONFIG_CPU_SH4=y | 115 | CONFIG_CPU_SH4=y |
139 | CONFIG_CPU_SH4A=y | 116 | CONFIG_CPU_SH4A=y |
140 | CONFIG_CPU_SH4AL_DSP=y | 117 | CONFIG_CPU_SH4AL_DSP=y |
141 | CONFIG_CPU_SHX2=y | 118 | CONFIG_CPU_SHX2=y |
142 | |||
143 | # | ||
144 | # SH-2 Processor Support | ||
145 | # | ||
146 | # CONFIG_CPU_SUBTYPE_SH7604 is not set | ||
147 | # CONFIG_CPU_SUBTYPE_SH7619 is not set | 119 | # CONFIG_CPU_SUBTYPE_SH7619 is not set |
148 | |||
149 | # | ||
150 | # SH-2A Processor Support | ||
151 | # | ||
152 | # CONFIG_CPU_SUBTYPE_SH7206 is not set | 120 | # CONFIG_CPU_SUBTYPE_SH7206 is not set |
153 | |||
154 | # | ||
155 | # SH-3 Processor Support | ||
156 | # | ||
157 | # CONFIG_CPU_SUBTYPE_SH7300 is not set | 121 | # CONFIG_CPU_SUBTYPE_SH7300 is not set |
158 | # CONFIG_CPU_SUBTYPE_SH7705 is not set | 122 | # CONFIG_CPU_SUBTYPE_SH7705 is not set |
159 | # CONFIG_CPU_SUBTYPE_SH7706 is not set | 123 | # CONFIG_CPU_SUBTYPE_SH7706 is not set |
@@ -162,10 +126,6 @@ CONFIG_CPU_SHX2=y | |||
162 | # CONFIG_CPU_SUBTYPE_SH7709 is not set | 126 | # CONFIG_CPU_SUBTYPE_SH7709 is not set |
163 | # CONFIG_CPU_SUBTYPE_SH7710 is not set | 127 | # CONFIG_CPU_SUBTYPE_SH7710 is not set |
164 | # CONFIG_CPU_SUBTYPE_SH7712 is not set | 128 | # CONFIG_CPU_SUBTYPE_SH7712 is not set |
165 | |||
166 | # | ||
167 | # SH-4 Processor Support | ||
168 | # | ||
169 | # CONFIG_CPU_SUBTYPE_SH7750 is not set | 129 | # CONFIG_CPU_SUBTYPE_SH7750 is not set |
170 | # CONFIG_CPU_SUBTYPE_SH7091 is not set | 130 | # CONFIG_CPU_SUBTYPE_SH7091 is not set |
171 | # CONFIG_CPU_SUBTYPE_SH7750R is not set | 131 | # CONFIG_CPU_SUBTYPE_SH7750R is not set |
@@ -174,23 +134,11 @@ CONFIG_CPU_SHX2=y | |||
174 | # CONFIG_CPU_SUBTYPE_SH7751R is not set | 134 | # CONFIG_CPU_SUBTYPE_SH7751R is not set |
175 | # CONFIG_CPU_SUBTYPE_SH7760 is not set | 135 | # CONFIG_CPU_SUBTYPE_SH7760 is not set |
176 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set | 136 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set |
177 | |||
178 | # | ||
179 | # ST40 Processor Support | ||
180 | # | ||
181 | # CONFIG_CPU_SUBTYPE_ST40STB1 is not set | 137 | # CONFIG_CPU_SUBTYPE_ST40STB1 is not set |
182 | # CONFIG_CPU_SUBTYPE_ST40GX1 is not set | 138 | # CONFIG_CPU_SUBTYPE_ST40GX1 is not set |
183 | |||
184 | # | ||
185 | # SH-4A Processor Support | ||
186 | # | ||
187 | # CONFIG_CPU_SUBTYPE_SH7770 is not set | 139 | # CONFIG_CPU_SUBTYPE_SH7770 is not set |
188 | # CONFIG_CPU_SUBTYPE_SH7780 is not set | 140 | # CONFIG_CPU_SUBTYPE_SH7780 is not set |
189 | # CONFIG_CPU_SUBTYPE_SH7785 is not set | 141 | # CONFIG_CPU_SUBTYPE_SH7785 is not set |
190 | |||
191 | # | ||
192 | # SH4AL-DSP Processor Support | ||
193 | # | ||
194 | # CONFIG_CPU_SUBTYPE_SH73180 is not set | 142 | # CONFIG_CPU_SUBTYPE_SH73180 is not set |
195 | # CONFIG_CPU_SUBTYPE_SH7343 is not set | 143 | # CONFIG_CPU_SUBTYPE_SH7343 is not set |
196 | CONFIG_CPU_SUBTYPE_SH7722=y | 144 | CONFIG_CPU_SUBTYPE_SH7722=y |
@@ -198,15 +146,21 @@ CONFIG_CPU_SUBTYPE_SH7722=y | |||
198 | # | 146 | # |
199 | # Memory management options | 147 | # Memory management options |
200 | # | 148 | # |
149 | CONFIG_QUICKLIST=y | ||
201 | CONFIG_MMU=y | 150 | CONFIG_MMU=y |
202 | CONFIG_PAGE_OFFSET=0x80000000 | 151 | CONFIG_PAGE_OFFSET=0x80000000 |
203 | CONFIG_MEMORY_START=0x0c000000 | 152 | CONFIG_MEMORY_START=0x0c000000 |
204 | CONFIG_MEMORY_SIZE=0x04000000 | 153 | CONFIG_MEMORY_SIZE=0x04000000 |
205 | # CONFIG_32BIT is not set | ||
206 | # CONFIG_X2TLB is not set | 154 | # CONFIG_X2TLB is not set |
207 | CONFIG_VSYSCALL=y | 155 | CONFIG_VSYSCALL=y |
208 | CONFIG_ARCH_FLATMEM_ENABLE=y | 156 | CONFIG_NUMA=y |
157 | CONFIG_NODES_SHIFT=1 | ||
158 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||
159 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | ||
160 | CONFIG_MAX_ACTIVE_REGIONS=2 | ||
209 | CONFIG_ARCH_POPULATES_NODE_MAP=y | 161 | CONFIG_ARCH_POPULATES_NODE_MAP=y |
162 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
163 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
210 | CONFIG_PAGE_SIZE_4KB=y | 164 | CONFIG_PAGE_SIZE_4KB=y |
211 | # CONFIG_PAGE_SIZE_8KB is not set | 165 | # CONFIG_PAGE_SIZE_8KB is not set |
212 | # CONFIG_PAGE_SIZE_64KB is not set | 166 | # CONFIG_PAGE_SIZE_64KB is not set |
@@ -216,26 +170,25 @@ CONFIG_HUGETLB_PAGE_SIZE_64K=y | |||
216 | # CONFIG_HUGETLB_PAGE_SIZE_4MB is not set | 170 | # CONFIG_HUGETLB_PAGE_SIZE_4MB is not set |
217 | # CONFIG_HUGETLB_PAGE_SIZE_64MB is not set | 171 | # CONFIG_HUGETLB_PAGE_SIZE_64MB is not set |
218 | CONFIG_SELECT_MEMORY_MODEL=y | 172 | CONFIG_SELECT_MEMORY_MODEL=y |
219 | CONFIG_FLATMEM_MANUAL=y | 173 | # CONFIG_FLATMEM_MANUAL is not set |
220 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 174 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
221 | # CONFIG_SPARSEMEM_MANUAL is not set | 175 | CONFIG_SPARSEMEM_MANUAL=y |
222 | CONFIG_FLATMEM=y | 176 | CONFIG_SPARSEMEM=y |
223 | CONFIG_FLAT_NODE_MEM_MAP=y | 177 | CONFIG_NEED_MULTIPLE_NODES=y |
224 | # CONFIG_SPARSEMEM_STATIC is not set | 178 | CONFIG_HAVE_MEMORY_PRESENT=y |
179 | CONFIG_SPARSEMEM_STATIC=y | ||
180 | # CONFIG_MEMORY_HOTPLUG is not set | ||
225 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 181 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
182 | CONFIG_MIGRATION=y | ||
226 | # CONFIG_RESOURCES_64BIT is not set | 183 | # CONFIG_RESOURCES_64BIT is not set |
227 | CONFIG_ZONE_DMA_FLAG=0 | 184 | CONFIG_ZONE_DMA_FLAG=0 |
185 | CONFIG_NR_QUICK=2 | ||
228 | 186 | ||
229 | # | 187 | # |
230 | # Cache configuration | 188 | # Cache configuration |
231 | # | 189 | # |
232 | # CONFIG_SH_DIRECT_MAPPED is not set | 190 | # CONFIG_SH_DIRECT_MAPPED is not set |
233 | # CONFIG_SH_WRITETHROUGH is not set | 191 | # CONFIG_SH_WRITETHROUGH is not set |
234 | # CONFIG_SH_OCRAM is not set | ||
235 | CONFIG_CF_ENABLER=y | ||
236 | # CONFIG_CF_AREA5 is not set | ||
237 | CONFIG_CF_AREA6=y | ||
238 | CONFIG_CF_BASE_ADDR=0xb8000000 | ||
239 | 192 | ||
240 | # | 193 | # |
241 | # Processor features | 194 | # Processor features |
@@ -252,12 +205,20 @@ CONFIG_CPU_HAS_SR_RB=y | |||
252 | CONFIG_CPU_HAS_PTEA=y | 205 | CONFIG_CPU_HAS_PTEA=y |
253 | 206 | ||
254 | # | 207 | # |
208 | # Board support | ||
209 | # | ||
210 | CONFIG_SOLUTION_ENGINE=y | ||
211 | CONFIG_SH_7722_SOLUTION_ENGINE=y | ||
212 | |||
213 | # | ||
255 | # Timer and clock configuration | 214 | # Timer and clock configuration |
256 | # | 215 | # |
257 | CONFIG_SH_TMU=y | 216 | CONFIG_SH_TMU=y |
258 | CONFIG_SH_TIMER_IRQ=16 | 217 | CONFIG_SH_TIMER_IRQ=16 |
259 | CONFIG_NO_IDLE_HZ=y | ||
260 | CONFIG_SH_PCLK_FREQ=33333333 | 218 | CONFIG_SH_PCLK_FREQ=33333333 |
219 | CONFIG_TICK_ONESHOT=y | ||
220 | CONFIG_NO_HZ=y | ||
221 | CONFIG_HIGH_RES_TIMERS=y | ||
261 | 222 | ||
262 | # | 223 | # |
263 | # CPU Frequency scaling | 224 | # CPU Frequency scaling |
@@ -272,7 +233,6 @@ CONFIG_SH_PCLK_FREQ=33333333 | |||
272 | # | 233 | # |
273 | # Companion Chips | 234 | # Companion Chips |
274 | # | 235 | # |
275 | # CONFIG_HD6446X_SERIES is not set | ||
276 | 236 | ||
277 | # | 237 | # |
278 | # Additional SuperH Device Drivers | 238 | # Additional SuperH Device Drivers |
@@ -290,7 +250,6 @@ CONFIG_HZ_250=y | |||
290 | CONFIG_HZ=250 | 250 | CONFIG_HZ=250 |
291 | CONFIG_KEXEC=y | 251 | CONFIG_KEXEC=y |
292 | # CONFIG_CRASH_DUMP is not set | 252 | # CONFIG_CRASH_DUMP is not set |
293 | # CONFIG_SMP is not set | ||
294 | # CONFIG_PREEMPT_NONE is not set | 253 | # CONFIG_PREEMPT_NONE is not set |
295 | # CONFIG_PREEMPT_VOLUNTARY is not set | 254 | # CONFIG_PREEMPT_VOLUNTARY is not set |
296 | CONFIG_PREEMPT=y | 255 | CONFIG_PREEMPT=y |
@@ -307,7 +266,11 @@ CONFIG_BOOT_LINK_OFFSET=0x00800000 | |||
307 | # | 266 | # |
308 | # Bus options | 267 | # Bus options |
309 | # | 268 | # |
310 | # CONFIG_PCI is not set | 269 | CONFIG_CF_ENABLER=y |
270 | # CONFIG_CF_AREA5 is not set | ||
271 | CONFIG_CF_AREA6=y | ||
272 | CONFIG_CF_BASE_ADDR=0xb8000000 | ||
273 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
311 | 274 | ||
312 | # | 275 | # |
313 | # PCCARD (PCMCIA/CardBus) support | 276 | # PCCARD (PCMCIA/CardBus) support |
@@ -315,22 +278,12 @@ CONFIG_BOOT_LINK_OFFSET=0x00800000 | |||
315 | # CONFIG_PCCARD is not set | 278 | # CONFIG_PCCARD is not set |
316 | 279 | ||
317 | # | 280 | # |
318 | # PCI Hotplug Support | ||
319 | # | ||
320 | |||
321 | # | ||
322 | # Executable file formats | 281 | # Executable file formats |
323 | # | 282 | # |
324 | CONFIG_BINFMT_ELF=y | 283 | CONFIG_BINFMT_ELF=y |
325 | # CONFIG_BINFMT_FLAT is not set | ||
326 | # CONFIG_BINFMT_MISC is not set | 284 | # CONFIG_BINFMT_MISC is not set |
327 | 285 | ||
328 | # | 286 | # |
329 | # Power management options (EXPERIMENTAL) | ||
330 | # | ||
331 | # CONFIG_PM is not set | ||
332 | |||
333 | # | ||
334 | # Networking | 287 | # Networking |
335 | # | 288 | # |
336 | CONFIG_NET=y | 289 | CONFIG_NET=y |
@@ -338,7 +291,6 @@ CONFIG_NET=y | |||
338 | # | 291 | # |
339 | # Networking options | 292 | # Networking options |
340 | # | 293 | # |
341 | # CONFIG_NETDEBUG is not set | ||
342 | CONFIG_PACKET=y | 294 | CONFIG_PACKET=y |
343 | CONFIG_PACKET_MMAP=y | 295 | CONFIG_PACKET_MMAP=y |
344 | CONFIG_UNIX=y | 296 | CONFIG_UNIX=y |
@@ -375,20 +327,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
375 | # CONFIG_INET6_TUNNEL is not set | 327 | # CONFIG_INET6_TUNNEL is not set |
376 | # CONFIG_NETWORK_SECMARK is not set | 328 | # CONFIG_NETWORK_SECMARK is not set |
377 | # CONFIG_NETFILTER is not set | 329 | # CONFIG_NETFILTER is not set |
378 | |||
379 | # | ||
380 | # DCCP Configuration (EXPERIMENTAL) | ||
381 | # | ||
382 | # CONFIG_IP_DCCP is not set | 330 | # CONFIG_IP_DCCP is not set |
383 | |||
384 | # | ||
385 | # SCTP Configuration (EXPERIMENTAL) | ||
386 | # | ||
387 | # CONFIG_IP_SCTP is not set | 331 | # CONFIG_IP_SCTP is not set |
388 | |||
389 | # | ||
390 | # TIPC Configuration (EXPERIMENTAL) | ||
391 | # | ||
392 | # CONFIG_TIPC is not set | 332 | # CONFIG_TIPC is not set |
393 | # CONFIG_ATM is not set | 333 | # CONFIG_ATM is not set |
394 | # CONFIG_BRIDGE is not set | 334 | # CONFIG_BRIDGE is not set |
@@ -414,7 +354,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
414 | # CONFIG_HAMRADIO is not set | 354 | # CONFIG_HAMRADIO is not set |
415 | # CONFIG_IRDA is not set | 355 | # CONFIG_IRDA is not set |
416 | # CONFIG_BT is not set | 356 | # CONFIG_BT is not set |
357 | # CONFIG_AF_RXRPC is not set | ||
358 | |||
359 | # | ||
360 | # Wireless | ||
361 | # | ||
362 | # CONFIG_CFG80211 is not set | ||
363 | # CONFIG_WIRELESS_EXT is not set | ||
364 | # CONFIG_MAC80211 is not set | ||
417 | # CONFIG_IEEE80211 is not set | 365 | # CONFIG_IEEE80211 is not set |
366 | # CONFIG_RFKILL is not set | ||
418 | 367 | ||
419 | # | 368 | # |
420 | # Device Drivers | 369 | # Device Drivers |
@@ -432,10 +381,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
432 | # Connector - unified userspace <-> kernelspace linker | 381 | # Connector - unified userspace <-> kernelspace linker |
433 | # | 382 | # |
434 | # CONFIG_CONNECTOR is not set | 383 | # CONFIG_CONNECTOR is not set |
435 | |||
436 | # | ||
437 | # Memory Technology Devices (MTD) | ||
438 | # | ||
439 | # CONFIG_MTD is not set | 384 | # CONFIG_MTD is not set |
440 | 385 | ||
441 | # | 386 | # |
@@ -464,10 +409,7 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | |||
464 | # | 409 | # |
465 | # Misc devices | 410 | # Misc devices |
466 | # | 411 | # |
467 | 412 | # CONFIG_BLINK is not set | |
468 | # | ||
469 | # ATA/ATAPI/MFM/RLL support | ||
470 | # | ||
471 | # CONFIG_IDE is not set | 413 | # CONFIG_IDE is not set |
472 | 414 | ||
473 | # | 415 | # |
@@ -496,6 +438,7 @@ CONFIG_BLK_DEV_SD=y | |||
496 | # CONFIG_SCSI_CONSTANTS is not set | 438 | # CONFIG_SCSI_CONSTANTS is not set |
497 | # CONFIG_SCSI_LOGGING is not set | 439 | # CONFIG_SCSI_LOGGING is not set |
498 | # CONFIG_SCSI_SCAN_ASYNC is not set | 440 | # CONFIG_SCSI_SCAN_ASYNC is not set |
441 | CONFIG_SCSI_WAIT_SCAN=m | ||
499 | 442 | ||
500 | # | 443 | # |
501 | # SCSI Transports | 444 | # SCSI Transports |
@@ -511,10 +454,6 @@ CONFIG_BLK_DEV_SD=y | |||
511 | # | 454 | # |
512 | # CONFIG_ISCSI_TCP is not set | 455 | # CONFIG_ISCSI_TCP is not set |
513 | # CONFIG_SCSI_DEBUG is not set | 456 | # CONFIG_SCSI_DEBUG is not set |
514 | |||
515 | # | ||
516 | # Serial ATA (prod) and Parallel ATA (experimental) drivers | ||
517 | # | ||
518 | CONFIG_ATA=y | 457 | CONFIG_ATA=y |
519 | # CONFIG_ATA_NONSTANDARD is not set | 458 | # CONFIG_ATA_NONSTANDARD is not set |
520 | CONFIG_PATA_PLATFORM=y | 459 | CONFIG_PATA_PLATFORM=y |
@@ -525,19 +464,6 @@ CONFIG_PATA_PLATFORM=y | |||
525 | # CONFIG_MD is not set | 464 | # CONFIG_MD is not set |
526 | 465 | ||
527 | # | 466 | # |
528 | # Fusion MPT device support | ||
529 | # | ||
530 | # CONFIG_FUSION is not set | ||
531 | |||
532 | # | ||
533 | # IEEE 1394 (FireWire) support | ||
534 | # | ||
535 | |||
536 | # | ||
537 | # I2O device support | ||
538 | # | ||
539 | |||
540 | # | ||
541 | # Network device support | 467 | # Network device support |
542 | # | 468 | # |
543 | CONFIG_NETDEVICES=y | 469 | CONFIG_NETDEVICES=y |
@@ -545,10 +471,6 @@ CONFIG_NETDEVICES=y | |||
545 | # CONFIG_BONDING is not set | 471 | # CONFIG_BONDING is not set |
546 | # CONFIG_EQUALIZER is not set | 472 | # CONFIG_EQUALIZER is not set |
547 | # CONFIG_TUN is not set | 473 | # CONFIG_TUN is not set |
548 | |||
549 | # | ||
550 | # PHY device support | ||
551 | # | ||
552 | # CONFIG_PHYLIB is not set | 474 | # CONFIG_PHYLIB is not set |
553 | 475 | ||
554 | # | 476 | # |
@@ -558,27 +480,14 @@ CONFIG_NET_ETHERNET=y | |||
558 | CONFIG_MII=y | 480 | CONFIG_MII=y |
559 | # CONFIG_STNIC is not set | 481 | # CONFIG_STNIC is not set |
560 | CONFIG_SMC91X=y | 482 | CONFIG_SMC91X=y |
483 | CONFIG_NETDEV_1000=y | ||
484 | CONFIG_NETDEV_10000=y | ||
561 | 485 | ||
562 | # | 486 | # |
563 | # Ethernet (1000 Mbit) | 487 | # Wireless LAN |
564 | # | ||
565 | |||
566 | # | ||
567 | # Ethernet (10000 Mbit) | ||
568 | # | ||
569 | |||
570 | # | ||
571 | # Token Ring devices | ||
572 | # | ||
573 | |||
574 | # | ||
575 | # Wireless LAN (non-hamradio) | ||
576 | # | ||
577 | # CONFIG_NET_RADIO is not set | ||
578 | |||
579 | # | ||
580 | # Wan interfaces | ||
581 | # | 488 | # |
489 | # CONFIG_WLAN_PRE80211 is not set | ||
490 | # CONFIG_WLAN_80211 is not set | ||
582 | # CONFIG_WAN is not set | 491 | # CONFIG_WAN is not set |
583 | # CONFIG_PPP is not set | 492 | # CONFIG_PPP is not set |
584 | # CONFIG_SLIP is not set | 493 | # CONFIG_SLIP is not set |
@@ -627,6 +536,7 @@ CONFIG_KEYBOARD_ATKBD=y | |||
627 | # CONFIG_KEYBOARD_STOWAWAY is not set | 536 | # CONFIG_KEYBOARD_STOWAWAY is not set |
628 | # CONFIG_INPUT_MOUSE is not set | 537 | # CONFIG_INPUT_MOUSE is not set |
629 | # CONFIG_INPUT_JOYSTICK is not set | 538 | # CONFIG_INPUT_JOYSTICK is not set |
539 | # CONFIG_INPUT_TABLET is not set | ||
630 | # CONFIG_INPUT_TOUCHSCREEN is not set | 540 | # CONFIG_INPUT_TOUCHSCREEN is not set |
631 | # CONFIG_INPUT_MISC is not set | 541 | # CONFIG_INPUT_MISC is not set |
632 | 542 | ||
@@ -667,14 +577,8 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
667 | # IPMI | 577 | # IPMI |
668 | # | 578 | # |
669 | # CONFIG_IPMI_HANDLER is not set | 579 | # CONFIG_IPMI_HANDLER is not set |
670 | |||
671 | # | ||
672 | # Watchdog Cards | ||
673 | # | ||
674 | # CONFIG_WATCHDOG is not set | 580 | # CONFIG_WATCHDOG is not set |
675 | CONFIG_HW_RANDOM=y | 581 | CONFIG_HW_RANDOM=y |
676 | # CONFIG_GEN_RTC is not set | ||
677 | # CONFIG_DTLK is not set | ||
678 | # CONFIG_R3964 is not set | 582 | # CONFIG_R3964 is not set |
679 | # CONFIG_RAW_DRIVER is not set | 583 | # CONFIG_RAW_DRIVER is not set |
680 | 584 | ||
@@ -682,10 +586,6 @@ CONFIG_HW_RANDOM=y | |||
682 | # TPM devices | 586 | # TPM devices |
683 | # | 587 | # |
684 | # CONFIG_TCG_TPM is not set | 588 | # CONFIG_TCG_TPM is not set |
685 | |||
686 | # | ||
687 | # I2C support | ||
688 | # | ||
689 | # CONFIG_I2C is not set | 589 | # CONFIG_I2C is not set |
690 | 590 | ||
691 | # | 591 | # |
@@ -698,16 +598,15 @@ CONFIG_HW_RANDOM=y | |||
698 | # Dallas's 1-wire bus | 598 | # Dallas's 1-wire bus |
699 | # | 599 | # |
700 | # CONFIG_W1 is not set | 600 | # CONFIG_W1 is not set |
701 | |||
702 | # | ||
703 | # Hardware Monitoring support | ||
704 | # | ||
705 | CONFIG_HWMON=y | 601 | CONFIG_HWMON=y |
706 | # CONFIG_HWMON_VID is not set | 602 | # CONFIG_HWMON_VID is not set |
707 | # CONFIG_SENSORS_ABITUGURU is not set | 603 | # CONFIG_SENSORS_ABITUGURU is not set |
708 | # CONFIG_SENSORS_F71805F is not set | 604 | # CONFIG_SENSORS_F71805F is not set |
709 | # CONFIG_SENSORS_PC87427 is not set | 605 | # CONFIG_SENSORS_PC87427 is not set |
606 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
607 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
710 | # CONFIG_SENSORS_VT1211 is not set | 608 | # CONFIG_SENSORS_VT1211 is not set |
609 | # CONFIG_SENSORS_W83627HF is not set | ||
711 | # CONFIG_HWMON_DEBUG_CHIP is not set | 610 | # CONFIG_HWMON_DEBUG_CHIP is not set |
712 | 611 | ||
713 | # | 612 | # |
@@ -719,16 +618,19 @@ CONFIG_HWMON=y | |||
719 | # Multimedia devices | 618 | # Multimedia devices |
720 | # | 619 | # |
721 | # CONFIG_VIDEO_DEV is not set | 620 | # CONFIG_VIDEO_DEV is not set |
621 | # CONFIG_DVB_CORE is not set | ||
622 | CONFIG_DAB=y | ||
722 | 623 | ||
723 | # | 624 | # |
724 | # Digital Video Broadcasting Devices | 625 | # Graphics support |
725 | # | 626 | # |
726 | # CONFIG_DVB is not set | 627 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
727 | 628 | ||
728 | # | 629 | # |
729 | # Graphics support | 630 | # Display device support |
730 | # | 631 | # |
731 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 632 | # CONFIG_DISPLAY_SUPPORT is not set |
633 | # CONFIG_VGASTATE is not set | ||
732 | # CONFIG_FB is not set | 634 | # CONFIG_FB is not set |
733 | 635 | ||
734 | # | 636 | # |
@@ -757,10 +659,6 @@ CONFIG_HID=y | |||
757 | # USB Gadget Support | 659 | # USB Gadget Support |
758 | # | 660 | # |
759 | # CONFIG_USB_GADGET is not set | 661 | # CONFIG_USB_GADGET is not set |
760 | |||
761 | # | ||
762 | # MMC/SD Card support | ||
763 | # | ||
764 | # CONFIG_MMC is not set | 662 | # CONFIG_MMC is not set |
765 | 663 | ||
766 | # | 664 | # |
@@ -800,18 +698,30 @@ CONFIG_RTC_INTF_SYSFS=y | |||
800 | CONFIG_RTC_INTF_PROC=y | 698 | CONFIG_RTC_INTF_PROC=y |
801 | CONFIG_RTC_INTF_DEV=y | 699 | CONFIG_RTC_INTF_DEV=y |
802 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | 700 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set |
701 | # CONFIG_RTC_DRV_TEST is not set | ||
803 | 702 | ||
804 | # | 703 | # |
805 | # RTC drivers | 704 | # I2C RTC drivers |
705 | # | ||
706 | |||
707 | # | ||
708 | # SPI RTC drivers | ||
709 | # | ||
710 | |||
711 | # | ||
712 | # Platform RTC drivers | ||
806 | # | 713 | # |
807 | # CONFIG_RTC_DRV_DS1553 is not set | 714 | # CONFIG_RTC_DRV_DS1553 is not set |
808 | # CONFIG_RTC_DRV_DS1742 is not set | 715 | # CONFIG_RTC_DRV_DS1742 is not set |
809 | # CONFIG_RTC_DRV_M48T86 is not set | 716 | # CONFIG_RTC_DRV_M48T86 is not set |
810 | CONFIG_RTC_DRV_SH=y | ||
811 | # CONFIG_RTC_DRV_TEST is not set | ||
812 | # CONFIG_RTC_DRV_V3020 is not set | 717 | # CONFIG_RTC_DRV_V3020 is not set |
813 | 718 | ||
814 | # | 719 | # |
720 | # on-CPU RTC drivers | ||
721 | # | ||
722 | CONFIG_RTC_DRV_SH=y | ||
723 | |||
724 | # | ||
815 | # DMA Engine support | 725 | # DMA Engine support |
816 | # | 726 | # |
817 | # CONFIG_DMA_ENGINE is not set | 727 | # CONFIG_DMA_ENGINE is not set |
@@ -825,14 +735,6 @@ CONFIG_RTC_DRV_SH=y | |||
825 | # | 735 | # |
826 | 736 | ||
827 | # | 737 | # |
828 | # Auxiliary Display support | ||
829 | # | ||
830 | |||
831 | # | ||
832 | # Virtualization | ||
833 | # | ||
834 | |||
835 | # | ||
836 | # File systems | 738 | # File systems |
837 | # | 739 | # |
838 | CONFIG_EXT2_FS=y | 740 | CONFIG_EXT2_FS=y |
@@ -937,23 +839,24 @@ CONFIG_MSDOS_PARTITION=y | |||
937 | # | 839 | # |
938 | # Profiling support | 840 | # Profiling support |
939 | # | 841 | # |
940 | # CONFIG_PROFILING is not set | 842 | CONFIG_PROFILING=y |
843 | # CONFIG_OPROFILE is not set | ||
941 | 844 | ||
942 | # | 845 | # |
943 | # Kernel hacking | 846 | # Kernel hacking |
944 | # | 847 | # |
945 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | 848 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y |
946 | # CONFIG_PRINTK_TIME is not set | 849 | CONFIG_PRINTK_TIME=y |
947 | # CONFIG_ENABLE_MUST_CHECK is not set | 850 | # CONFIG_ENABLE_MUST_CHECK is not set |
948 | # CONFIG_MAGIC_SYSRQ is not set | 851 | CONFIG_MAGIC_SYSRQ=y |
949 | # CONFIG_UNUSED_SYMBOLS is not set | 852 | # CONFIG_UNUSED_SYMBOLS is not set |
950 | # CONFIG_DEBUG_FS is not set | 853 | CONFIG_DEBUG_FS=y |
951 | # CONFIG_HEADERS_CHECK is not set | 854 | # CONFIG_HEADERS_CHECK is not set |
952 | # CONFIG_DEBUG_KERNEL is not set | 855 | # CONFIG_DEBUG_KERNEL is not set |
953 | CONFIG_LOG_BUF_SHIFT=14 | ||
954 | # CONFIG_DEBUG_BUGVERBOSE is not set | 856 | # CONFIG_DEBUG_BUGVERBOSE is not set |
955 | # CONFIG_SH_STANDARD_BIOS is not set | 857 | CONFIG_SH_STANDARD_BIOS=y |
956 | # CONFIG_EARLY_SCIF_CONSOLE is not set | 858 | # CONFIG_EARLY_SCIF_CONSOLE is not set |
859 | # CONFIG_EARLY_PRINTK is not set | ||
957 | # CONFIG_SH_KGDB is not set | 860 | # CONFIG_SH_KGDB is not set |
958 | 861 | ||
959 | # | 862 | # |
@@ -973,8 +876,10 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
973 | CONFIG_BITREVERSE=y | 876 | CONFIG_BITREVERSE=y |
974 | # CONFIG_CRC_CCITT is not set | 877 | # CONFIG_CRC_CCITT is not set |
975 | # CONFIG_CRC16 is not set | 878 | # CONFIG_CRC16 is not set |
879 | # CONFIG_CRC_ITU_T is not set | ||
976 | CONFIG_CRC32=y | 880 | CONFIG_CRC32=y |
977 | # CONFIG_LIBCRC32C is not set | 881 | # CONFIG_LIBCRC32C is not set |
978 | CONFIG_PLIST=y | 882 | CONFIG_PLIST=y |
979 | CONFIG_HAS_IOMEM=y | 883 | CONFIG_HAS_IOMEM=y |
980 | CONFIG_HAS_IOPORT=y | 884 | CONFIG_HAS_IOPORT=y |
885 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/sh/configs/shx3_defconfig b/arch/sh/configs/shx3_defconfig new file mode 100644 index 000000000000..219bad558b10 --- /dev/null +++ b/arch/sh/configs/shx3_defconfig | |||
@@ -0,0 +1,756 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.22-rc4 | ||
4 | # Wed Jun 20 14:09:27 2007 | ||
5 | # | ||
6 | CONFIG_SUPERH=y | ||
7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
8 | CONFIG_GENERIC_BUG=y | ||
9 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
10 | CONFIG_GENERIC_HWEIGHT=y | ||
11 | CONFIG_GENERIC_HARDIRQS=y | ||
12 | CONFIG_GENERIC_IRQ_PROBE=y | ||
13 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
14 | CONFIG_GENERIC_TIME=y | ||
15 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
16 | CONFIG_STACKTRACE_SUPPORT=y | ||
17 | CONFIG_LOCKDEP_SUPPORT=y | ||
18 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
19 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
20 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
21 | |||
22 | # | ||
23 | # Code maturity level options | ||
24 | # | ||
25 | CONFIG_EXPERIMENTAL=y | ||
26 | CONFIG_BROKEN_ON_SMP=y | ||
27 | CONFIG_LOCK_KERNEL=y | ||
28 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
29 | |||
30 | # | ||
31 | # General setup | ||
32 | # | ||
33 | CONFIG_LOCALVERSION="" | ||
34 | CONFIG_LOCALVERSION_AUTO=y | ||
35 | CONFIG_SWAP=y | ||
36 | CONFIG_SYSVIPC=y | ||
37 | # CONFIG_IPC_NS is not set | ||
38 | CONFIG_SYSVIPC_SYSCTL=y | ||
39 | CONFIG_BSD_PROCESS_ACCT=y | ||
40 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set | ||
41 | # CONFIG_UTS_NS is not set | ||
42 | CONFIG_IKCONFIG=y | ||
43 | CONFIG_IKCONFIG_PROC=y | ||
44 | CONFIG_LOG_BUF_SHIFT=14 | ||
45 | # CONFIG_SYSFS_DEPRECATED is not set | ||
46 | # CONFIG_RELAY is not set | ||
47 | CONFIG_BLK_DEV_INITRD=y | ||
48 | CONFIG_INITRAMFS_SOURCE="" | ||
49 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
50 | CONFIG_SYSCTL=y | ||
51 | CONFIG_EMBEDDED=y | ||
52 | CONFIG_UID16=y | ||
53 | CONFIG_SYSCTL_SYSCALL=y | ||
54 | CONFIG_KALLSYMS=y | ||
55 | CONFIG_KALLSYMS_ALL=y | ||
56 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
57 | CONFIG_HOTPLUG=y | ||
58 | CONFIG_PRINTK=y | ||
59 | CONFIG_BUG=y | ||
60 | CONFIG_ELF_CORE=y | ||
61 | CONFIG_BASE_FULL=y | ||
62 | CONFIG_FUTEX=y | ||
63 | CONFIG_ANON_INODES=y | ||
64 | CONFIG_EPOLL=y | ||
65 | CONFIG_SIGNALFD=y | ||
66 | CONFIG_TIMERFD=y | ||
67 | CONFIG_EVENTFD=y | ||
68 | CONFIG_SHMEM=y | ||
69 | CONFIG_VM_EVENT_COUNTERS=y | ||
70 | CONFIG_SLAB=y | ||
71 | # CONFIG_SLUB is not set | ||
72 | # CONFIG_SLOB is not set | ||
73 | CONFIG_RT_MUTEXES=y | ||
74 | # CONFIG_TINY_SHMEM is not set | ||
75 | CONFIG_BASE_SMALL=0 | ||
76 | |||
77 | # | ||
78 | # Loadable module support | ||
79 | # | ||
80 | CONFIG_MODULES=y | ||
81 | CONFIG_MODULE_UNLOAD=y | ||
82 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
83 | # CONFIG_MODVERSIONS is not set | ||
84 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
85 | CONFIG_KMOD=y | ||
86 | |||
87 | # | ||
88 | # Block layer | ||
89 | # | ||
90 | CONFIG_BLOCK=y | ||
91 | # CONFIG_LBD is not set | ||
92 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
93 | # CONFIG_LSF is not set | ||
94 | |||
95 | # | ||
96 | # IO Schedulers | ||
97 | # | ||
98 | CONFIG_IOSCHED_NOOP=y | ||
99 | # CONFIG_IOSCHED_AS is not set | ||
100 | # CONFIG_IOSCHED_DEADLINE is not set | ||
101 | # CONFIG_IOSCHED_CFQ is not set | ||
102 | # CONFIG_DEFAULT_AS is not set | ||
103 | # CONFIG_DEFAULT_DEADLINE is not set | ||
104 | # CONFIG_DEFAULT_CFQ is not set | ||
105 | CONFIG_DEFAULT_NOOP=y | ||
106 | CONFIG_DEFAULT_IOSCHED="noop" | ||
107 | |||
108 | # | ||
109 | # System type | ||
110 | # | ||
111 | CONFIG_CPU_SH4=y | ||
112 | CONFIG_CPU_SH4A=y | ||
113 | CONFIG_CPU_SHX3=y | ||
114 | # CONFIG_CPU_SUBTYPE_SH7619 is not set | ||
115 | # CONFIG_CPU_SUBTYPE_SH7206 is not set | ||
116 | # CONFIG_CPU_SUBTYPE_SH7300 is not set | ||
117 | # CONFIG_CPU_SUBTYPE_SH7705 is not set | ||
118 | # CONFIG_CPU_SUBTYPE_SH7706 is not set | ||
119 | # CONFIG_CPU_SUBTYPE_SH7707 is not set | ||
120 | # CONFIG_CPU_SUBTYPE_SH7708 is not set | ||
121 | # CONFIG_CPU_SUBTYPE_SH7709 is not set | ||
122 | # CONFIG_CPU_SUBTYPE_SH7710 is not set | ||
123 | # CONFIG_CPU_SUBTYPE_SH7712 is not set | ||
124 | # CONFIG_CPU_SUBTYPE_SH7750 is not set | ||
125 | # CONFIG_CPU_SUBTYPE_SH7091 is not set | ||
126 | # CONFIG_CPU_SUBTYPE_SH7750R is not set | ||
127 | # CONFIG_CPU_SUBTYPE_SH7750S is not set | ||
128 | # CONFIG_CPU_SUBTYPE_SH7751 is not set | ||
129 | # CONFIG_CPU_SUBTYPE_SH7751R is not set | ||
130 | # CONFIG_CPU_SUBTYPE_SH7760 is not set | ||
131 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set | ||
132 | # CONFIG_CPU_SUBTYPE_ST40STB1 is not set | ||
133 | # CONFIG_CPU_SUBTYPE_ST40GX1 is not set | ||
134 | # CONFIG_CPU_SUBTYPE_SH7770 is not set | ||
135 | # CONFIG_CPU_SUBTYPE_SH7780 is not set | ||
136 | # CONFIG_CPU_SUBTYPE_SH7785 is not set | ||
137 | CONFIG_CPU_SUBTYPE_SHX3=y | ||
138 | # CONFIG_CPU_SUBTYPE_SH73180 is not set | ||
139 | # CONFIG_CPU_SUBTYPE_SH7343 is not set | ||
140 | # CONFIG_CPU_SUBTYPE_SH7722 is not set | ||
141 | |||
142 | # | ||
143 | # Memory management options | ||
144 | # | ||
145 | CONFIG_QUICKLIST=y | ||
146 | CONFIG_MMU=y | ||
147 | CONFIG_PAGE_OFFSET=0x80000000 | ||
148 | CONFIG_MEMORY_START=0x0c000000 | ||
149 | CONFIG_MEMORY_SIZE=0x04000000 | ||
150 | CONFIG_VSYSCALL=y | ||
151 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
152 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||
153 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | ||
154 | CONFIG_MAX_ACTIVE_REGIONS=1 | ||
155 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
156 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
157 | CONFIG_PAGE_SIZE_4KB=y | ||
158 | # CONFIG_PAGE_SIZE_8KB is not set | ||
159 | # CONFIG_PAGE_SIZE_64KB is not set | ||
160 | CONFIG_HUGETLB_PAGE_SIZE_64K=y | ||
161 | # CONFIG_HUGETLB_PAGE_SIZE_256K is not set | ||
162 | # CONFIG_HUGETLB_PAGE_SIZE_1MB is not set | ||
163 | # CONFIG_HUGETLB_PAGE_SIZE_4MB is not set | ||
164 | # CONFIG_HUGETLB_PAGE_SIZE_64MB is not set | ||
165 | CONFIG_SELECT_MEMORY_MODEL=y | ||
166 | CONFIG_FLATMEM_MANUAL=y | ||
167 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
168 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
169 | CONFIG_FLATMEM=y | ||
170 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
171 | CONFIG_SPARSEMEM_STATIC=y | ||
172 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
173 | # CONFIG_RESOURCES_64BIT is not set | ||
174 | CONFIG_ZONE_DMA_FLAG=0 | ||
175 | CONFIG_NR_QUICK=2 | ||
176 | |||
177 | # | ||
178 | # Cache configuration | ||
179 | # | ||
180 | # CONFIG_SH_DIRECT_MAPPED is not set | ||
181 | # CONFIG_SH_WRITETHROUGH is not set | ||
182 | |||
183 | # | ||
184 | # Processor features | ||
185 | # | ||
186 | CONFIG_CPU_LITTLE_ENDIAN=y | ||
187 | # CONFIG_CPU_BIG_ENDIAN is not set | ||
188 | # CONFIG_SH_FPU is not set | ||
189 | # CONFIG_SH_FPU_EMU is not set | ||
190 | CONFIG_SH_DSP=y | ||
191 | CONFIG_SH_STORE_QUEUES=y | ||
192 | CONFIG_CPU_HAS_INTEVT=y | ||
193 | CONFIG_CPU_HAS_INTC2_IRQ=y | ||
194 | CONFIG_CPU_HAS_SR_RB=y | ||
195 | |||
196 | # | ||
197 | # Board support | ||
198 | # | ||
199 | |||
200 | # | ||
201 | # Timer and clock configuration | ||
202 | # | ||
203 | CONFIG_SH_TMU=y | ||
204 | CONFIG_SH_TIMER_IRQ=16 | ||
205 | CONFIG_SH_PCLK_FREQ=50000000 | ||
206 | CONFIG_TICK_ONESHOT=y | ||
207 | CONFIG_NO_HZ=y | ||
208 | CONFIG_HIGH_RES_TIMERS=y | ||
209 | |||
210 | # | ||
211 | # CPU Frequency scaling | ||
212 | # | ||
213 | # CONFIG_CPU_FREQ is not set | ||
214 | |||
215 | # | ||
216 | # DMA support | ||
217 | # | ||
218 | # CONFIG_SH_DMA is not set | ||
219 | |||
220 | # | ||
221 | # Companion Chips | ||
222 | # | ||
223 | |||
224 | # | ||
225 | # Additional SuperH Device Drivers | ||
226 | # | ||
227 | CONFIG_HEARTBEAT=y | ||
228 | # CONFIG_PUSH_SWITCH is not set | ||
229 | |||
230 | # | ||
231 | # Kernel features | ||
232 | # | ||
233 | # CONFIG_HZ_100 is not set | ||
234 | CONFIG_HZ_250=y | ||
235 | # CONFIG_HZ_300 is not set | ||
236 | # CONFIG_HZ_1000 is not set | ||
237 | CONFIG_HZ=250 | ||
238 | CONFIG_KEXEC=y | ||
239 | # CONFIG_CRASH_DUMP is not set | ||
240 | # CONFIG_PREEMPT_NONE is not set | ||
241 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
242 | CONFIG_PREEMPT=y | ||
243 | CONFIG_PREEMPT_BKL=y | ||
244 | |||
245 | # | ||
246 | # Boot options | ||
247 | # | ||
248 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | ||
249 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | ||
250 | # CONFIG_UBC_WAKEUP is not set | ||
251 | CONFIG_CMDLINE_BOOL=y | ||
252 | CONFIG_CMDLINE="console=ttySC0,115200 ip=192.168.1.2:::255.255.255.0 root=/dev/nfs nfsroot=192.168.1.1:/exports/devel/rfs/mobiler noaliencache earlyprintk=bios ignore_loglevel" | ||
253 | |||
254 | # | ||
255 | # Bus options | ||
256 | # | ||
257 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
258 | |||
259 | # | ||
260 | # PCCARD (PCMCIA/CardBus) support | ||
261 | # | ||
262 | # CONFIG_PCCARD is not set | ||
263 | |||
264 | # | ||
265 | # Executable file formats | ||
266 | # | ||
267 | CONFIG_BINFMT_ELF=y | ||
268 | # CONFIG_BINFMT_MISC is not set | ||
269 | |||
270 | # | ||
271 | # Networking | ||
272 | # | ||
273 | # CONFIG_NET is not set | ||
274 | |||
275 | # | ||
276 | # Device Drivers | ||
277 | # | ||
278 | |||
279 | # | ||
280 | # Generic Driver Options | ||
281 | # | ||
282 | CONFIG_STANDALONE=y | ||
283 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
284 | # CONFIG_FW_LOADER is not set | ||
285 | # CONFIG_DEBUG_DRIVER is not set | ||
286 | # CONFIG_DEBUG_DEVRES is not set | ||
287 | # CONFIG_SYS_HYPERVISOR is not set | ||
288 | |||
289 | # | ||
290 | # Connector - unified userspace <-> kernelspace linker | ||
291 | # | ||
292 | # CONFIG_MTD is not set | ||
293 | |||
294 | # | ||
295 | # Parallel port support | ||
296 | # | ||
297 | # CONFIG_PARPORT is not set | ||
298 | |||
299 | # | ||
300 | # Plug and Play support | ||
301 | # | ||
302 | # CONFIG_PNPACPI is not set | ||
303 | |||
304 | # | ||
305 | # Block devices | ||
306 | # | ||
307 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
308 | # CONFIG_BLK_DEV_LOOP is not set | ||
309 | CONFIG_BLK_DEV_RAM=y | ||
310 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
311 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
312 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
313 | # CONFIG_CDROM_PKTCDVD is not set | ||
314 | |||
315 | # | ||
316 | # Misc devices | ||
317 | # | ||
318 | # CONFIG_BLINK is not set | ||
319 | # CONFIG_IDE is not set | ||
320 | |||
321 | # | ||
322 | # SCSI device support | ||
323 | # | ||
324 | # CONFIG_RAID_ATTRS is not set | ||
325 | CONFIG_SCSI=y | ||
326 | # CONFIG_SCSI_TGT is not set | ||
327 | # CONFIG_SCSI_NETLINK is not set | ||
328 | CONFIG_SCSI_PROC_FS=y | ||
329 | |||
330 | # | ||
331 | # SCSI support type (disk, tape, CD-ROM) | ||
332 | # | ||
333 | CONFIG_BLK_DEV_SD=y | ||
334 | # CONFIG_CHR_DEV_ST is not set | ||
335 | # CONFIG_CHR_DEV_OSST is not set | ||
336 | # CONFIG_BLK_DEV_SR is not set | ||
337 | # CONFIG_CHR_DEV_SG is not set | ||
338 | # CONFIG_CHR_DEV_SCH is not set | ||
339 | |||
340 | # | ||
341 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
342 | # | ||
343 | # CONFIG_SCSI_MULTI_LUN is not set | ||
344 | # CONFIG_SCSI_CONSTANTS is not set | ||
345 | # CONFIG_SCSI_LOGGING is not set | ||
346 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
347 | CONFIG_SCSI_WAIT_SCAN=m | ||
348 | |||
349 | # | ||
350 | # SCSI Transports | ||
351 | # | ||
352 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
353 | # CONFIG_SCSI_FC_ATTRS is not set | ||
354 | # CONFIG_SCSI_SAS_ATTRS is not set | ||
355 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
356 | |||
357 | # | ||
358 | # SCSI low-level drivers | ||
359 | # | ||
360 | # CONFIG_SCSI_DEBUG is not set | ||
361 | CONFIG_ATA=y | ||
362 | # CONFIG_ATA_NONSTANDARD is not set | ||
363 | CONFIG_PATA_PLATFORM=y | ||
364 | |||
365 | # | ||
366 | # Multi-device support (RAID and LVM) | ||
367 | # | ||
368 | # CONFIG_MD is not set | ||
369 | |||
370 | # | ||
371 | # ISDN subsystem | ||
372 | # | ||
373 | |||
374 | # | ||
375 | # Telephony Support | ||
376 | # | ||
377 | # CONFIG_PHONE is not set | ||
378 | |||
379 | # | ||
380 | # Input device support | ||
381 | # | ||
382 | CONFIG_INPUT=y | ||
383 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
384 | |||
385 | # | ||
386 | # Userland interfaces | ||
387 | # | ||
388 | CONFIG_INPUT_MOUSEDEV=y | ||
389 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
390 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
391 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
392 | # CONFIG_INPUT_JOYDEV is not set | ||
393 | # CONFIG_INPUT_TSDEV is not set | ||
394 | # CONFIG_INPUT_EVDEV is not set | ||
395 | # CONFIG_INPUT_EVBUG is not set | ||
396 | |||
397 | # | ||
398 | # Input Device Drivers | ||
399 | # | ||
400 | CONFIG_INPUT_KEYBOARD=y | ||
401 | CONFIG_KEYBOARD_ATKBD=y | ||
402 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
403 | # CONFIG_KEYBOARD_LKKBD is not set | ||
404 | # CONFIG_KEYBOARD_XTKBD is not set | ||
405 | # CONFIG_KEYBOARD_NEWTON is not set | ||
406 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
407 | # CONFIG_INPUT_MOUSE is not set | ||
408 | # CONFIG_INPUT_JOYSTICK is not set | ||
409 | # CONFIG_INPUT_TABLET is not set | ||
410 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
411 | # CONFIG_INPUT_MISC is not set | ||
412 | |||
413 | # | ||
414 | # Hardware I/O ports | ||
415 | # | ||
416 | CONFIG_SERIO=y | ||
417 | # CONFIG_SERIO_I8042 is not set | ||
418 | # CONFIG_SERIO_SERPORT is not set | ||
419 | CONFIG_SERIO_LIBPS2=y | ||
420 | # CONFIG_SERIO_RAW is not set | ||
421 | # CONFIG_GAMEPORT is not set | ||
422 | |||
423 | # | ||
424 | # Character devices | ||
425 | # | ||
426 | # CONFIG_VT is not set | ||
427 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
428 | |||
429 | # | ||
430 | # Serial drivers | ||
431 | # | ||
432 | # CONFIG_SERIAL_8250 is not set | ||
433 | |||
434 | # | ||
435 | # Non-8250 serial port support | ||
436 | # | ||
437 | CONFIG_SERIAL_SH_SCI=y | ||
438 | CONFIG_SERIAL_SH_SCI_NR_UARTS=2 | ||
439 | CONFIG_SERIAL_SH_SCI_CONSOLE=y | ||
440 | CONFIG_SERIAL_CORE=y | ||
441 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
442 | CONFIG_UNIX98_PTYS=y | ||
443 | CONFIG_LEGACY_PTYS=y | ||
444 | CONFIG_LEGACY_PTY_COUNT=256 | ||
445 | |||
446 | # | ||
447 | # IPMI | ||
448 | # | ||
449 | # CONFIG_IPMI_HANDLER is not set | ||
450 | # CONFIG_WATCHDOG is not set | ||
451 | CONFIG_HW_RANDOM=y | ||
452 | # CONFIG_R3964 is not set | ||
453 | # CONFIG_RAW_DRIVER is not set | ||
454 | |||
455 | # | ||
456 | # TPM devices | ||
457 | # | ||
458 | # CONFIG_TCG_TPM is not set | ||
459 | # CONFIG_I2C is not set | ||
460 | |||
461 | # | ||
462 | # SPI support | ||
463 | # | ||
464 | # CONFIG_SPI is not set | ||
465 | # CONFIG_SPI_MASTER is not set | ||
466 | |||
467 | # | ||
468 | # Dallas's 1-wire bus | ||
469 | # | ||
470 | # CONFIG_W1 is not set | ||
471 | # CONFIG_HWMON is not set | ||
472 | |||
473 | # | ||
474 | # Multifunction device drivers | ||
475 | # | ||
476 | # CONFIG_MFD_SM501 is not set | ||
477 | |||
478 | # | ||
479 | # Multimedia devices | ||
480 | # | ||
481 | # CONFIG_VIDEO_DEV is not set | ||
482 | # CONFIG_DAB is not set | ||
483 | |||
484 | # | ||
485 | # Graphics support | ||
486 | # | ||
487 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
488 | |||
489 | # | ||
490 | # Display device support | ||
491 | # | ||
492 | # CONFIG_DISPLAY_SUPPORT is not set | ||
493 | # CONFIG_VGASTATE is not set | ||
494 | # CONFIG_FB is not set | ||
495 | |||
496 | # | ||
497 | # Sound | ||
498 | # | ||
499 | # CONFIG_SOUND is not set | ||
500 | |||
501 | # | ||
502 | # HID Devices | ||
503 | # | ||
504 | # CONFIG_HID is not set | ||
505 | |||
506 | # | ||
507 | # USB support | ||
508 | # | ||
509 | # CONFIG_USB_ARCH_HAS_HCD is not set | ||
510 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
511 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
512 | |||
513 | # | ||
514 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
515 | # | ||
516 | |||
517 | # | ||
518 | # USB Gadget Support | ||
519 | # | ||
520 | # CONFIG_USB_GADGET is not set | ||
521 | # CONFIG_MMC is not set | ||
522 | |||
523 | # | ||
524 | # LED devices | ||
525 | # | ||
526 | # CONFIG_NEW_LEDS is not set | ||
527 | |||
528 | # | ||
529 | # LED drivers | ||
530 | # | ||
531 | |||
532 | # | ||
533 | # LED Triggers | ||
534 | # | ||
535 | |||
536 | # | ||
537 | # InfiniBand support | ||
538 | # | ||
539 | |||
540 | # | ||
541 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | ||
542 | # | ||
543 | |||
544 | # | ||
545 | # Real Time Clock | ||
546 | # | ||
547 | CONFIG_RTC_LIB=y | ||
548 | CONFIG_RTC_CLASS=y | ||
549 | CONFIG_RTC_HCTOSYS=y | ||
550 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
551 | # CONFIG_RTC_DEBUG is not set | ||
552 | |||
553 | # | ||
554 | # RTC interfaces | ||
555 | # | ||
556 | CONFIG_RTC_INTF_SYSFS=y | ||
557 | CONFIG_RTC_INTF_PROC=y | ||
558 | CONFIG_RTC_INTF_DEV=y | ||
559 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
560 | # CONFIG_RTC_DRV_TEST is not set | ||
561 | |||
562 | # | ||
563 | # I2C RTC drivers | ||
564 | # | ||
565 | |||
566 | # | ||
567 | # SPI RTC drivers | ||
568 | # | ||
569 | |||
570 | # | ||
571 | # Platform RTC drivers | ||
572 | # | ||
573 | # CONFIG_RTC_DRV_DS1553 is not set | ||
574 | # CONFIG_RTC_DRV_DS1742 is not set | ||
575 | # CONFIG_RTC_DRV_M48T86 is not set | ||
576 | # CONFIG_RTC_DRV_V3020 is not set | ||
577 | |||
578 | # | ||
579 | # on-CPU RTC drivers | ||
580 | # | ||
581 | CONFIG_RTC_DRV_SH=y | ||
582 | |||
583 | # | ||
584 | # DMA Engine support | ||
585 | # | ||
586 | # CONFIG_DMA_ENGINE is not set | ||
587 | |||
588 | # | ||
589 | # DMA Clients | ||
590 | # | ||
591 | |||
592 | # | ||
593 | # DMA Devices | ||
594 | # | ||
595 | |||
596 | # | ||
597 | # File systems | ||
598 | # | ||
599 | CONFIG_EXT2_FS=y | ||
600 | # CONFIG_EXT2_FS_XATTR is not set | ||
601 | # CONFIG_EXT2_FS_XIP is not set | ||
602 | CONFIG_EXT3_FS=y | ||
603 | CONFIG_EXT3_FS_XATTR=y | ||
604 | # CONFIG_EXT3_FS_POSIX_ACL is not set | ||
605 | # CONFIG_EXT3_FS_SECURITY is not set | ||
606 | # CONFIG_EXT4DEV_FS is not set | ||
607 | CONFIG_JBD=y | ||
608 | # CONFIG_JBD_DEBUG is not set | ||
609 | CONFIG_FS_MBCACHE=y | ||
610 | # CONFIG_REISERFS_FS is not set | ||
611 | # CONFIG_JFS_FS is not set | ||
612 | # CONFIG_FS_POSIX_ACL is not set | ||
613 | # CONFIG_XFS_FS is not set | ||
614 | # CONFIG_GFS2_FS is not set | ||
615 | # CONFIG_MINIX_FS is not set | ||
616 | # CONFIG_ROMFS_FS is not set | ||
617 | CONFIG_INOTIFY=y | ||
618 | CONFIG_INOTIFY_USER=y | ||
619 | # CONFIG_QUOTA is not set | ||
620 | CONFIG_DNOTIFY=y | ||
621 | # CONFIG_AUTOFS_FS is not set | ||
622 | # CONFIG_AUTOFS4_FS is not set | ||
623 | # CONFIG_FUSE_FS is not set | ||
624 | |||
625 | # | ||
626 | # CD-ROM/DVD Filesystems | ||
627 | # | ||
628 | # CONFIG_ISO9660_FS is not set | ||
629 | # CONFIG_UDF_FS is not set | ||
630 | |||
631 | # | ||
632 | # DOS/FAT/NT Filesystems | ||
633 | # | ||
634 | # CONFIG_MSDOS_FS is not set | ||
635 | # CONFIG_VFAT_FS is not set | ||
636 | # CONFIG_NTFS_FS is not set | ||
637 | |||
638 | # | ||
639 | # Pseudo filesystems | ||
640 | # | ||
641 | CONFIG_PROC_FS=y | ||
642 | CONFIG_PROC_KCORE=y | ||
643 | CONFIG_PROC_SYSCTL=y | ||
644 | CONFIG_SYSFS=y | ||
645 | CONFIG_TMPFS=y | ||
646 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
647 | CONFIG_HUGETLBFS=y | ||
648 | CONFIG_HUGETLB_PAGE=y | ||
649 | CONFIG_RAMFS=y | ||
650 | # CONFIG_CONFIGFS_FS is not set | ||
651 | |||
652 | # | ||
653 | # Miscellaneous filesystems | ||
654 | # | ||
655 | # CONFIG_ADFS_FS is not set | ||
656 | # CONFIG_AFFS_FS is not set | ||
657 | # CONFIG_HFS_FS is not set | ||
658 | # CONFIG_HFSPLUS_FS is not set | ||
659 | # CONFIG_BEFS_FS is not set | ||
660 | # CONFIG_BFS_FS is not set | ||
661 | # CONFIG_EFS_FS is not set | ||
662 | # CONFIG_CRAMFS is not set | ||
663 | # CONFIG_VXFS_FS is not set | ||
664 | # CONFIG_HPFS_FS is not set | ||
665 | # CONFIG_QNX4FS_FS is not set | ||
666 | # CONFIG_SYSV_FS is not set | ||
667 | # CONFIG_UFS_FS is not set | ||
668 | |||
669 | # | ||
670 | # Partition Types | ||
671 | # | ||
672 | # CONFIG_PARTITION_ADVANCED is not set | ||
673 | CONFIG_MSDOS_PARTITION=y | ||
674 | |||
675 | # | ||
676 | # Native Language Support | ||
677 | # | ||
678 | # CONFIG_NLS is not set | ||
679 | |||
680 | # | ||
681 | # Profiling support | ||
682 | # | ||
683 | CONFIG_PROFILING=y | ||
684 | # CONFIG_OPROFILE is not set | ||
685 | |||
686 | # | ||
687 | # Kernel hacking | ||
688 | # | ||
689 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
690 | CONFIG_PRINTK_TIME=y | ||
691 | # CONFIG_ENABLE_MUST_CHECK is not set | ||
692 | CONFIG_MAGIC_SYSRQ=y | ||
693 | # CONFIG_UNUSED_SYMBOLS is not set | ||
694 | CONFIG_DEBUG_FS=y | ||
695 | # CONFIG_HEADERS_CHECK is not set | ||
696 | CONFIG_DEBUG_KERNEL=y | ||
697 | # CONFIG_DEBUG_SHIRQ is not set | ||
698 | CONFIG_DETECT_SOFTLOCKUP=y | ||
699 | # CONFIG_SCHEDSTATS is not set | ||
700 | # CONFIG_TIMER_STATS is not set | ||
701 | CONFIG_DEBUG_SLAB=y | ||
702 | CONFIG_DEBUG_SLAB_LEAK=y | ||
703 | CONFIG_DEBUG_PREEMPT=y | ||
704 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
705 | # CONFIG_RT_MUTEX_TESTER is not set | ||
706 | CONFIG_DEBUG_SPINLOCK=y | ||
707 | CONFIG_DEBUG_MUTEXES=y | ||
708 | CONFIG_DEBUG_LOCK_ALLOC=y | ||
709 | # CONFIG_PROVE_LOCKING is not set | ||
710 | CONFIG_LOCKDEP=y | ||
711 | CONFIG_DEBUG_LOCKDEP=y | ||
712 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
713 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
714 | CONFIG_STACKTRACE=y | ||
715 | # CONFIG_DEBUG_KOBJECT is not set | ||
716 | CONFIG_DEBUG_BUGVERBOSE=y | ||
717 | # CONFIG_DEBUG_INFO is not set | ||
718 | CONFIG_DEBUG_VM=y | ||
719 | # CONFIG_DEBUG_LIST is not set | ||
720 | CONFIG_FRAME_POINTER=y | ||
721 | CONFIG_FORCED_INLINING=y | ||
722 | # CONFIG_RCU_TORTURE_TEST is not set | ||
723 | # CONFIG_FAULT_INJECTION is not set | ||
724 | CONFIG_SH_STANDARD_BIOS=y | ||
725 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
726 | CONFIG_EARLY_PRINTK=y | ||
727 | # CONFIG_DEBUG_BOOTMEM is not set | ||
728 | CONFIG_DEBUG_STACKOVERFLOW=y | ||
729 | CONFIG_DEBUG_STACK_USAGE=y | ||
730 | # CONFIG_4KSTACKS is not set | ||
731 | # CONFIG_SH_KGDB is not set | ||
732 | |||
733 | # | ||
734 | # Security options | ||
735 | # | ||
736 | # CONFIG_KEYS is not set | ||
737 | # CONFIG_SECURITY is not set | ||
738 | |||
739 | # | ||
740 | # Cryptographic options | ||
741 | # | ||
742 | # CONFIG_CRYPTO is not set | ||
743 | |||
744 | # | ||
745 | # Library routines | ||
746 | # | ||
747 | CONFIG_BITREVERSE=y | ||
748 | # CONFIG_CRC_CCITT is not set | ||
749 | # CONFIG_CRC16 is not set | ||
750 | # CONFIG_CRC_ITU_T is not set | ||
751 | CONFIG_CRC32=y | ||
752 | # CONFIG_LIBCRC32C is not set | ||
753 | CONFIG_PLIST=y | ||
754 | CONFIG_HAS_IOMEM=y | ||
755 | CONFIG_HAS_IOPORT=y | ||
756 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/sh/drivers/dma/Kconfig b/arch/sh/drivers/dma/Kconfig index 99935f9daf4b..333898077c7c 100644 --- a/arch/sh/drivers/dma/Kconfig +++ b/arch/sh/drivers/dma/Kconfig | |||
@@ -36,23 +36,6 @@ config NR_DMA_CHANNELS | |||
36 | support. Setting this to a higher value allows for cascading DMACs | 36 | support. Setting this to a higher value allows for cascading DMACs |
37 | with additional channels. | 37 | with additional channels. |
38 | 38 | ||
39 | config DMA_PAGE_OPS | ||
40 | bool "Use DMAC for page copy/clear" | ||
41 | depends on SH_DMA && BROKEN | ||
42 | help | ||
43 | Selecting this option will use a dual-address mode configured channel | ||
44 | in the SH DMAC for copy_page()/clear_page(). Primarily a performance | ||
45 | hack. | ||
46 | |||
47 | config DMA_PAGE_OPS_CHANNEL | ||
48 | depends on DMA_PAGE_OPS | ||
49 | int "DMA channel for sh memory-manager page copy/clear" | ||
50 | default "3" | ||
51 | help | ||
52 | This allows the specification of the dual address dma channel, | ||
53 | in case channel 3 is unavailable. On the SH4, channels 1,2, and 3 | ||
54 | are dual-address capable. | ||
55 | |||
56 | config SH_DMABRG | 39 | config SH_DMABRG |
57 | bool "SH7760 DMABRG support" | 40 | bool "SH7760 DMABRG support" |
58 | depends on CPU_SUBTYPE_SH7760 | 41 | depends on CPU_SUBTYPE_SH7760 |
diff --git a/arch/sh/drivers/pci/Kconfig b/arch/sh/drivers/pci/Kconfig index 6d1cbbe6745c..fbc6f2c8649f 100644 --- a/arch/sh/drivers/pci/Kconfig +++ b/arch/sh/drivers/pci/Kconfig | |||
@@ -1,5 +1,6 @@ | |||
1 | config PCI | 1 | config PCI |
2 | bool "PCI support" | 2 | bool "PCI support" |
3 | depends on SYS_SUPPORTS_PCI | ||
3 | help | 4 | help |
4 | Find out whether you have a PCI motherboard. PCI is the name of a | 5 | Find out whether you have a PCI motherboard. PCI is the name of a |
5 | bus system, i.e. the way the CPU talks to the other stuff inside | 6 | bus system, i.e. the way the CPU talks to the other stuff inside |
diff --git a/arch/sh/kernel/Makefile b/arch/sh/kernel/Makefile index 9104b6257644..1f141a8ba17c 100644 --- a/arch/sh/kernel/Makefile +++ b/arch/sh/kernel/Makefile | |||
@@ -4,10 +4,9 @@ | |||
4 | 4 | ||
5 | extra-y := head.o init_task.o vmlinux.lds | 5 | extra-y := head.o init_task.o vmlinux.lds |
6 | 6 | ||
7 | obj-y := process.o signal.o traps.o irq.o \ | 7 | obj-y := debugtraps.o io.o io_generic.o irq.o machvec.o process.o ptrace.o \ |
8 | ptrace.o setup.o time.o sys_sh.o semaphore.o \ | 8 | semaphore.o setup.o signal.o sys_sh.o syscalls.o \ |
9 | io.o io_generic.o sh_ksyms.o syscalls.o \ | 9 | time.o topology.o traps.o |
10 | debugtraps.o | ||
11 | 10 | ||
12 | obj-y += cpu/ timers/ | 11 | obj-y += cpu/ timers/ |
13 | obj-$(CONFIG_VSYSCALL) += vsyscall/ | 12 | obj-$(CONFIG_VSYSCALL) += vsyscall/ |
@@ -17,7 +16,7 @@ obj-$(CONFIG_CF_ENABLER) += cf-enabler.o | |||
17 | obj-$(CONFIG_SH_STANDARD_BIOS) += sh_bios.o | 16 | obj-$(CONFIG_SH_STANDARD_BIOS) += sh_bios.o |
18 | obj-$(CONFIG_SH_KGDB) += kgdb_stub.o kgdb_jmp.o | 17 | obj-$(CONFIG_SH_KGDB) += kgdb_stub.o kgdb_jmp.o |
19 | obj-$(CONFIG_SH_CPU_FREQ) += cpufreq.o | 18 | obj-$(CONFIG_SH_CPU_FREQ) += cpufreq.o |
20 | obj-$(CONFIG_MODULES) += module.o | 19 | obj-$(CONFIG_MODULES) += sh_ksyms.o module.o |
21 | obj-$(CONFIG_EARLY_PRINTK) += early_printk.o | 20 | obj-$(CONFIG_EARLY_PRINTK) += early_printk.o |
22 | obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o | 21 | obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o |
23 | obj-$(CONFIG_CRASH_DUMP) += crash_dump.o | 22 | obj-$(CONFIG_CRASH_DUMP) += crash_dump.o |
diff --git a/arch/sh/kernel/cf-enabler.c b/arch/sh/kernel/cf-enabler.c index ebc73b85094a..1c3b99642e1c 100644 --- a/arch/sh/kernel/cf-enabler.c +++ b/arch/sh/kernel/cf-enabler.c | |||
@@ -75,11 +75,7 @@ static int __init cf_init_default(void) | |||
75 | #if defined(CONFIG_CPU_SH4) | 75 | #if defined(CONFIG_CPU_SH4) |
76 | allocate_cf_area(); | 76 | allocate_cf_area(); |
77 | #endif | 77 | #endif |
78 | #if defined(CONFIG_SH_UNKNOWN) | 78 | |
79 | /* This should be done in each board's init_xxx_irq. */ | ||
80 | make_imask_irq(14); | ||
81 | disable_irq(14); | ||
82 | #endif | ||
83 | return 0; | 79 | return 0; |
84 | } | 80 | } |
85 | 81 | ||
diff --git a/arch/sh/kernel/cpu/init.c b/arch/sh/kernel/cpu/init.c index 6451ad630174..9172e97dc26a 100644 --- a/arch/sh/kernel/cpu/init.c +++ b/arch/sh/kernel/cpu/init.c | |||
@@ -21,8 +21,7 @@ | |||
21 | #include <asm/cacheflush.h> | 21 | #include <asm/cacheflush.h> |
22 | #include <asm/cache.h> | 22 | #include <asm/cache.h> |
23 | #include <asm/io.h> | 23 | #include <asm/io.h> |
24 | 24 | #include <asm/ubc.h> | |
25 | extern void detect_cpu_and_cache_system(void); | ||
26 | 25 | ||
27 | /* | 26 | /* |
28 | * Generic wrapper for command line arguments to disable on-chip | 27 | * Generic wrapper for command line arguments to disable on-chip |
@@ -152,15 +151,6 @@ static void __init cache_init(void) | |||
152 | flags |= CCR_CACHE_CB; | 151 | flags |= CCR_CACHE_CB; |
153 | #endif | 152 | #endif |
154 | 153 | ||
155 | #ifdef CONFIG_SH_OCRAM | ||
156 | /* Turn on OCRAM -- halve the OC */ | ||
157 | flags |= CCR_CACHE_ORA; | ||
158 | current_cpu_data.dcache.sets >>= 1; | ||
159 | |||
160 | current_cpu_data.dcache.way_size = current_cpu_data.dcache.sets * | ||
161 | current_cpu_data.dcache.linesz; | ||
162 | #endif | ||
163 | |||
164 | ctrl_outl(flags, CCR); | 154 | ctrl_outl(flags, CCR); |
165 | back_to_P1(); | 155 | back_to_P1(); |
166 | } | 156 | } |
@@ -269,7 +259,6 @@ asmlinkage void __init sh_cpu_init(void) | |||
269 | } | 259 | } |
270 | #endif | 260 | #endif |
271 | 261 | ||
272 | #ifdef CONFIG_UBC_WAKEUP | ||
273 | /* | 262 | /* |
274 | * Some brain-damaged loaders decided it would be a good idea to put | 263 | * Some brain-damaged loaders decided it would be a good idea to put |
275 | * the UBC to sleep. This causes some issues when it comes to things | 264 | * the UBC to sleep. This causes some issues when it comes to things |
@@ -277,7 +266,5 @@ asmlinkage void __init sh_cpu_init(void) | |||
277 | * we wake it up and hope that all is well. | 266 | * we wake it up and hope that all is well. |
278 | */ | 267 | */ |
279 | ubc_wakeup(); | 268 | ubc_wakeup(); |
280 | #endif | ||
281 | |||
282 | speculative_execution_init(); | 269 | speculative_execution_init(); |
283 | } | 270 | } |
diff --git a/arch/sh/kernel/cpu/irq/intc2.c b/arch/sh/kernel/cpu/irq/intc2.c index d8e22f4ff0f0..cc5221390e09 100644 --- a/arch/sh/kernel/cpu/irq/intc2.c +++ b/arch/sh/kernel/cpu/irq/intc2.c | |||
@@ -13,36 +13,31 @@ | |||
13 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
14 | #include <linux/interrupt.h> | 14 | #include <linux/interrupt.h> |
15 | #include <linux/io.h> | 15 | #include <linux/io.h> |
16 | #include <asm/smp.h> | ||
16 | 17 | ||
17 | #if defined(CONFIG_CPU_SUBTYPE_SH7760) | 18 | static inline struct intc2_desc *get_intc2_desc(unsigned int irq) |
18 | #define INTC2_BASE 0xfe080000 | 19 | { |
19 | #define INTC2_INTMSK (INTC2_BASE + 0x40) | 20 | struct irq_chip *chip = get_irq_chip(irq); |
20 | #define INTC2_INTMSKCLR (INTC2_BASE + 0x60) | 21 | return (void *)((char *)chip - offsetof(struct intc2_desc, chip)); |
21 | #elif defined(CONFIG_CPU_SUBTYPE_SH7780) || \ | 22 | } |
22 | defined(CONFIG_CPU_SUBTYPE_SH7785) | ||
23 | #define INTC2_BASE 0xffd40000 | ||
24 | #define INTC2_INTMSK (INTC2_BASE + 0x38) | ||
25 | #define INTC2_INTMSKCLR (INTC2_BASE + 0x3c) | ||
26 | #endif | ||
27 | 23 | ||
28 | static void disable_intc2_irq(unsigned int irq) | 24 | static void disable_intc2_irq(unsigned int irq) |
29 | { | 25 | { |
30 | struct intc2_data *p = get_irq_chip_data(irq); | 26 | struct intc2_data *p = get_irq_chip_data(irq); |
31 | ctrl_outl(1 << p->msk_shift, INTC2_INTMSK + p->msk_offset); | 27 | struct intc2_desc *d = get_intc2_desc(irq); |
28 | |||
29 | ctrl_outl(1 << p->msk_shift, d->msk_base + p->msk_offset + | ||
30 | (hard_smp_processor_id() * 4)); | ||
32 | } | 31 | } |
33 | 32 | ||
34 | static void enable_intc2_irq(unsigned int irq) | 33 | static void enable_intc2_irq(unsigned int irq) |
35 | { | 34 | { |
36 | struct intc2_data *p = get_irq_chip_data(irq); | 35 | struct intc2_data *p = get_irq_chip_data(irq); |
37 | ctrl_outl(1 << p->msk_shift, INTC2_INTMSKCLR + p->msk_offset); | 36 | struct intc2_desc *d = get_intc2_desc(irq); |
38 | } | ||
39 | 37 | ||
40 | static struct irq_chip intc2_irq_chip = { | 38 | ctrl_outl(1 << p->msk_shift, d->mskclr_base + p->msk_offset + |
41 | .name = "INTC2", | 39 | (hard_smp_processor_id() * 4)); |
42 | .mask = disable_intc2_irq, | 40 | } |
43 | .unmask = enable_intc2_irq, | ||
44 | .mask_ack = disable_intc2_irq, | ||
45 | }; | ||
46 | 41 | ||
47 | /* | 42 | /* |
48 | * Setup an INTC2 style interrupt. | 43 | * Setup an INTC2 style interrupt. |
@@ -56,30 +51,36 @@ static struct irq_chip intc2_irq_chip = { | |||
56 | * | 51 | * |
57 | * in the intc2_data table. | 52 | * in the intc2_data table. |
58 | */ | 53 | */ |
59 | void make_intc2_irq(struct intc2_data *table, unsigned int nr_irqs) | 54 | void register_intc2_controller(struct intc2_desc *desc) |
60 | { | 55 | { |
61 | int i; | 56 | int i; |
62 | 57 | ||
63 | for (i = 0; i < nr_irqs; i++) { | 58 | desc->chip.mask = disable_intc2_irq; |
59 | desc->chip.unmask = enable_intc2_irq; | ||
60 | desc->chip.mask_ack = disable_intc2_irq; | ||
61 | |||
62 | for (i = 0; i < desc->nr_irqs; i++) { | ||
64 | unsigned long ipr, flags; | 63 | unsigned long ipr, flags; |
65 | struct intc2_data *p = table + i; | 64 | struct intc2_data *p = desc->intc2_data + i; |
66 | 65 | ||
67 | disable_irq_nosync(p->irq); | 66 | disable_irq_nosync(p->irq); |
68 | 67 | ||
69 | /* Set the priority level */ | 68 | if (desc->prio_base) { |
70 | local_irq_save(flags); | 69 | /* Set the priority level */ |
70 | local_irq_save(flags); | ||
71 | 71 | ||
72 | ipr = ctrl_inl(INTC2_BASE + p->ipr_offset); | 72 | ipr = ctrl_inl(desc->prio_base + p->ipr_offset); |
73 | ipr &= ~(0xf << p->ipr_shift); | 73 | ipr &= ~(0xf << p->ipr_shift); |
74 | ipr |= p->priority << p->ipr_shift; | 74 | ipr |= p->priority << p->ipr_shift; |
75 | ctrl_outl(ipr, INTC2_BASE + p->ipr_offset); | 75 | ctrl_outl(ipr, desc->prio_base + p->ipr_offset); |
76 | 76 | ||
77 | local_irq_restore(flags); | 77 | local_irq_restore(flags); |
78 | } | ||
78 | 79 | ||
79 | set_irq_chip_and_handler_name(p->irq, &intc2_irq_chip, | 80 | set_irq_chip_and_handler_name(p->irq, &desc->chip, |
80 | handle_level_irq, "level"); | 81 | handle_level_irq, "level"); |
81 | set_irq_chip_data(p->irq, p); | 82 | set_irq_chip_data(p->irq, p); |
82 | 83 | ||
83 | enable_intc2_irq(p->irq); | 84 | disable_intc2_irq(p->irq); |
84 | } | 85 | } |
85 | } | 86 | } |
diff --git a/arch/sh/kernel/cpu/irq/ipr.c b/arch/sh/kernel/cpu/irq/ipr.c index 210280b6fddf..98e84f40c713 100644 --- a/arch/sh/kernel/cpu/irq/ipr.c +++ b/arch/sh/kernel/cpu/irq/ipr.c | |||
@@ -22,58 +22,57 @@ | |||
22 | #include <linux/io.h> | 22 | #include <linux/io.h> |
23 | #include <linux/interrupt.h> | 23 | #include <linux/interrupt.h> |
24 | 24 | ||
25 | static inline struct ipr_desc *get_ipr_desc(unsigned int irq) | ||
26 | { | ||
27 | struct irq_chip *chip = get_irq_chip(irq); | ||
28 | return (void *)((char *)chip - offsetof(struct ipr_desc, chip)); | ||
29 | } | ||
30 | |||
25 | static void disable_ipr_irq(unsigned int irq) | 31 | static void disable_ipr_irq(unsigned int irq) |
26 | { | 32 | { |
27 | struct ipr_data *p = get_irq_chip_data(irq); | 33 | struct ipr_data *p = get_irq_chip_data(irq); |
34 | unsigned long addr = get_ipr_desc(irq)->ipr_offsets[p->ipr_idx]; | ||
28 | /* Set the priority in IPR to 0 */ | 35 | /* Set the priority in IPR to 0 */ |
29 | ctrl_outw(ctrl_inw(p->addr) & (0xffff ^ (0xf << p->shift)), p->addr); | 36 | ctrl_outw(ctrl_inw(addr) & (0xffff ^ (0xf << p->shift)), addr); |
30 | } | 37 | } |
31 | 38 | ||
32 | static void enable_ipr_irq(unsigned int irq) | 39 | static void enable_ipr_irq(unsigned int irq) |
33 | { | 40 | { |
34 | struct ipr_data *p = get_irq_chip_data(irq); | 41 | struct ipr_data *p = get_irq_chip_data(irq); |
42 | unsigned long addr = get_ipr_desc(irq)->ipr_offsets[p->ipr_idx]; | ||
35 | /* Set priority in IPR back to original value */ | 43 | /* Set priority in IPR back to original value */ |
36 | ctrl_outw(ctrl_inw(p->addr) | (p->priority << p->shift), p->addr); | 44 | ctrl_outw(ctrl_inw(addr) | (p->priority << p->shift), addr); |
37 | } | 45 | } |
38 | 46 | ||
39 | static struct irq_chip ipr_irq_chip = { | 47 | /* |
40 | .name = "IPR", | 48 | * The shift value is now the number of bits to shift, not the number of |
41 | .mask = disable_ipr_irq, | 49 | * bits/4. This is to make it easier to read the value directly from the |
42 | .unmask = enable_ipr_irq, | 50 | * datasheets. The IPR address is calculated using the ipr_offset table. |
43 | .mask_ack = disable_ipr_irq, | 51 | */ |
44 | }; | ||
45 | |||
46 | unsigned int map_ipridx_to_addr(int idx) __attribute__ ((weak)); | ||
47 | unsigned int map_ipridx_to_addr(int idx) | ||
48 | { | ||
49 | return 0; | ||
50 | } | ||
51 | 52 | ||
52 | void make_ipr_irq(struct ipr_data *table, unsigned int nr_irqs) | 53 | void register_ipr_controller(struct ipr_desc *desc) |
53 | { | 54 | { |
54 | int i; | 55 | int i; |
55 | 56 | ||
56 | for (i = 0; i < nr_irqs; i++) { | 57 | desc->chip.mask = disable_ipr_irq; |
57 | unsigned int irq = table[i].irq; | 58 | desc->chip.unmask = enable_ipr_irq; |
59 | desc->chip.mask_ack = disable_ipr_irq; | ||
58 | 60 | ||
59 | if (!irq) | 61 | for (i = 0; i < desc->nr_irqs; i++) { |
60 | irq = table[i].irq = i; | 62 | struct ipr_data *p = desc->ipr_data + i; |
61 | 63 | ||
62 | /* could the IPR index be mapped, if not we ignore this */ | 64 | BUG_ON(p->ipr_idx >= desc->nr_offsets); |
63 | if (!table[i].addr) { | 65 | BUG_ON(!desc->ipr_offsets[p->ipr_idx]); |
64 | table[i].addr = map_ipridx_to_addr(table[i].ipr_idx); | ||
65 | if (!table[i].addr) | ||
66 | continue; | ||
67 | } | ||
68 | 66 | ||
69 | disable_irq_nosync(irq); | 67 | disable_irq_nosync(p->irq); |
70 | set_irq_chip_and_handler_name(irq, &ipr_irq_chip, | 68 | set_irq_chip_and_handler_name(p->irq, &desc->chip, |
71 | handle_level_irq, "level"); | 69 | handle_level_irq, "level"); |
72 | set_irq_chip_data(irq, &table[i]); | 70 | set_irq_chip_data(p->irq, p); |
73 | enable_ipr_irq(irq); | 71 | disable_ipr_irq(p->irq); |
74 | } | 72 | } |
75 | } | 73 | } |
76 | EXPORT_SYMBOL(make_ipr_irq); | 74 | |
75 | EXPORT_SYMBOL(register_ipr_controller); | ||
77 | 76 | ||
78 | #if !defined(CONFIG_CPU_HAS_PINT_IRQ) | 77 | #if !defined(CONFIG_CPU_HAS_PINT_IRQ) |
79 | int ipr_irq_demux(int irq) | 78 | int ipr_irq_demux(int irq) |
diff --git a/arch/sh/kernel/cpu/sh2/entry.S b/arch/sh/kernel/cpu/sh2/entry.S index c16dc8fec489..ee8f1fe84b08 100644 --- a/arch/sh/kernel/cpu/sh2/entry.S +++ b/arch/sh/kernel/cpu/sh2/entry.S | |||
@@ -311,6 +311,7 @@ restore_all: | |||
311 | rte | 311 | rte |
312 | nop | 312 | nop |
313 | 313 | ||
314 | .align 2 | ||
314 | #ifdef CONFIG_TRACE_IRQFLAGS | 315 | #ifdef CONFIG_TRACE_IRQFLAGS |
315 | 1: .long trace_hardirqs_off | 316 | 1: .long trace_hardirqs_off |
316 | #endif | 317 | #endif |
diff --git a/arch/sh/kernel/cpu/sh2/probe.c b/arch/sh/kernel/cpu/sh2/probe.c index 108e81b682ed..abbf17427e52 100644 --- a/arch/sh/kernel/cpu/sh2/probe.c +++ b/arch/sh/kernel/cpu/sh2/probe.c | |||
@@ -9,23 +9,14 @@ | |||
9 | * License. See the file "COPYING" in the main directory of this archive | 9 | * License. See the file "COPYING" in the main directory of this archive |
10 | * for more details. | 10 | * for more details. |
11 | */ | 11 | */ |
12 | |||
13 | |||
14 | #include <linux/init.h> | 12 | #include <linux/init.h> |
13 | #include <linux/smp.h> | ||
15 | #include <asm/processor.h> | 14 | #include <asm/processor.h> |
16 | #include <asm/cache.h> | 15 | #include <asm/cache.h> |
17 | 16 | ||
18 | int __init detect_cpu_and_cache_system(void) | 17 | int __init detect_cpu_and_cache_system(void) |
19 | { | 18 | { |
20 | #if defined(CONFIG_CPU_SUBTYPE_SH7604) | 19 | #if defined(CONFIG_CPU_SUBTYPE_SH7619) |
21 | current_cpu_data.type = CPU_SH7604; | ||
22 | current_cpu_data.dcache.ways = 4; | ||
23 | current_cpu_data.dcache.way_incr = (1<<10); | ||
24 | current_cpu_data.dcache.sets = 64; | ||
25 | current_cpu_data.dcache.entry_shift = 4; | ||
26 | current_cpu_data.dcache.linesz = L1_CACHE_BYTES; | ||
27 | current_cpu_data.dcache.flags = 0; | ||
28 | #elif defined(CONFIG_CPU_SUBTYPE_SH7619) | ||
29 | current_cpu_data.type = CPU_SH7619; | 20 | current_cpu_data.type = CPU_SH7619; |
30 | current_cpu_data.dcache.ways = 4; | 21 | current_cpu_data.dcache.ways = 4; |
31 | current_cpu_data.dcache.way_incr = (1<<12); | 22 | current_cpu_data.dcache.way_incr = (1<<12); |
diff --git a/arch/sh/kernel/cpu/sh2/setup-sh7619.c b/arch/sh/kernel/cpu/sh2/setup-sh7619.c index f83ff8a68f35..1a107fe22dde 100644 --- a/arch/sh/kernel/cpu/sh2/setup-sh7619.c +++ b/arch/sh/kernel/cpu/sh2/setup-sh7619.c | |||
@@ -52,7 +52,7 @@ static int __init sh7619_devices_setup(void) | |||
52 | } | 52 | } |
53 | __initcall(sh7619_devices_setup); | 53 | __initcall(sh7619_devices_setup); |
54 | 54 | ||
55 | static struct ipr_data sh7619_ipr_map[] = { | 55 | static struct ipr_data ipr_irq_table[] = { |
56 | { 86, 0, 4, 2 }, /* CMI0 */ | 56 | { 86, 0, 4, 2 }, /* CMI0 */ |
57 | { 88, 1, 12, 3 }, /* SCIF0_ERI */ | 57 | { 88, 1, 12, 3 }, /* SCIF0_ERI */ |
58 | { 89, 1, 12, 3 }, /* SCIF0_RXI */ | 58 | { 89, 1, 12, 3 }, /* SCIF0_RXI */ |
@@ -68,7 +68,7 @@ static struct ipr_data sh7619_ipr_map[] = { | |||
68 | { 99, 1, 4, 3 }, /* SCIF2_TXI */ | 68 | { 99, 1, 4, 3 }, /* SCIF2_TXI */ |
69 | }; | 69 | }; |
70 | 70 | ||
71 | static unsigned int ipr_offsets[] = { | 71 | static unsigned long ipr_offsets[] = { |
72 | 0xf8080000, /* IPRC */ | 72 | 0xf8080000, /* IPRC */ |
73 | 0xf8080002, /* IPRD */ | 73 | 0xf8080002, /* IPRD */ |
74 | 0xf8080004, /* IPRE */ | 74 | 0xf8080004, /* IPRE */ |
@@ -76,15 +76,19 @@ static unsigned int ipr_offsets[] = { | |||
76 | 0xf8080008, /* IPRG */ | 76 | 0xf8080008, /* IPRG */ |
77 | }; | 77 | }; |
78 | 78 | ||
79 | /* given the IPR index return the address of the IPR register */ | 79 | static struct ipr_desc ipr_irq_desc = { |
80 | unsigned int map_ipridx_to_addr(int idx) | 80 | .ipr_offsets = ipr_offsets, |
81 | { | 81 | .nr_offsets = ARRAY_SIZE(ipr_offsets), |
82 | if (unlikely(idx >= ARRAY_SIZE(ipr_offsets))) | 82 | |
83 | return 0; | 83 | .ipr_data = ipr_irq_table, |
84 | return ipr_offsets[idx]; | 84 | .nr_irqs = ARRAY_SIZE(ipr_irq_table), |
85 | } | 85 | |
86 | .chip = { | ||
87 | .name = "IPR-sh7619", | ||
88 | }, | ||
89 | }; | ||
86 | 90 | ||
87 | void __init init_IRQ_ipr(void) | 91 | void __init init_IRQ_ipr(void) |
88 | { | 92 | { |
89 | make_ipr_irq(sh7619_ipr_map, ARRAY_SIZE(sh7619_ipr_map)); | 93 | register_ipr_controller(&ipr_irq_desc); |
90 | } | 94 | } |
diff --git a/arch/sh/kernel/cpu/sh2a/setup-sh7206.c b/arch/sh/kernel/cpu/sh2a/setup-sh7206.c index 4ed9110632bc..b6e3a6351fa6 100644 --- a/arch/sh/kernel/cpu/sh2a/setup-sh7206.c +++ b/arch/sh/kernel/cpu/sh2a/setup-sh7206.c | |||
@@ -57,7 +57,7 @@ static int __init sh7206_devices_setup(void) | |||
57 | } | 57 | } |
58 | __initcall(sh7206_devices_setup); | 58 | __initcall(sh7206_devices_setup); |
59 | 59 | ||
60 | static struct ipr_data sh7206_ipr_map[] = { | 60 | static struct ipr_data ipr_irq_table[] = { |
61 | { 140, 7, 12, 2 }, /* CMI0 */ | 61 | { 140, 7, 12, 2 }, /* CMI0 */ |
62 | { 164, 8, 4, 2 }, /* MTU2_TGI1A */ | 62 | { 164, 8, 4, 2 }, /* MTU2_TGI1A */ |
63 | { 240, 13, 12, 3 }, /* SCIF0_BRI */ | 63 | { 240, 13, 12, 3 }, /* SCIF0_BRI */ |
@@ -78,7 +78,7 @@ static struct ipr_data sh7206_ipr_map[] = { | |||
78 | { 255, 13, 0, 3 }, /* SCIF3_TXI */ | 78 | { 255, 13, 0, 3 }, /* SCIF3_TXI */ |
79 | }; | 79 | }; |
80 | 80 | ||
81 | static unsigned int ipr_offsets[] = { | 81 | static unsigned long ipr_offsets[] = { |
82 | 0xfffe0818, /* IPR01 */ | 82 | 0xfffe0818, /* IPR01 */ |
83 | 0xfffe081a, /* IPR02 */ | 83 | 0xfffe081a, /* IPR02 */ |
84 | 0, /* unused */ | 84 | 0, /* unused */ |
@@ -95,15 +95,19 @@ static unsigned int ipr_offsets[] = { | |||
95 | 0xfffe0c10, /* IPR14 */ | 95 | 0xfffe0c10, /* IPR14 */ |
96 | }; | 96 | }; |
97 | 97 | ||
98 | /* given the IPR index return the address of the IPR register */ | 98 | static struct ipr_desc ipr_irq_desc = { |
99 | unsigned int map_ipridx_to_addr(int idx) | 99 | .ipr_offsets = ipr_offsets, |
100 | { | 100 | .nr_offsets = ARRAY_SIZE(ipr_offsets), |
101 | if (unlikely(idx >= ARRAY_SIZE(ipr_offsets))) | 101 | |
102 | return 0; | 102 | .ipr_data = ipr_irq_table, |
103 | return ipr_offsets[idx]; | 103 | .nr_irqs = ARRAY_SIZE(ipr_irq_table), |
104 | } | 104 | |
105 | .chip = { | ||
106 | .name = "IPR-sh7206", | ||
107 | }, | ||
108 | }; | ||
105 | 109 | ||
106 | void __init init_IRQ_ipr(void) | 110 | void __init init_IRQ_ipr(void) |
107 | { | 111 | { |
108 | make_ipr_irq(sh7206_ipr_map, ARRAY_SIZE(sh7206_ipr_map)); | 112 | register_ipr_controller(&ipr_irq_desc); |
109 | } | 113 | } |
diff --git a/arch/sh/kernel/cpu/sh3/entry.S b/arch/sh/kernel/cpu/sh3/entry.S index b0b59d4a33ca..d8e122971c3e 100644 --- a/arch/sh/kernel/cpu/sh3/entry.S +++ b/arch/sh/kernel/cpu/sh3/entry.S | |||
@@ -340,8 +340,27 @@ ENTRY(vbr_base) | |||
340 | general_exception: | 340 | general_exception: |
341 | mov.l 1f, k2 | 341 | mov.l 1f, k2 |
342 | mov.l 2f, k3 | 342 | mov.l 2f, k3 |
343 | #ifdef CONFIG_CPU_SUBTYPE_SHX3 | ||
344 | mov.l @k2, k2 | ||
345 | |||
346 | ! Is EXPEVT larger than 0x800? | ||
347 | mov #0x8, k0 | ||
348 | shll8 k0 | ||
349 | cmp/hs k0, k2 | ||
350 | bf 0f | ||
351 | |||
352 | ! then add 0x580 (k2 is 0xd80 or 0xda0) | ||
353 | mov #0x58, k0 | ||
354 | shll2 k0 | ||
355 | shll2 k0 | ||
356 | add k0, k2 | ||
357 | 0: | ||
358 | bra handle_exception | ||
359 | nop | ||
360 | #else | ||
343 | bra handle_exception | 361 | bra handle_exception |
344 | mov.l @k2, k2 | 362 | mov.l @k2, k2 |
363 | #endif | ||
345 | .align 2 | 364 | .align 2 |
346 | 1: .long EXPEVT | 365 | 1: .long EXPEVT |
347 | 2: .long ret_from_exception | 366 | 2: .long ret_from_exception |
diff --git a/arch/sh/kernel/cpu/sh3/setup-sh7705.c b/arch/sh/kernel/cpu/sh3/setup-sh7705.c index 1983fb7ad6ea..a55b8ce2c54c 100644 --- a/arch/sh/kernel/cpu/sh3/setup-sh7705.c +++ b/arch/sh/kernel/cpu/sh3/setup-sh7705.c | |||
@@ -48,7 +48,7 @@ static int __init sh7705_devices_setup(void) | |||
48 | } | 48 | } |
49 | __initcall(sh7705_devices_setup); | 49 | __initcall(sh7705_devices_setup); |
50 | 50 | ||
51 | static struct ipr_data sh7705_ipr_map[] = { | 51 | static struct ipr_data ipr_irq_table[] = { |
52 | /* IRQ, IPR-idx, shift, priority */ | 52 | /* IRQ, IPR-idx, shift, priority */ |
53 | { 16, 0, 12, 2 }, /* TMU0 TUNI*/ | 53 | { 16, 0, 12, 2 }, /* TMU0 TUNI*/ |
54 | { 17, 0, 8, 2 }, /* TMU1 TUNI */ | 54 | { 17, 0, 8, 2 }, /* TMU1 TUNI */ |
@@ -70,25 +70,29 @@ static struct ipr_data sh7705_ipr_map[] = { | |||
70 | }; | 70 | }; |
71 | 71 | ||
72 | static unsigned long ipr_offsets[] = { | 72 | static unsigned long ipr_offsets[] = { |
73 | 0xFFFFFEE2 /* 0: IPRA */ | 73 | 0xFFFFFEE2, /* 0: IPRA */ |
74 | , 0xFFFFFEE4 /* 1: IPRB */ | 74 | 0xFFFFFEE4, /* 1: IPRB */ |
75 | , 0xA4000016 /* 2: IPRC */ | 75 | 0xA4000016, /* 2: IPRC */ |
76 | , 0xA4000018 /* 3: IPRD */ | 76 | 0xA4000018, /* 3: IPRD */ |
77 | , 0xA400001A /* 4: IPRE */ | 77 | 0xA400001A, /* 4: IPRE */ |
78 | , 0xA4080000 /* 5: IPRF */ | 78 | 0xA4080000, /* 5: IPRF */ |
79 | , 0xA4080002 /* 6: IPRG */ | 79 | 0xA4080002, /* 6: IPRG */ |
80 | , 0xA4080004 /* 7: IPRH */ | 80 | 0xA4080004, /* 7: IPRH */ |
81 | }; | 81 | }; |
82 | 82 | ||
83 | /* given the IPR index return the address of the IPR register */ | 83 | static struct ipr_desc ipr_irq_desc = { |
84 | unsigned int map_ipridx_to_addr(int idx) | 84 | .ipr_offsets = ipr_offsets, |
85 | { | 85 | .nr_offsets = ARRAY_SIZE(ipr_offsets), |
86 | if (idx >= ARRAY_SIZE(ipr_offsets)) | 86 | |
87 | return 0; | 87 | .ipr_data = ipr_irq_table, |
88 | return ipr_offsets[idx]; | 88 | .nr_irqs = ARRAY_SIZE(ipr_irq_table), |
89 | } | 89 | |
90 | .chip = { | ||
91 | .name = "IPR-sh7705", | ||
92 | }, | ||
93 | }; | ||
90 | 94 | ||
91 | void __init init_IRQ_ipr() | 95 | void __init init_IRQ_ipr(void) |
92 | { | 96 | { |
93 | make_ipr_irq(sh7705_ipr_map, ARRAY_SIZE(sh7705_ipr_map)); | 97 | register_ipr_controller(&ipr_irq_desc); |
94 | } | 98 | } |
diff --git a/arch/sh/kernel/cpu/sh3/setup-sh7709.c b/arch/sh/kernel/cpu/sh3/setup-sh7709.c index c7d7c35fc834..d79ec0c0522f 100644 --- a/arch/sh/kernel/cpu/sh3/setup-sh7709.c +++ b/arch/sh/kernel/cpu/sh3/setup-sh7709.c | |||
@@ -12,6 +12,26 @@ | |||
12 | #include <linux/serial.h> | 12 | #include <linux/serial.h> |
13 | #include <asm/sci.h> | 13 | #include <asm/sci.h> |
14 | 14 | ||
15 | static struct resource rtc_resources[] = { | ||
16 | [0] = { | ||
17 | .start = 0xfffffec0, | ||
18 | .end = 0xfffffec0 + 0x1e, | ||
19 | .flags = IORESOURCE_IO, | ||
20 | }, | ||
21 | [1] = { | ||
22 | .start = 20, | ||
23 | .flags = IORESOURCE_IRQ, | ||
24 | }, | ||
25 | [2] = { | ||
26 | .start = 21, | ||
27 | .flags = IORESOURCE_IRQ, | ||
28 | }, | ||
29 | [3] = { | ||
30 | .start = 22, | ||
31 | .flags = IORESOURCE_IRQ, | ||
32 | }, | ||
33 | }; | ||
34 | |||
15 | static struct plat_sci_port sci_platform_data[] = { | 35 | static struct plat_sci_port sci_platform_data[] = { |
16 | { | 36 | { |
17 | .mapbase = 0xfffffe80, | 37 | .mapbase = 0xfffffe80, |
@@ -41,8 +61,16 @@ static struct platform_device sci_device = { | |||
41 | }, | 61 | }, |
42 | }; | 62 | }; |
43 | 63 | ||
64 | static struct platform_device rtc_device = { | ||
65 | .name = "sh-rtc", | ||
66 | .id = -1, | ||
67 | .num_resources = ARRAY_SIZE(rtc_resources), | ||
68 | .resource = rtc_resources, | ||
69 | }; | ||
70 | |||
44 | static struct platform_device *sh7709_devices[] __initdata = { | 71 | static struct platform_device *sh7709_devices[] __initdata = { |
45 | &sci_device, | 72 | &sci_device, |
73 | &rtc_device, | ||
46 | }; | 74 | }; |
47 | 75 | ||
48 | static int __init sh7709_devices_setup(void) | 76 | static int __init sh7709_devices_setup(void) |
@@ -52,32 +80,66 @@ static int __init sh7709_devices_setup(void) | |||
52 | } | 80 | } |
53 | __initcall(sh7709_devices_setup); | 81 | __initcall(sh7709_devices_setup); |
54 | 82 | ||
55 | #define IPRx(A,N) .addr=A, .shift=N | 83 | static struct ipr_data ipr_irq_table[] = { |
56 | #define IPRA(N) IPRx(0xfffffee2UL,N) | 84 | { 16, 0, 12, 2 }, /* TMU TUNI0 */ |
57 | #define IPRB(N) IPRx(0xfffffee4UL,N) | 85 | { 17, 0, 8, 4 }, /* TMU TUNI1 */ |
58 | #define IPRC(N) IPRx(0xa4000016UL,N) | 86 | { 18, 0, 4, 1 }, /* TMU TUNI1 */ |
59 | #define IPRD(N) IPRx(0xa4000018UL,N) | 87 | { 19, 0, 4, 1 }, /* TMU TUNI1 */ |
60 | #define IPRE(N) IPRx(0xa400001aUL,N) | 88 | { 20, 0, 0, 2 }, /* RTC CUI */ |
61 | 89 | { 21, 0, 0, 2 }, /* RTC CUI */ | |
62 | static struct ipr_data sh7709_ipr_map[] = { | 90 | { 22, 0, 0, 2 }, /* RTC CUI */ |
63 | [16] = { IPRA(12), 2 }, /* TMU TUNI0 */ | 91 | |
64 | [17] = { IPRA(8), 4 }, /* TMU TUNI1 */ | 92 | { 23, 1, 4, 3 }, /* SCI */ |
65 | [18 ... 19] = { IPRA(4), 1 }, /* TMU TUNI1 */ | 93 | { 24, 1, 4, 3 }, /* SCI */ |
66 | [20 ... 22] = { IPRA(0), 2 }, /* RTC CUI */ | 94 | { 25, 1, 4, 3 }, /* SCI */ |
67 | [23 ... 26] = { IPRB(4), 3 }, /* SCI */ | 95 | { 26, 1, 4, 3 }, /* SCI */ |
68 | [27] = { IPRB(12), 2 }, /* WDT ITI */ | 96 | { 27, 1, 12, 3 }, /* WDT ITI */ |
69 | [32] = { IPRC(0), 1 }, /* IRQ 0 */ | 97 | |
70 | [33] = { IPRC(4), 1 }, /* IRQ 1 */ | 98 | { 32, 2, 0, 1 }, /* IRQ 0 */ |
71 | [34] = { IPRC(8), 1 }, /* IRQ 2 APM */ | 99 | { 33, 2, 4, 1 }, /* IRQ 1 */ |
72 | [35] = { IPRC(12), 1 }, /* IRQ 3 TOUCHSCREEN */ | 100 | { 34, 2, 8, 1 }, /* IRQ 2 APM */ |
73 | [36] = { IPRD(0), 1 }, /* IRQ 4 */ | 101 | { 35, 2, 12, 1 }, /* IRQ 3 TOUCHSCREEN */ |
74 | [37] = { IPRD(4), 1 }, /* IRQ 5 */ | 102 | |
75 | [48 ... 51] = { IPRE(12), 7 }, /* DMA */ | 103 | { 36, 3, 0, 1 }, /* IRQ 4 */ |
76 | [52 ... 55] = { IPRE(8), 3 }, /* IRDA */ | 104 | { 37, 3, 4, 1 }, /* IRQ 5 */ |
77 | [56 ... 59] = { IPRE(4), 3 }, /* SCIF */ | 105 | |
106 | { 48, 4, 12, 7 }, /* DMA */ | ||
107 | { 49, 4, 12, 7 }, /* DMA */ | ||
108 | { 50, 4, 12, 7 }, /* DMA */ | ||
109 | { 51, 4, 12, 7 }, /* DMA */ | ||
110 | |||
111 | { 52, 4, 8, 3 }, /* IRDA */ | ||
112 | { 53, 4, 8, 3 }, /* IRDA */ | ||
113 | { 54, 4, 8, 3 }, /* IRDA */ | ||
114 | { 55, 4, 8, 3 }, /* IRDA */ | ||
115 | |||
116 | { 56, 4, 4, 3 }, /* SCIF */ | ||
117 | { 57, 4, 4, 3 }, /* SCIF */ | ||
118 | { 58, 4, 4, 3 }, /* SCIF */ | ||
119 | { 59, 4, 4, 3 }, /* SCIF */ | ||
120 | }; | ||
121 | |||
122 | static unsigned long ipr_offsets[] = { | ||
123 | 0xfffffee2, /* 0: IPRA */ | ||
124 | 0xfffffee4, /* 1: IPRB */ | ||
125 | 0xa4000016, /* 2: IPRC */ | ||
126 | 0xa4000018, /* 3: IPRD */ | ||
127 | 0xa400001a, /* 4: IPRE */ | ||
128 | }; | ||
129 | |||
130 | static struct ipr_desc ipr_irq_desc = { | ||
131 | .ipr_offsets = ipr_offsets, | ||
132 | .nr_offsets = ARRAY_SIZE(ipr_offsets), | ||
133 | |||
134 | .ipr_data = ipr_irq_table, | ||
135 | .nr_irqs = ARRAY_SIZE(ipr_irq_table), | ||
136 | |||
137 | .chip = { | ||
138 | .name = "IPR-sh7709", | ||
139 | }, | ||
78 | }; | 140 | }; |
79 | 141 | ||
80 | void __init init_IRQ_ipr() | 142 | void __init init_IRQ_ipr(void) |
81 | { | 143 | { |
82 | make_ipr_irq(sh7709_ipr_map, ARRAY_SIZE(sh7709_ipr_map)); | 144 | register_ipr_controller(&ipr_irq_desc); |
83 | } | 145 | } |
diff --git a/arch/sh/kernel/cpu/sh3/setup-sh7710.c b/arch/sh/kernel/cpu/sh3/setup-sh7710.c index 51760a7e7f1c..f40e6dac337d 100644 --- a/arch/sh/kernel/cpu/sh3/setup-sh7710.c +++ b/arch/sh/kernel/cpu/sh3/setup-sh7710.c | |||
@@ -49,7 +49,7 @@ static int __init sh7710_devices_setup(void) | |||
49 | } | 49 | } |
50 | __initcall(sh7710_devices_setup); | 50 | __initcall(sh7710_devices_setup); |
51 | 51 | ||
52 | static struct ipr_data sh7710_ipr_map[] = { | 52 | static struct ipr_data ipr_irq_table[] = { |
53 | /* IRQ, IPR-idx, shift, priority */ | 53 | /* IRQ, IPR-idx, shift, priority */ |
54 | { 16, 0, 12, 2 }, /* TMU0 TUNI*/ | 54 | { 16, 0, 12, 2 }, /* TMU0 TUNI*/ |
55 | { 17, 0, 8, 2 }, /* TMU1 TUNI */ | 55 | { 17, 0, 8, 2 }, /* TMU1 TUNI */ |
@@ -78,26 +78,30 @@ static struct ipr_data sh7710_ipr_map[] = { | |||
78 | }; | 78 | }; |
79 | 79 | ||
80 | static unsigned long ipr_offsets[] = { | 80 | static unsigned long ipr_offsets[] = { |
81 | 0xA414FEE2 /* 0: IPRA */ | 81 | 0xA414FEE2, /* 0: IPRA */ |
82 | , 0xA414FEE4 /* 1: IPRB */ | 82 | 0xA414FEE4, /* 1: IPRB */ |
83 | , 0xA4140016 /* 2: IPRC */ | 83 | 0xA4140016, /* 2: IPRC */ |
84 | , 0xA4140018 /* 3: IPRD */ | 84 | 0xA4140018, /* 3: IPRD */ |
85 | , 0xA414001A /* 4: IPRE */ | 85 | 0xA414001A, /* 4: IPRE */ |
86 | , 0xA4080000 /* 5: IPRF */ | 86 | 0xA4080000, /* 5: IPRF */ |
87 | , 0xA4080002 /* 6: IPRG */ | 87 | 0xA4080002, /* 6: IPRG */ |
88 | , 0xA4080004 /* 7: IPRH */ | 88 | 0xA4080004, /* 7: IPRH */ |
89 | , 0xA4080006 /* 8: IPRI */ | 89 | 0xA4080006, /* 8: IPRI */ |
90 | }; | 90 | }; |
91 | 91 | ||
92 | /* given the IPR index return the address of the IPR register */ | 92 | static struct ipr_desc ipr_irq_desc = { |
93 | unsigned int map_ipridx_to_addr(int idx) | 93 | .ipr_offsets = ipr_offsets, |
94 | { | 94 | .nr_offsets = ARRAY_SIZE(ipr_offsets), |
95 | if (idx >= ARRAY_SIZE(ipr_offsets)) | 95 | |
96 | return 0; | 96 | .ipr_data = ipr_irq_table, |
97 | return ipr_offsets[idx]; | 97 | .nr_irqs = ARRAY_SIZE(ipr_irq_table), |
98 | } | 98 | |
99 | .chip = { | ||
100 | .name = "IPR-sh7710", | ||
101 | }, | ||
102 | }; | ||
99 | 103 | ||
100 | void __init init_IRQ_ipr() | 104 | void __init init_IRQ_ipr(void) |
101 | { | 105 | { |
102 | make_ipr_irq(sh7710_ipr_map, ARRAY_SIZE(sh7710_ipr_map)); | 106 | register_ipr_controller(&ipr_irq_desc); |
103 | } | 107 | } |
diff --git a/arch/sh/kernel/cpu/sh4/Makefile b/arch/sh/kernel/cpu/sh4/Makefile index 8add10bd8268..dadd6bffc128 100644 --- a/arch/sh/kernel/cpu/sh4/Makefile +++ b/arch/sh/kernel/cpu/sh4/Makefile | |||
@@ -10,7 +10,11 @@ obj-$(CONFIG_SH_STORE_QUEUES) += sq.o | |||
10 | 10 | ||
11 | # CPU subtype setup | 11 | # CPU subtype setup |
12 | obj-$(CONFIG_CPU_SUBTYPE_SH7750) += setup-sh7750.o | 12 | obj-$(CONFIG_CPU_SUBTYPE_SH7750) += setup-sh7750.o |
13 | obj-$(CONFIG_CPU_SUBTYPE_SH7750R) += setup-sh7750.o | ||
14 | obj-$(CONFIG_CPU_SUBTYPE_SH7750S) += setup-sh7750.o | ||
15 | obj-$(CONFIG_CPU_SUBTYPE_SH7091) += setup-sh7750.o | ||
13 | obj-$(CONFIG_CPU_SUBTYPE_SH7751) += setup-sh7750.o | 16 | obj-$(CONFIG_CPU_SUBTYPE_SH7751) += setup-sh7750.o |
17 | obj-$(CONFIG_CPU_SUBTYPE_SH7751R) += setup-sh7750.o | ||
14 | obj-$(CONFIG_CPU_SUBTYPE_SH7760) += setup-sh7760.o | 18 | obj-$(CONFIG_CPU_SUBTYPE_SH7760) += setup-sh7760.o |
15 | obj-$(CONFIG_CPU_SUBTYPE_SH4_202) += setup-sh4-202.o | 19 | obj-$(CONFIG_CPU_SUBTYPE_SH4_202) += setup-sh4-202.o |
16 | 20 | ||
diff --git a/arch/sh/kernel/cpu/sh4/probe.c b/arch/sh/kernel/cpu/sh4/probe.c index fab2eb07196b..66c3f75647b2 100644 --- a/arch/sh/kernel/cpu/sh4/probe.c +++ b/arch/sh/kernel/cpu/sh4/probe.c | |||
@@ -141,6 +141,14 @@ int __init detect_cpu_and_cache_system(void) | |||
141 | current_cpu_data.flags |= CPU_HAS_LLSC; | 141 | current_cpu_data.flags |= CPU_HAS_LLSC; |
142 | } | 142 | } |
143 | break; | 143 | break; |
144 | case 0x4000: /* 1st cut */ | ||
145 | case 0x4001: /* 2nd cut */ | ||
146 | current_cpu_data.type = CPU_SHX3; | ||
147 | current_cpu_data.icache.ways = 4; | ||
148 | current_cpu_data.dcache.ways = 4; | ||
149 | current_cpu_data.flags |= CPU_HAS_FPU | CPU_HAS_PERF_COUNTER | | ||
150 | CPU_HAS_LLSC; | ||
151 | break; | ||
144 | case 0x8000: | 152 | case 0x8000: |
145 | current_cpu_data.type = CPU_ST40RA; | 153 | current_cpu_data.type = CPU_ST40RA; |
146 | current_cpu_data.flags |= CPU_HAS_FPU; | 154 | current_cpu_data.flags |= CPU_HAS_FPU; |
diff --git a/arch/sh/kernel/cpu/sh4/setup-sh7750.c b/arch/sh/kernel/cpu/sh4/setup-sh7750.c index 03b14cf78ddf..da153bcdfeb2 100644 --- a/arch/sh/kernel/cpu/sh4/setup-sh7750.c +++ b/arch/sh/kernel/cpu/sh4/setup-sh7750.c | |||
@@ -82,7 +82,7 @@ static int __init sh7750_devices_setup(void) | |||
82 | } | 82 | } |
83 | __initcall(sh7750_devices_setup); | 83 | __initcall(sh7750_devices_setup); |
84 | 84 | ||
85 | static struct ipr_data sh7750_ipr_map[] = { | 85 | static struct ipr_data ipr_irq_table[] = { |
86 | /* IRQ, IPR-idx, shift, priority */ | 86 | /* IRQ, IPR-idx, shift, priority */ |
87 | { 16, 0, 12, 2 }, /* TMU0 TUNI*/ | 87 | { 16, 0, 12, 2 }, /* TMU0 TUNI*/ |
88 | { 17, 0, 12, 2 }, /* TMU1 TUNI */ | 88 | { 17, 0, 12, 2 }, /* TMU1 TUNI */ |
@@ -106,8 +106,27 @@ static struct ipr_data sh7750_ipr_map[] = { | |||
106 | { 38, 2, 8, 7 }, /* DMAC DMAE */ | 106 | { 38, 2, 8, 7 }, /* DMAC DMAE */ |
107 | }; | 107 | }; |
108 | 108 | ||
109 | static unsigned long ipr_offsets[] = { | ||
110 | 0xffd00004UL, /* 0: IPRA */ | ||
111 | 0xffd00008UL, /* 1: IPRB */ | ||
112 | 0xffd0000cUL, /* 2: IPRC */ | ||
113 | 0xffd00010UL, /* 3: IPRD */ | ||
114 | }; | ||
115 | |||
116 | static struct ipr_desc ipr_irq_desc = { | ||
117 | .ipr_offsets = ipr_offsets, | ||
118 | .nr_offsets = ARRAY_SIZE(ipr_offsets), | ||
119 | |||
120 | .ipr_data = ipr_irq_table, | ||
121 | .nr_irqs = ARRAY_SIZE(ipr_irq_table), | ||
122 | |||
123 | .chip = { | ||
124 | .name = "IPR-sh7750", | ||
125 | }, | ||
126 | }; | ||
127 | |||
109 | #ifdef CONFIG_CPU_SUBTYPE_SH7751 | 128 | #ifdef CONFIG_CPU_SUBTYPE_SH7751 |
110 | static struct ipr_data sh7751_ipr_map[] = { | 129 | static struct ipr_data ipr_irq_table_sh7751[] = { |
111 | { 44, 2, 8, 7 }, /* DMAC DMTE4 */ | 130 | { 44, 2, 8, 7 }, /* DMAC DMTE4 */ |
112 | { 45, 2, 8, 7 }, /* DMAC DMTE5 */ | 131 | { 45, 2, 8, 7 }, /* DMAC DMTE5 */ |
113 | { 46, 2, 8, 7 }, /* DMAC DMTE6 */ | 132 | { 46, 2, 8, 7 }, /* DMAC DMTE6 */ |
@@ -118,21 +137,26 @@ static struct ipr_data sh7751_ipr_map[] = { | |||
118 | /*{ 72, INTPRI00, 8, ? },*/ /* TMU3 TUNI */ | 137 | /*{ 72, INTPRI00, 8, ? },*/ /* TMU3 TUNI */ |
119 | /*{ 76, INTPRI00, 12, ? },*/ /* TMU4 TUNI */ | 138 | /*{ 76, INTPRI00, 12, ? },*/ /* TMU4 TUNI */ |
120 | }; | 139 | }; |
121 | #endif | ||
122 | 140 | ||
123 | static unsigned long ipr_offsets[] = { | 141 | static struct ipr_desc ipr_irq_desc_sh7751 = { |
124 | 0xffd00004UL, /* 0: IPRA */ | 142 | .ipr_offsets = ipr_offsets, |
125 | 0xffd00008UL, /* 1: IPRB */ | 143 | .nr_offsets = ARRAY_SIZE(ipr_offsets), |
126 | 0xffd0000cUL, /* 2: IPRC */ | 144 | |
127 | 0xffd00010UL, /* 3: IPRD */ | 145 | .ipr_data = ipr_irq_table_sh7751, |
146 | .nr_irqs = ARRAY_SIZE(ipr_irq_table_sh7751), | ||
147 | |||
148 | .chip = { | ||
149 | .name = "IPR-sh7751", | ||
150 | }, | ||
128 | }; | 151 | }; |
152 | #endif | ||
129 | 153 | ||
130 | /* given the IPR index return the address of the IPR register */ | 154 | void __init init_IRQ_ipr(void) |
131 | unsigned int map_ipridx_to_addr(int idx) | ||
132 | { | 155 | { |
133 | if (idx >= ARRAY_SIZE(ipr_offsets)) | 156 | register_ipr_controller(&ipr_irq_desc); |
134 | return 0; | 157 | #ifdef CONFIG_CPU_SUBTYPE_SH7751 |
135 | return ipr_offsets[idx]; | 158 | register_ipr_controller(&ipr_irq_desc_sh7751); |
159 | #endif | ||
136 | } | 160 | } |
137 | 161 | ||
138 | #define INTC_ICR 0xffd00000UL | 162 | #define INTC_ICR 0xffd00000UL |
@@ -143,11 +167,3 @@ void ipr_irq_enable_irlm(void) | |||
143 | { | 167 | { |
144 | ctrl_outw(ctrl_inw(INTC_ICR) | INTC_ICR_IRLM, INTC_ICR); | 168 | ctrl_outw(ctrl_inw(INTC_ICR) | INTC_ICR_IRLM, INTC_ICR); |
145 | } | 169 | } |
146 | |||
147 | void __init init_IRQ_ipr() | ||
148 | { | ||
149 | make_ipr_irq(sh7750_ipr_map, ARRAY_SIZE(sh7750_ipr_map)); | ||
150 | #ifdef CONFIG_CPU_SUBTYPE_SH7751 | ||
151 | make_ipr_irq(sh7751_ipr_map, ARRAY_SIZE(sh7751_ipr_map)); | ||
152 | #endif | ||
153 | } | ||
diff --git a/arch/sh/kernel/cpu/sh4/setup-sh7760.c b/arch/sh/kernel/cpu/sh4/setup-sh7760.c index b7c702821e6f..3df169755673 100644 --- a/arch/sh/kernel/cpu/sh4/setup-sh7760.c +++ b/arch/sh/kernel/cpu/sh4/setup-sh7760.c | |||
@@ -96,7 +96,25 @@ static struct intc2_data intc2_irq_table[] = { | |||
96 | {109,12, 0, 4, 0, 3}, /* CMTI */ | 96 | {109,12, 0, 4, 0, 3}, /* CMTI */ |
97 | }; | 97 | }; |
98 | 98 | ||
99 | static struct ipr_data sh7760_ipr_map[] = { | 99 | static struct intc2_desc intc2_irq_desc __read_mostly = { |
100 | .prio_base = 0xfe080000, | ||
101 | .msk_base = 0xfe080040, | ||
102 | .mskclr_base = 0xfe080060, | ||
103 | |||
104 | .intc2_data = intc2_irq_table, | ||
105 | .nr_irqs = ARRAY_SIZE(intc2_irq_table), | ||
106 | |||
107 | .chip = { | ||
108 | .name = "INTC2-sh7760", | ||
109 | }, | ||
110 | }; | ||
111 | |||
112 | void __init init_IRQ_intc2(void) | ||
113 | { | ||
114 | register_intc2_controller(&intc2_irq_desc); | ||
115 | } | ||
116 | |||
117 | static struct ipr_data ipr_irq_table[] = { | ||
100 | /* IRQ, IPR-idx, shift, priority */ | 118 | /* IRQ, IPR-idx, shift, priority */ |
101 | { 16, 0, 12, 2 }, /* TMU0 TUNI*/ | 119 | { 16, 0, 12, 2 }, /* TMU0 TUNI*/ |
102 | { 17, 0, 8, 2 }, /* TMU1 TUNI */ | 120 | { 17, 0, 8, 2 }, /* TMU1 TUNI */ |
@@ -133,20 +151,19 @@ static unsigned long ipr_offsets[] = { | |||
133 | 0xffd00010UL, /* 3: IPRD */ | 151 | 0xffd00010UL, /* 3: IPRD */ |
134 | }; | 152 | }; |
135 | 153 | ||
136 | /* given the IPR index return the address of the IPR register */ | 154 | static struct ipr_desc ipr_irq_desc = { |
137 | unsigned int map_ipridx_to_addr(int idx) | 155 | .ipr_offsets = ipr_offsets, |
138 | { | 156 | .nr_offsets = ARRAY_SIZE(ipr_offsets), |
139 | if (idx >= ARRAY_SIZE(ipr_offsets)) | ||
140 | return 0; | ||
141 | return ipr_offsets[idx]; | ||
142 | } | ||
143 | 157 | ||
144 | void __init init_IRQ_intc2(void) | 158 | .ipr_data = ipr_irq_table, |
145 | { | 159 | .nr_irqs = ARRAY_SIZE(ipr_irq_table), |
146 | make_intc2_irq(intc2_irq_table, ARRAY_SIZE(intc2_irq_table)); | 160 | |
147 | } | 161 | .chip = { |
162 | .name = "IPR-sh7760", | ||
163 | }, | ||
164 | }; | ||
148 | 165 | ||
149 | void __init init_IRQ_ipr(void) | 166 | void __init init_IRQ_ipr(void) |
150 | { | 167 | { |
151 | make_ipr_irq(sh7760_ipr_map, ARRAY_SIZE(sh7760_ipr_map)); | 168 | register_ipr_controller(&ipr_irq_desc); |
152 | } | 169 | } |
diff --git a/arch/sh/kernel/cpu/sh4a/Makefile b/arch/sh/kernel/cpu/sh4a/Makefile index ab7422f8f820..400623286487 100644 --- a/arch/sh/kernel/cpu/sh4a/Makefile +++ b/arch/sh/kernel/cpu/sh4a/Makefile | |||
@@ -9,6 +9,7 @@ obj-$(CONFIG_CPU_SUBTYPE_SH7785) += setup-sh7785.o | |||
9 | obj-$(CONFIG_CPU_SUBTYPE_SH73180) += setup-sh73180.o | 9 | obj-$(CONFIG_CPU_SUBTYPE_SH73180) += setup-sh73180.o |
10 | obj-$(CONFIG_CPU_SUBTYPE_SH7343) += setup-sh7343.o | 10 | obj-$(CONFIG_CPU_SUBTYPE_SH7343) += setup-sh7343.o |
11 | obj-$(CONFIG_CPU_SUBTYPE_SH7722) += setup-sh7722.o | 11 | obj-$(CONFIG_CPU_SUBTYPE_SH7722) += setup-sh7722.o |
12 | obj-$(CONFIG_CPU_SUBTYPE_SHX3) += setup-shx3.o | ||
12 | 13 | ||
13 | # Primary on-chip clocks (common) | 14 | # Primary on-chip clocks (common) |
14 | clock-$(CONFIG_CPU_SUBTYPE_SH73180) := clock-sh73180.o | 15 | clock-$(CONFIG_CPU_SUBTYPE_SH73180) := clock-sh73180.o |
@@ -17,5 +18,6 @@ clock-$(CONFIG_CPU_SUBTYPE_SH7780) := clock-sh7780.o | |||
17 | clock-$(CONFIG_CPU_SUBTYPE_SH7785) := clock-sh7785.o | 18 | clock-$(CONFIG_CPU_SUBTYPE_SH7785) := clock-sh7785.o |
18 | clock-$(CONFIG_CPU_SUBTYPE_SH7343) := clock-sh7343.o | 19 | clock-$(CONFIG_CPU_SUBTYPE_SH7343) := clock-sh7343.o |
19 | clock-$(CONFIG_CPU_SUBTYPE_SH7722) := clock-sh7722.o | 20 | clock-$(CONFIG_CPU_SUBTYPE_SH7722) := clock-sh7722.o |
21 | clock-$(CONFIG_CPU_SUBTYPE_SHX3) := clock-shx3.o | ||
20 | 22 | ||
21 | obj-y += $(clock-y) | 23 | obj-y += $(clock-y) |
diff --git a/arch/sh/kernel/cpu/sh4a/clock-shx3.c b/arch/sh/kernel/cpu/sh4a/clock-shx3.c new file mode 100644 index 000000000000..c630b29e06a8 --- /dev/null +++ b/arch/sh/kernel/cpu/sh4a/clock-shx3.c | |||
@@ -0,0 +1,135 @@ | |||
1 | /* | ||
2 | * arch/sh/kernel/cpu/sh4/clock-shx3.c | ||
3 | * | ||
4 | * SH-X3 support for the clock framework | ||
5 | * | ||
6 | * Copyright (C) 2006-2007 Renesas Technology Corp. | ||
7 | * Copyright (C) 2006-2007 Renesas Solutions Corp. | ||
8 | * Copyright (C) 2006-2007 Paul Mundt | ||
9 | * | ||
10 | * This file is subject to the terms and conditions of the GNU General Public | ||
11 | * License. See the file "COPYING" in the main directory of this archive | ||
12 | * for more details. | ||
13 | */ | ||
14 | #include <linux/init.h> | ||
15 | #include <linux/kernel.h> | ||
16 | #include <asm/clock.h> | ||
17 | #include <asm/freq.h> | ||
18 | #include <asm/io.h> | ||
19 | |||
20 | static int ifc_divisors[] = { 1, 2, 4 ,6 }; | ||
21 | static int bfc_divisors[] = { 1, 1, 1, 1, 1, 12, 16, 18, 24, 32, 36, 48 }; | ||
22 | static int pfc_divisors[] = { 1, 1, 1, 1, 1, 1, 1, 18, 24, 32, 36, 48 }; | ||
23 | static int cfc_divisors[] = { 1, 1, 4, 6 }; | ||
24 | |||
25 | #define IFC_POS 28 | ||
26 | #define IFC_MSK 0x0003 | ||
27 | #define BFC_MSK 0x000f | ||
28 | #define PFC_MSK 0x000f | ||
29 | #define CFC_MSK 0x0003 | ||
30 | #define BFC_POS 16 | ||
31 | #define PFC_POS 0 | ||
32 | #define CFC_POS 20 | ||
33 | |||
34 | static void master_clk_init(struct clk *clk) | ||
35 | { | ||
36 | clk->rate *= pfc_divisors[(ctrl_inl(FRQCR) >> PFC_POS) & PFC_MSK]; | ||
37 | } | ||
38 | |||
39 | static struct clk_ops shx3_master_clk_ops = { | ||
40 | .init = master_clk_init, | ||
41 | }; | ||
42 | |||
43 | static void module_clk_recalc(struct clk *clk) | ||
44 | { | ||
45 | int idx = ((ctrl_inl(FRQCR) >> PFC_POS) & PFC_MSK); | ||
46 | clk->rate = clk->parent->rate / pfc_divisors[idx]; | ||
47 | } | ||
48 | |||
49 | static struct clk_ops shx3_module_clk_ops = { | ||
50 | .recalc = module_clk_recalc, | ||
51 | }; | ||
52 | |||
53 | static void bus_clk_recalc(struct clk *clk) | ||
54 | { | ||
55 | int idx = ((ctrl_inl(FRQCR) >> BFC_POS) & BFC_MSK); | ||
56 | clk->rate = clk->parent->rate / bfc_divisors[idx]; | ||
57 | } | ||
58 | |||
59 | static struct clk_ops shx3_bus_clk_ops = { | ||
60 | .recalc = bus_clk_recalc, | ||
61 | }; | ||
62 | |||
63 | static void cpu_clk_recalc(struct clk *clk) | ||
64 | { | ||
65 | int idx = ((ctrl_inl(FRQCR) >> IFC_POS) & IFC_MSK); | ||
66 | clk->rate = clk->parent->rate / ifc_divisors[idx]; | ||
67 | } | ||
68 | |||
69 | static struct clk_ops shx3_cpu_clk_ops = { | ||
70 | .recalc = cpu_clk_recalc, | ||
71 | }; | ||
72 | |||
73 | static struct clk_ops *shx3_clk_ops[] = { | ||
74 | &shx3_master_clk_ops, | ||
75 | &shx3_module_clk_ops, | ||
76 | &shx3_bus_clk_ops, | ||
77 | &shx3_cpu_clk_ops, | ||
78 | }; | ||
79 | |||
80 | void __init arch_init_clk_ops(struct clk_ops **ops, int idx) | ||
81 | { | ||
82 | if (idx < ARRAY_SIZE(shx3_clk_ops)) | ||
83 | *ops = shx3_clk_ops[idx]; | ||
84 | } | ||
85 | |||
86 | static void shyway_clk_recalc(struct clk *clk) | ||
87 | { | ||
88 | int idx = ((ctrl_inl(FRQCR) >> CFC_POS) & CFC_MSK); | ||
89 | clk->rate = clk->parent->rate / cfc_divisors[idx]; | ||
90 | } | ||
91 | |||
92 | static struct clk_ops shx3_shyway_clk_ops = { | ||
93 | .recalc = shyway_clk_recalc, | ||
94 | }; | ||
95 | |||
96 | static struct clk shx3_shyway_clk = { | ||
97 | .name = "shyway_clk", | ||
98 | .flags = CLK_ALWAYS_ENABLED, | ||
99 | .ops = &shx3_shyway_clk_ops, | ||
100 | }; | ||
101 | |||
102 | /* | ||
103 | * Additional SHx3-specific on-chip clocks that aren't already part of the | ||
104 | * clock framework | ||
105 | */ | ||
106 | static struct clk *shx3_onchip_clocks[] = { | ||
107 | &shx3_shyway_clk, | ||
108 | }; | ||
109 | |||
110 | static int __init shx3_clk_init(void) | ||
111 | { | ||
112 | struct clk *clk = clk_get(NULL, "master_clk"); | ||
113 | int i; | ||
114 | |||
115 | for (i = 0; i < ARRAY_SIZE(shx3_onchip_clocks); i++) { | ||
116 | struct clk *clkp = shx3_onchip_clocks[i]; | ||
117 | |||
118 | clkp->parent = clk; | ||
119 | clk_register(clkp); | ||
120 | clk_enable(clkp); | ||
121 | } | ||
122 | |||
123 | /* | ||
124 | * Now that we have the rest of the clocks registered, we need to | ||
125 | * force the parent clock to propagate so that these clocks will | ||
126 | * automatically figure out their rate. We cheat by handing the | ||
127 | * parent clock its current rate and forcing child propagation. | ||
128 | */ | ||
129 | clk_set_rate(clk, clk_get_rate(clk)); | ||
130 | |||
131 | clk_put(clk); | ||
132 | |||
133 | return 0; | ||
134 | } | ||
135 | arch_initcall(shx3_clk_init); | ||
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c index 1143fbf65faf..a3e159ef6dfe 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * SH7722 Setup | 2 | * SH7722 Setup |
3 | * | 3 | * |
4 | * Copyright (C) 2006 Paul Mundt | 4 | * Copyright (C) 2006 - 2007 Paul Mundt |
5 | * | 5 | * |
6 | * This file is subject to the terms and conditions of the GNU General Public | 6 | * This file is subject to the terms and conditions of the GNU General Public |
7 | * License. See the file "COPYING" in the main directory of this archive | 7 | * License. See the file "COPYING" in the main directory of this archive |
@@ -10,6 +10,8 @@ | |||
10 | #include <linux/platform_device.h> | 10 | #include <linux/platform_device.h> |
11 | #include <linux/init.h> | 11 | #include <linux/init.h> |
12 | #include <linux/serial.h> | 12 | #include <linux/serial.h> |
13 | #include <linux/mm.h> | ||
14 | #include <asm/mmzone.h> | ||
13 | #include <asm/sci.h> | 15 | #include <asm/sci.h> |
14 | 16 | ||
15 | static struct plat_sci_port sci_platform_data[] = { | 17 | static struct plat_sci_port sci_platform_data[] = { |
@@ -42,7 +44,7 @@ static int __init sh7722_devices_setup(void) | |||
42 | } | 44 | } |
43 | __initcall(sh7722_devices_setup); | 45 | __initcall(sh7722_devices_setup); |
44 | 46 | ||
45 | static struct ipr_data sh7722_ipr_map[] = { | 47 | static struct ipr_data ipr_irq_table[] = { |
46 | /* IRQ, IPR-idx, shift, prio */ | 48 | /* IRQ, IPR-idx, shift, prio */ |
47 | { 16, 0, 12, 2 }, /* TMU0 */ | 49 | { 16, 0, 12, 2 }, /* TMU0 */ |
48 | { 17, 0, 8, 2 }, /* TMU1 */ | 50 | { 17, 0, 8, 2 }, /* TMU1 */ |
@@ -67,14 +69,25 @@ static unsigned long ipr_offsets[] = { | |||
67 | 0xa408002c, /* 11: IPRL */ | 69 | 0xa408002c, /* 11: IPRL */ |
68 | }; | 70 | }; |
69 | 71 | ||
70 | unsigned int map_ipridx_to_addr(int idx) | 72 | static struct ipr_desc ipr_irq_desc = { |
73 | .ipr_offsets = ipr_offsets, | ||
74 | .nr_offsets = ARRAY_SIZE(ipr_offsets), | ||
75 | |||
76 | .ipr_data = ipr_irq_table, | ||
77 | .nr_irqs = ARRAY_SIZE(ipr_irq_table), | ||
78 | |||
79 | .chip = { | ||
80 | .name = "IPR-sh7722", | ||
81 | }, | ||
82 | }; | ||
83 | |||
84 | void __init init_IRQ_ipr(void) | ||
71 | { | 85 | { |
72 | if (unlikely(idx >= ARRAY_SIZE(ipr_offsets))) | 86 | register_ipr_controller(&ipr_irq_desc); |
73 | return 0; | ||
74 | return ipr_offsets[idx]; | ||
75 | } | 87 | } |
76 | 88 | ||
77 | void __init init_IRQ_ipr(void) | 89 | void __init plat_mem_setup(void) |
78 | { | 90 | { |
79 | make_ipr_irq(sh7722_ipr_map, ARRAY_SIZE(sh7722_ipr_map)); | 91 | /* Register the URAM space as Node 1 */ |
92 | setup_bootmem_node(1, 0x055f0000, 0x05610000); | ||
80 | } | 93 | } |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7780.c b/arch/sh/kernel/cpu/sh4a/setup-sh7780.c index 9aeaa2ddaa28..b57c760bffde 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7780.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7780.c | |||
@@ -102,7 +102,20 @@ static struct intc2_data intc2_irq_table[] = { | |||
102 | { 68, 0x14, 8, 0, 18, 2 }, /* PCIC4 */ | 102 | { 68, 0x14, 8, 0, 18, 2 }, /* PCIC4 */ |
103 | }; | 103 | }; |
104 | 104 | ||
105 | static struct intc2_desc intc2_irq_desc __read_mostly = { | ||
106 | .prio_base = 0xffd40000, | ||
107 | .msk_base = 0xffd40038, | ||
108 | .mskclr_base = 0xffd4003c, | ||
109 | |||
110 | .intc2_data = intc2_irq_table, | ||
111 | .nr_irqs = ARRAY_SIZE(intc2_irq_table), | ||
112 | |||
113 | .chip = { | ||
114 | .name = "INTC2-sh7780", | ||
115 | }, | ||
116 | }; | ||
117 | |||
105 | void __init init_IRQ_intc2(void) | 118 | void __init init_IRQ_intc2(void) |
106 | { | 119 | { |
107 | make_intc2_irq(intc2_irq_table, ARRAY_SIZE(intc2_irq_table)); | 120 | register_intc2_controller(&intc2_irq_desc); |
108 | } | 121 | } |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7785.c b/arch/sh/kernel/cpu/sh4a/setup-sh7785.c index 07b0de82cfe6..ce10ec5d6914 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7785.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7785.c | |||
@@ -97,7 +97,21 @@ static struct intc2_data intc2_irq_table[] = { | |||
97 | { 60, 12, 16, 0, 7, 3 }, /* SCIF5 ERI, RXI, BRI, TXI */ | 97 | { 60, 12, 16, 0, 7, 3 }, /* SCIF5 ERI, RXI, BRI, TXI */ |
98 | }; | 98 | }; |
99 | 99 | ||
100 | static struct intc2_desc intc2_irq_desc __read_mostly = { | ||
101 | .prio_base = 0xffd40000, | ||
102 | .msk_base = 0xffd40038, | ||
103 | .mskclr_base = 0xffd4003c, | ||
104 | |||
105 | .intc2_data = intc2_irq_table, | ||
106 | .nr_irqs = ARRAY_SIZE(intc2_irq_table), | ||
107 | |||
108 | .chip = { | ||
109 | .name = "INTC2-sh7785", | ||
110 | }, | ||
111 | }; | ||
112 | |||
100 | void __init init_IRQ_intc2(void) | 113 | void __init init_IRQ_intc2(void) |
101 | { | 114 | { |
102 | make_intc2_irq(intc2_irq_table, ARRAY_SIZE(intc2_irq_table)); | 115 | register_intc2_controller(&intc2_irq_desc); |
103 | } | 116 | } |
117 | |||
diff --git a/arch/sh/kernel/cpu/sh4a/setup-shx3.c b/arch/sh/kernel/cpu/sh4a/setup-shx3.c new file mode 100644 index 000000000000..70683ea12b83 --- /dev/null +++ b/arch/sh/kernel/cpu/sh4a/setup-shx3.c | |||
@@ -0,0 +1,85 @@ | |||
1 | /* | ||
2 | * SH-X3 Setup | ||
3 | * | ||
4 | * Copyright (C) 2007 Paul Mundt | ||
5 | * | ||
6 | * This file is subject to the terms and conditions of the GNU General Public | ||
7 | * License. See the file "COPYING" in the main directory of this archive | ||
8 | * for more details. | ||
9 | */ | ||
10 | #include <linux/platform_device.h> | ||
11 | #include <linux/init.h> | ||
12 | #include <linux/serial.h> | ||
13 | #include <linux/io.h> | ||
14 | #include <asm/sci.h> | ||
15 | |||
16 | static struct plat_sci_port sci_platform_data[] = { | ||
17 | { | ||
18 | .mapbase = 0xffc30000, | ||
19 | .flags = UPF_BOOT_AUTOCONF, | ||
20 | .type = PORT_SCIF, | ||
21 | .irqs = { 40, 41, 43, 42 }, | ||
22 | }, { | ||
23 | .mapbase = 0xffc40000, | ||
24 | .flags = UPF_BOOT_AUTOCONF, | ||
25 | .type = PORT_SCIF, | ||
26 | .irqs = { 44, 45, 47, 46 }, | ||
27 | }, { | ||
28 | .mapbase = 0xffc50000, | ||
29 | .flags = UPF_BOOT_AUTOCONF, | ||
30 | .type = PORT_SCIF, | ||
31 | .irqs = { 48, 49, 51, 50 }, | ||
32 | }, { | ||
33 | .mapbase = 0xffc60000, | ||
34 | .flags = UPF_BOOT_AUTOCONF, | ||
35 | .type = PORT_SCIF, | ||
36 | .irqs = { 52, 53, 55, 54 }, | ||
37 | }, { | ||
38 | .flags = 0, | ||
39 | } | ||
40 | }; | ||
41 | |||
42 | static struct platform_device sci_device = { | ||
43 | .name = "sh-sci", | ||
44 | .id = -1, | ||
45 | .dev = { | ||
46 | .platform_data = sci_platform_data, | ||
47 | }, | ||
48 | }; | ||
49 | |||
50 | static struct platform_device *shx3_devices[] __initdata = { | ||
51 | &sci_device, | ||
52 | }; | ||
53 | |||
54 | static int __init shx3_devices_setup(void) | ||
55 | { | ||
56 | return platform_add_devices(shx3_devices, | ||
57 | ARRAY_SIZE(shx3_devices)); | ||
58 | } | ||
59 | __initcall(shx3_devices_setup); | ||
60 | |||
61 | static struct intc2_data intc2_irq_table[] = { | ||
62 | { 16, 0, 0, 0, 1, 2 }, /* TMU0 */ | ||
63 | { 40, 4, 0, 0x20, 0, 3 }, /* SCIF0 ERI */ | ||
64 | { 41, 4, 0, 0x20, 1, 3 }, /* SCIF0 RXI */ | ||
65 | { 42, 4, 0, 0x20, 2, 3 }, /* SCIF0 BRI */ | ||
66 | { 43, 4, 0, 0x20, 3, 3 }, /* SCIF0 TXI */ | ||
67 | }; | ||
68 | |||
69 | static struct intc2_desc intc2_irq_desc __read_mostly = { | ||
70 | .prio_base = 0xfe410000, | ||
71 | .msk_base = 0xfe410820, | ||
72 | .mskclr_base = 0xfe410850, | ||
73 | |||
74 | .intc2_data = intc2_irq_table, | ||
75 | .nr_irqs = ARRAY_SIZE(intc2_irq_table), | ||
76 | |||
77 | .chip = { | ||
78 | .name = "INTC2-SHX3", | ||
79 | }, | ||
80 | }; | ||
81 | |||
82 | void __init init_IRQ_intc2(void) | ||
83 | { | ||
84 | register_intc2_controller(&intc2_irq_desc); | ||
85 | } | ||
diff --git a/arch/sh/kernel/irq.c b/arch/sh/kernel/irq.c index 27b923c45b3d..27897798867a 100644 --- a/arch/sh/kernel/irq.c +++ b/arch/sh/kernel/irq.c | |||
@@ -158,15 +158,11 @@ asmlinkage int do_IRQ(unsigned int irq, struct pt_regs *regs) | |||
158 | } | 158 | } |
159 | 159 | ||
160 | #ifdef CONFIG_4KSTACKS | 160 | #ifdef CONFIG_4KSTACKS |
161 | /* | ||
162 | * These should really be __section__(".bss.page_aligned") as well, but | ||
163 | * gcc's 3.0 and earlier don't handle that correctly. | ||
164 | */ | ||
165 | static char softirq_stack[NR_CPUS * THREAD_SIZE] | 161 | static char softirq_stack[NR_CPUS * THREAD_SIZE] |
166 | __attribute__((__aligned__(THREAD_SIZE))); | 162 | __attribute__((__section__(".bss.page_aligned"))); |
167 | 163 | ||
168 | static char hardirq_stack[NR_CPUS * THREAD_SIZE] | 164 | static char hardirq_stack[NR_CPUS * THREAD_SIZE] |
169 | __attribute__((__aligned__(THREAD_SIZE))); | 165 | __attribute__((__section__(".bss.page_aligned"))); |
170 | 166 | ||
171 | /* | 167 | /* |
172 | * allocate per-cpu stacks for hardirq and for softirq processing | 168 | * allocate per-cpu stacks for hardirq and for softirq processing |
diff --git a/arch/sh/kernel/machvec.c b/arch/sh/kernel/machvec.c new file mode 100644 index 000000000000..23c5948f0124 --- /dev/null +++ b/arch/sh/kernel/machvec.c | |||
@@ -0,0 +1,130 @@ | |||
1 | /* | ||
2 | * arch/sh/kernel/machvec.c | ||
3 | * | ||
4 | * The SuperH machine vector setup handlers, yanked from setup.c | ||
5 | * | ||
6 | * Copyright (C) 1999 Niibe Yutaka | ||
7 | * Copyright (C) 2002 - 2007 Paul Mundt | ||
8 | * | ||
9 | * This file is subject to the terms and conditions of the GNU General Public | ||
10 | * License. See the file "COPYING" in the main directory of this archive | ||
11 | * for more details. | ||
12 | */ | ||
13 | #include <linux/init.h> | ||
14 | #include <linux/string.h> | ||
15 | #include <asm/machvec.h> | ||
16 | #include <asm/sections.h> | ||
17 | #include <asm/io.h> | ||
18 | #include <asm/irq.h> | ||
19 | |||
20 | #define MV_NAME_SIZE 32 | ||
21 | |||
22 | #define for_each_mv(mv) \ | ||
23 | for ((mv) = (struct sh_machine_vector *)&__machvec_start; \ | ||
24 | (mv) && (unsigned long)(mv) < (unsigned long)&__machvec_end; \ | ||
25 | (mv)++) | ||
26 | |||
27 | static struct sh_machine_vector * __init get_mv_byname(const char *name) | ||
28 | { | ||
29 | struct sh_machine_vector *mv; | ||
30 | |||
31 | for_each_mv(mv) | ||
32 | if (strcasecmp(name, mv->mv_name) == 0) | ||
33 | return mv; | ||
34 | |||
35 | return NULL; | ||
36 | } | ||
37 | |||
38 | static unsigned int __initdata machvec_selected; | ||
39 | |||
40 | static int __init early_parse_mv(char *from) | ||
41 | { | ||
42 | char mv_name[MV_NAME_SIZE] = ""; | ||
43 | char *mv_end; | ||
44 | char *mv_comma; | ||
45 | int mv_len; | ||
46 | struct sh_machine_vector *mvp; | ||
47 | |||
48 | mv_end = strchr(from, ' '); | ||
49 | if (mv_end == NULL) | ||
50 | mv_end = from + strlen(from); | ||
51 | |||
52 | mv_comma = strchr(from, ','); | ||
53 | mv_len = mv_end - from; | ||
54 | if (mv_len > (MV_NAME_SIZE-1)) | ||
55 | mv_len = MV_NAME_SIZE-1; | ||
56 | memcpy(mv_name, from, mv_len); | ||
57 | mv_name[mv_len] = '\0'; | ||
58 | from = mv_end; | ||
59 | |||
60 | machvec_selected = 1; | ||
61 | |||
62 | /* Boot with the generic vector */ | ||
63 | if (strcmp(mv_name, "generic") == 0) | ||
64 | return 0; | ||
65 | |||
66 | mvp = get_mv_byname(mv_name); | ||
67 | if (unlikely(!mvp)) { | ||
68 | printk("Available vectors:\n\n\t'%s', ", sh_mv.mv_name); | ||
69 | for_each_mv(mvp) | ||
70 | printk("'%s', ", mvp->mv_name); | ||
71 | printk("\n\n"); | ||
72 | panic("Failed to select machvec '%s' -- halting.\n", | ||
73 | mv_name); | ||
74 | } else | ||
75 | sh_mv = *mvp; | ||
76 | |||
77 | return 0; | ||
78 | } | ||
79 | early_param("sh_mv", early_parse_mv); | ||
80 | |||
81 | void __init sh_mv_setup(void) | ||
82 | { | ||
83 | /* | ||
84 | * Only overload the machvec if one hasn't been selected on | ||
85 | * the command line with sh_mv= | ||
86 | */ | ||
87 | if (!machvec_selected) { | ||
88 | unsigned long machvec_size; | ||
89 | |||
90 | machvec_size = ((unsigned long)&__machvec_end - | ||
91 | (unsigned long)&__machvec_start); | ||
92 | |||
93 | /* | ||
94 | * If the machvec hasn't been preselected, use the first | ||
95 | * vector (usually the only one) from .machvec.init. | ||
96 | */ | ||
97 | if (machvec_size >= sizeof(struct sh_machine_vector)) | ||
98 | sh_mv = *(struct sh_machine_vector *)&__machvec_start; | ||
99 | } | ||
100 | |||
101 | printk(KERN_NOTICE "Booting machvec: %s\n", get_system_type()); | ||
102 | |||
103 | /* | ||
104 | * Manually walk the vec, fill in anything that the board hasn't yet | ||
105 | * by hand, wrapping to the generic implementation. | ||
106 | */ | ||
107 | #define mv_set(elem) do { \ | ||
108 | if (!sh_mv.mv_##elem) \ | ||
109 | sh_mv.mv_##elem = generic_##elem; \ | ||
110 | } while (0) | ||
111 | |||
112 | mv_set(inb); mv_set(inw); mv_set(inl); | ||
113 | mv_set(outb); mv_set(outw); mv_set(outl); | ||
114 | |||
115 | mv_set(inb_p); mv_set(inw_p); mv_set(inl_p); | ||
116 | mv_set(outb_p); mv_set(outw_p); mv_set(outl_p); | ||
117 | |||
118 | mv_set(insb); mv_set(insw); mv_set(insl); | ||
119 | mv_set(outsb); mv_set(outsw); mv_set(outsl); | ||
120 | |||
121 | mv_set(readb); mv_set(readw); mv_set(readl); | ||
122 | mv_set(writeb); mv_set(writew); mv_set(writel); | ||
123 | |||
124 | mv_set(ioport_map); | ||
125 | mv_set(ioport_unmap); | ||
126 | mv_set(irq_demux); | ||
127 | |||
128 | if (!sh_mv.mv_nr_irqs) | ||
129 | sh_mv.mv_nr_irqs = NR_IRQS; | ||
130 | } | ||
diff --git a/arch/sh/kernel/process.c b/arch/sh/kernel/process.c index a11e2aa73cbc..6334a4c54c7c 100644 --- a/arch/sh/kernel/process.c +++ b/arch/sh/kernel/process.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/kexec.h> | 17 | #include <linux/kexec.h> |
18 | #include <linux/kdebug.h> | 18 | #include <linux/kdebug.h> |
19 | #include <linux/tick.h> | 19 | #include <linux/tick.h> |
20 | #include <linux/reboot.h> | ||
20 | #include <asm/uaccess.h> | 21 | #include <asm/uaccess.h> |
21 | #include <asm/mmu_context.h> | 22 | #include <asm/mmu_context.h> |
22 | #include <asm/pgalloc.h> | 23 | #include <asm/pgalloc.h> |
@@ -319,9 +320,7 @@ static void ubc_set_tracing(int asid, unsigned long pc) | |||
319 | ctrl_outl(pc, UBC_BARA); | 320 | ctrl_outl(pc, UBC_BARA); |
320 | 321 | ||
321 | #ifdef CONFIG_MMU | 322 | #ifdef CONFIG_MMU |
322 | /* We don't have any ASID settings for the SH-2! */ | 323 | ctrl_outb(asid, UBC_BASRA); |
323 | if (current_cpu_data.type != CPU_SH7604) | ||
324 | ctrl_outb(asid, UBC_BASRA); | ||
325 | #endif | 324 | #endif |
326 | 325 | ||
327 | ctrl_outl(0, UBC_BAMRA); | 326 | ctrl_outl(0, UBC_BAMRA); |
@@ -405,8 +404,8 @@ asmlinkage int sys_fork(unsigned long r4, unsigned long r5, | |||
405 | unsigned long r6, unsigned long r7, | 404 | unsigned long r6, unsigned long r7, |
406 | struct pt_regs __regs) | 405 | struct pt_regs __regs) |
407 | { | 406 | { |
408 | struct pt_regs *regs = RELOC_HIDE(&__regs, 0); | ||
409 | #ifdef CONFIG_MMU | 407 | #ifdef CONFIG_MMU |
408 | struct pt_regs *regs = RELOC_HIDE(&__regs, 0); | ||
410 | return do_fork(SIGCHLD, regs->regs[15], regs, 0, NULL, NULL); | 409 | return do_fork(SIGCHLD, regs->regs[15], regs, 0, NULL, NULL); |
411 | #else | 410 | #else |
412 | /* fork almost works, enough to trick you into looking elsewhere :-( */ | 411 | /* fork almost works, enough to trick you into looking elsewhere :-( */ |
@@ -449,23 +448,20 @@ asmlinkage int sys_vfork(unsigned long r4, unsigned long r5, | |||
449 | /* | 448 | /* |
450 | * sys_execve() executes a new program. | 449 | * sys_execve() executes a new program. |
451 | */ | 450 | */ |
452 | asmlinkage int sys_execve(char *ufilename, char **uargv, | 451 | asmlinkage int sys_execve(char __user *ufilename, char __user * __user *uargv, |
453 | char **uenvp, unsigned long r7, | 452 | char __user * __user *uenvp, unsigned long r7, |
454 | struct pt_regs __regs) | 453 | struct pt_regs __regs) |
455 | { | 454 | { |
456 | struct pt_regs *regs = RELOC_HIDE(&__regs, 0); | 455 | struct pt_regs *regs = RELOC_HIDE(&__regs, 0); |
457 | int error; | 456 | int error; |
458 | char *filename; | 457 | char *filename; |
459 | 458 | ||
460 | filename = getname((char __user *)ufilename); | 459 | filename = getname(ufilename); |
461 | error = PTR_ERR(filename); | 460 | error = PTR_ERR(filename); |
462 | if (IS_ERR(filename)) | 461 | if (IS_ERR(filename)) |
463 | goto out; | 462 | goto out; |
464 | 463 | ||
465 | error = do_execve(filename, | 464 | error = do_execve(filename, uargv, uenvp, regs); |
466 | (char __user * __user *)uargv, | ||
467 | (char __user * __user *)uenvp, | ||
468 | regs); | ||
469 | if (error == 0) { | 465 | if (error == 0) { |
470 | task_lock(current); | 466 | task_lock(current); |
471 | current->ptrace &= ~PT_DTRACE; | 467 | current->ptrace &= ~PT_DTRACE; |
diff --git a/arch/sh/kernel/ptrace.c b/arch/sh/kernel/ptrace.c index 3fb5fc0b550d..f2eaa485d04d 100644 --- a/arch/sh/kernel/ptrace.c +++ b/arch/sh/kernel/ptrace.c | |||
@@ -99,7 +99,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
99 | ret = -EIO; | 99 | ret = -EIO; |
100 | if (copied != sizeof(tmp)) | 100 | if (copied != sizeof(tmp)) |
101 | break; | 101 | break; |
102 | ret = put_user(tmp,(unsigned long *) data); | 102 | ret = put_user(tmp,(unsigned long __user *) data); |
103 | break; | 103 | break; |
104 | } | 104 | } |
105 | 105 | ||
@@ -128,7 +128,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
128 | tmp = !!tsk_used_math(child); | 128 | tmp = !!tsk_used_math(child); |
129 | else | 129 | else |
130 | tmp = 0; | 130 | tmp = 0; |
131 | ret = put_user(tmp, (unsigned long *)data); | 131 | ret = put_user(tmp, (unsigned long __user *)data); |
132 | break; | 132 | break; |
133 | } | 133 | } |
134 | 134 | ||
@@ -196,7 +196,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
196 | 196 | ||
197 | case PTRACE_SINGLESTEP: { /* set the trap flag. */ | 197 | case PTRACE_SINGLESTEP: { /* set the trap flag. */ |
198 | long pc; | 198 | long pc; |
199 | struct pt_regs *dummy = NULL; | 199 | struct pt_regs *regs = NULL; |
200 | 200 | ||
201 | ret = -EIO; | 201 | ret = -EIO; |
202 | if (!valid_signal(data)) | 202 | if (!valid_signal(data)) |
@@ -207,7 +207,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
207 | child->ptrace |= PT_DTRACE; | 207 | child->ptrace |= PT_DTRACE; |
208 | } | 208 | } |
209 | 209 | ||
210 | pc = get_stack_long(child, (long)&dummy->pc); | 210 | pc = get_stack_long(child, (long)®s->pc); |
211 | 211 | ||
212 | /* Next scheduling will set up UBC */ | 212 | /* Next scheduling will set up UBC */ |
213 | if (child->thread.ubc_pc == 0) | 213 | if (child->thread.ubc_pc == 0) |
diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c index c27729135935..de8e6e2f2c87 100644 --- a/arch/sh/kernel/setup.c +++ b/arch/sh/kernel/setup.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/kexec.h> | 23 | #include <linux/kexec.h> |
24 | #include <asm/uaccess.h> | 24 | #include <asm/uaccess.h> |
25 | #include <asm/io.h> | 25 | #include <asm/io.h> |
26 | #include <asm/page.h> | ||
26 | #include <asm/sections.h> | 27 | #include <asm/sections.h> |
27 | #include <asm/irq.h> | 28 | #include <asm/irq.h> |
28 | #include <asm/setup.h> | 29 | #include <asm/setup.h> |
@@ -41,20 +42,19 @@ extern void * __rd_start, * __rd_end; | |||
41 | * The bigger value means no problem. | 42 | * The bigger value means no problem. |
42 | */ | 43 | */ |
43 | struct sh_cpuinfo boot_cpu_data = { CPU_SH_NONE, 10000000, }; | 44 | struct sh_cpuinfo boot_cpu_data = { CPU_SH_NONE, 10000000, }; |
45 | |||
46 | /* | ||
47 | * The machine vector. First entry in .machvec.init, or clobbered by | ||
48 | * sh_mv= on the command line, prior to .machvec.init teardown. | ||
49 | */ | ||
50 | struct sh_machine_vector sh_mv = { .mv_name = "generic", }; | ||
51 | |||
44 | #ifdef CONFIG_VT | 52 | #ifdef CONFIG_VT |
45 | struct screen_info screen_info; | 53 | struct screen_info screen_info; |
46 | #endif | 54 | #endif |
47 | 55 | ||
48 | #if defined(CONFIG_SH_UNKNOWN) | ||
49 | struct sh_machine_vector sh_mv; | ||
50 | #endif | ||
51 | |||
52 | extern int root_mountflags; | 56 | extern int root_mountflags; |
53 | 57 | ||
54 | #define MV_NAME_SIZE 32 | ||
55 | |||
56 | static struct sh_machine_vector* __init get_mv_byname(const char* name); | ||
57 | |||
58 | /* | 58 | /* |
59 | * This is set up by the setup-routine at boot-time | 59 | * This is set up by the setup-routine at boot-time |
60 | */ | 60 | */ |
@@ -80,131 +80,17 @@ static struct resource data_resource = { .name = "Kernel data", }; | |||
80 | 80 | ||
81 | unsigned long memory_start, memory_end; | 81 | unsigned long memory_start, memory_end; |
82 | 82 | ||
83 | static inline void parse_cmdline (char ** cmdline_p, char mv_name[MV_NAME_SIZE], | 83 | static int __init early_parse_mem(char *p) |
84 | struct sh_machine_vector** mvp, | ||
85 | unsigned long *mv_io_base) | ||
86 | { | 84 | { |
87 | char c = ' ', *to = command_line, *from = COMMAND_LINE; | 85 | unsigned long size; |
88 | int len = 0; | ||
89 | |||
90 | /* Save unparsed command line copy for /proc/cmdline */ | ||
91 | memcpy(boot_command_line, COMMAND_LINE, COMMAND_LINE_SIZE); | ||
92 | boot_command_line[COMMAND_LINE_SIZE-1] = '\0'; | ||
93 | 86 | ||
94 | memory_start = (unsigned long)PAGE_OFFSET+__MEMORY_START; | 87 | memory_start = (unsigned long)PAGE_OFFSET+__MEMORY_START; |
95 | memory_end = memory_start + __MEMORY_SIZE; | 88 | size = memparse(p, &p); |
96 | 89 | memory_end = memory_start + size; | |
97 | for (;;) { | ||
98 | /* | ||
99 | * "mem=XXX[kKmM]" defines a size of memory. | ||
100 | */ | ||
101 | if (c == ' ' && !memcmp(from, "mem=", 4)) { | ||
102 | if (to != command_line) | ||
103 | to--; | ||
104 | { | ||
105 | unsigned long mem_size; | ||
106 | |||
107 | mem_size = memparse(from+4, &from); | ||
108 | memory_end = memory_start + mem_size; | ||
109 | } | ||
110 | } | ||
111 | |||
112 | if (c == ' ' && !memcmp(from, "sh_mv=", 6)) { | ||
113 | char* mv_end; | ||
114 | char* mv_comma; | ||
115 | int mv_len; | ||
116 | if (to != command_line) | ||
117 | to--; | ||
118 | from += 6; | ||
119 | mv_end = strchr(from, ' '); | ||
120 | if (mv_end == NULL) | ||
121 | mv_end = from + strlen(from); | ||
122 | |||
123 | mv_comma = strchr(from, ','); | ||
124 | if ((mv_comma != NULL) && (mv_comma < mv_end)) { | ||
125 | int ints[3]; | ||
126 | get_options(mv_comma+1, ARRAY_SIZE(ints), ints); | ||
127 | *mv_io_base = ints[1]; | ||
128 | mv_len = mv_comma - from; | ||
129 | } else { | ||
130 | mv_len = mv_end - from; | ||
131 | } | ||
132 | if (mv_len > (MV_NAME_SIZE-1)) | ||
133 | mv_len = MV_NAME_SIZE-1; | ||
134 | memcpy(mv_name, from, mv_len); | ||
135 | mv_name[mv_len] = '\0'; | ||
136 | from = mv_end; | ||
137 | |||
138 | *mvp = get_mv_byname(mv_name); | ||
139 | } | ||
140 | |||
141 | c = *(from++); | ||
142 | if (!c) | ||
143 | break; | ||
144 | if (COMMAND_LINE_SIZE <= ++len) | ||
145 | break; | ||
146 | *(to++) = c; | ||
147 | } | ||
148 | *to = '\0'; | ||
149 | *cmdline_p = command_line; | ||
150 | } | ||
151 | |||
152 | static int __init sh_mv_setup(char **cmdline_p) | ||
153 | { | ||
154 | #ifdef CONFIG_SH_UNKNOWN | ||
155 | extern struct sh_machine_vector mv_unknown; | ||
156 | #endif | ||
157 | struct sh_machine_vector *mv = NULL; | ||
158 | char mv_name[MV_NAME_SIZE] = ""; | ||
159 | unsigned long mv_io_base = 0; | ||
160 | |||
161 | parse_cmdline(cmdline_p, mv_name, &mv, &mv_io_base); | ||
162 | |||
163 | #ifdef CONFIG_SH_UNKNOWN | ||
164 | if (mv == NULL) { | ||
165 | mv = &mv_unknown; | ||
166 | if (*mv_name != '\0') { | ||
167 | printk("Warning: Unsupported machine %s, using unknown\n", | ||
168 | mv_name); | ||
169 | } | ||
170 | } | ||
171 | sh_mv = *mv; | ||
172 | #endif | ||
173 | |||
174 | /* | ||
175 | * Manually walk the vec, fill in anything that the board hasn't yet | ||
176 | * by hand, wrapping to the generic implementation. | ||
177 | */ | ||
178 | #define mv_set(elem) do { \ | ||
179 | if (!sh_mv.mv_##elem) \ | ||
180 | sh_mv.mv_##elem = generic_##elem; \ | ||
181 | } while (0) | ||
182 | |||
183 | mv_set(inb); mv_set(inw); mv_set(inl); | ||
184 | mv_set(outb); mv_set(outw); mv_set(outl); | ||
185 | |||
186 | mv_set(inb_p); mv_set(inw_p); mv_set(inl_p); | ||
187 | mv_set(outb_p); mv_set(outw_p); mv_set(outl_p); | ||
188 | |||
189 | mv_set(insb); mv_set(insw); mv_set(insl); | ||
190 | mv_set(outsb); mv_set(outsw); mv_set(outsl); | ||
191 | |||
192 | mv_set(readb); mv_set(readw); mv_set(readl); | ||
193 | mv_set(writeb); mv_set(writew); mv_set(writel); | ||
194 | |||
195 | mv_set(ioport_map); | ||
196 | mv_set(ioport_unmap); | ||
197 | mv_set(irq_demux); | ||
198 | |||
199 | #ifdef CONFIG_SH_UNKNOWN | ||
200 | __set_io_port_base(mv_io_base); | ||
201 | #endif | ||
202 | |||
203 | if (!sh_mv.mv_nr_irqs) | ||
204 | sh_mv.mv_nr_irqs = NR_IRQS; | ||
205 | 90 | ||
206 | return 0; | 91 | return 0; |
207 | } | 92 | } |
93 | early_param("mem", early_parse_mem); | ||
208 | 94 | ||
209 | /* | 95 | /* |
210 | * Register fully available low RAM pages with the bootmem allocator. | 96 | * Register fully available low RAM pages with the bootmem allocator. |
@@ -230,7 +116,7 @@ static void __init register_bootmem_low_pages(void) | |||
230 | free_bootmem(PFN_PHYS(curr_pfn), PFN_PHYS(pages)); | 116 | free_bootmem(PFN_PHYS(curr_pfn), PFN_PHYS(pages)); |
231 | } | 117 | } |
232 | 118 | ||
233 | void __init setup_bootmem_allocator(unsigned long start_pfn) | 119 | void __init setup_bootmem_allocator(unsigned long free_pfn) |
234 | { | 120 | { |
235 | unsigned long bootmap_size; | 121 | unsigned long bootmap_size; |
236 | 122 | ||
@@ -239,9 +125,10 @@ void __init setup_bootmem_allocator(unsigned long start_pfn) | |||
239 | * bootstrap step all allocations (until the page allocator | 125 | * bootstrap step all allocations (until the page allocator |
240 | * is intact) must be done via bootmem_alloc(). | 126 | * is intact) must be done via bootmem_alloc(). |
241 | */ | 127 | */ |
242 | bootmap_size = init_bootmem_node(NODE_DATA(0), start_pfn, | 128 | bootmap_size = init_bootmem_node(NODE_DATA(0), free_pfn, |
243 | min_low_pfn, max_low_pfn); | 129 | min_low_pfn, max_low_pfn); |
244 | 130 | ||
131 | add_active_range(0, min_low_pfn, max_low_pfn); | ||
245 | register_bootmem_low_pages(); | 132 | register_bootmem_low_pages(); |
246 | 133 | ||
247 | node_set_online(0); | 134 | node_set_online(0); |
@@ -254,7 +141,7 @@ void __init setup_bootmem_allocator(unsigned long start_pfn) | |||
254 | * an invalid RAM area. | 141 | * an invalid RAM area. |
255 | */ | 142 | */ |
256 | reserve_bootmem(__MEMORY_START+PAGE_SIZE, | 143 | reserve_bootmem(__MEMORY_START+PAGE_SIZE, |
257 | (PFN_PHYS(start_pfn)+bootmap_size+PAGE_SIZE-1)-__MEMORY_START); | 144 | (PFN_PHYS(free_pfn)+bootmap_size+PAGE_SIZE-1)-__MEMORY_START); |
258 | 145 | ||
259 | /* | 146 | /* |
260 | * reserve physical page 0 - it's a special BIOS page on many boxes, | 147 | * reserve physical page 0 - it's a special BIOS page on many boxes, |
@@ -262,6 +149,8 @@ void __init setup_bootmem_allocator(unsigned long start_pfn) | |||
262 | */ | 149 | */ |
263 | reserve_bootmem(__MEMORY_START, PAGE_SIZE); | 150 | reserve_bootmem(__MEMORY_START, PAGE_SIZE); |
264 | 151 | ||
152 | sparse_memory_present_with_active_regions(0); | ||
153 | |||
265 | #ifdef CONFIG_BLK_DEV_INITRD | 154 | #ifdef CONFIG_BLK_DEV_INITRD |
266 | ROOT_DEV = MKDEV(RAMDISK_MAJOR, 0); | 155 | ROOT_DEV = MKDEV(RAMDISK_MAJOR, 0); |
267 | if (&__rd_start != &__rd_end) { | 156 | if (&__rd_start != &__rd_end) { |
@@ -315,10 +204,6 @@ void __init setup_arch(char **cmdline_p) | |||
315 | { | 204 | { |
316 | enable_mmu(); | 205 | enable_mmu(); |
317 | 206 | ||
318 | #ifdef CONFIG_CMDLINE_BOOL | ||
319 | strcpy(COMMAND_LINE, CONFIG_CMDLINE); | ||
320 | #endif | ||
321 | |||
322 | ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV); | 207 | ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV); |
323 | 208 | ||
324 | #ifdef CONFIG_BLK_DEV_RAM | 209 | #ifdef CONFIG_BLK_DEV_RAM |
@@ -339,9 +224,22 @@ void __init setup_arch(char **cmdline_p) | |||
339 | data_resource.start = virt_to_phys(_etext); | 224 | data_resource.start = virt_to_phys(_etext); |
340 | data_resource.end = virt_to_phys(_edata)-1; | 225 | data_resource.end = virt_to_phys(_edata)-1; |
341 | 226 | ||
227 | memory_start = (unsigned long)PAGE_OFFSET+__MEMORY_START; | ||
228 | memory_end = memory_start + __MEMORY_SIZE; | ||
229 | |||
230 | #ifdef CONFIG_CMDLINE_BOOL | ||
231 | strlcpy(command_line, CONFIG_CMDLINE, sizeof(command_line)); | ||
232 | #else | ||
233 | strlcpy(command_line, COMMAND_LINE, sizeof(command_line)); | ||
234 | #endif | ||
235 | |||
236 | /* Save unparsed command line copy for /proc/cmdline */ | ||
237 | memcpy(boot_command_line, command_line, COMMAND_LINE_SIZE); | ||
238 | *cmdline_p = command_line; | ||
239 | |||
342 | parse_early_param(); | 240 | parse_early_param(); |
343 | 241 | ||
344 | sh_mv_setup(cmdline_p); | 242 | sh_mv_setup(); |
345 | 243 | ||
346 | /* | 244 | /* |
347 | * Find the highest page frame number we have available | 245 | * Find the highest page frame number we have available |
@@ -355,8 +253,9 @@ void __init setup_arch(char **cmdline_p) | |||
355 | min_low_pfn = __MEMORY_START >> PAGE_SHIFT; | 253 | min_low_pfn = __MEMORY_START >> PAGE_SHIFT; |
356 | 254 | ||
357 | nodes_clear(node_online_map); | 255 | nodes_clear(node_online_map); |
256 | |||
257 | /* Setup bootmem with available RAM */ | ||
358 | setup_memory(); | 258 | setup_memory(); |
359 | paging_init(); | ||
360 | sparse_init(); | 259 | sparse_init(); |
361 | 260 | ||
362 | #ifdef CONFIG_DUMMY_CONSOLE | 261 | #ifdef CONFIG_DUMMY_CONSOLE |
@@ -366,46 +265,13 @@ void __init setup_arch(char **cmdline_p) | |||
366 | /* Perform the machine specific initialisation */ | 265 | /* Perform the machine specific initialisation */ |
367 | if (likely(sh_mv.mv_setup)) | 266 | if (likely(sh_mv.mv_setup)) |
368 | sh_mv.mv_setup(cmdline_p); | 267 | sh_mv.mv_setup(cmdline_p); |
369 | } | ||
370 | |||
371 | struct sh_machine_vector* __init get_mv_byname(const char* name) | ||
372 | { | ||
373 | extern long __machvec_start, __machvec_end; | ||
374 | struct sh_machine_vector *all_vecs = | ||
375 | (struct sh_machine_vector *)&__machvec_start; | ||
376 | |||
377 | int i, n = ((unsigned long)&__machvec_end | ||
378 | - (unsigned long)&__machvec_start)/ | ||
379 | sizeof(struct sh_machine_vector); | ||
380 | |||
381 | for (i = 0; i < n; ++i) { | ||
382 | struct sh_machine_vector *mv = &all_vecs[i]; | ||
383 | if (mv == NULL) | ||
384 | continue; | ||
385 | if (strcasecmp(name, get_system_type()) == 0) { | ||
386 | return mv; | ||
387 | } | ||
388 | } | ||
389 | return NULL; | ||
390 | } | ||
391 | |||
392 | static struct cpu cpu[NR_CPUS]; | ||
393 | |||
394 | static int __init topology_init(void) | ||
395 | { | ||
396 | int cpu_id; | ||
397 | 268 | ||
398 | for_each_possible_cpu(cpu_id) | 269 | paging_init(); |
399 | register_cpu(&cpu[cpu_id], cpu_id); | ||
400 | |||
401 | return 0; | ||
402 | } | 270 | } |
403 | 271 | ||
404 | subsys_initcall(topology_init); | ||
405 | |||
406 | static const char *cpu_name[] = { | 272 | static const char *cpu_name[] = { |
407 | [CPU_SH7206] = "SH7206", [CPU_SH7619] = "SH7619", | 273 | [CPU_SH7206] = "SH7206", [CPU_SH7619] = "SH7619", |
408 | [CPU_SH7604] = "SH7604", [CPU_SH7300] = "SH7300", | 274 | [CPU_SH7300] = "SH7300", |
409 | [CPU_SH7705] = "SH7705", [CPU_SH7706] = "SH7706", | 275 | [CPU_SH7705] = "SH7705", [CPU_SH7706] = "SH7706", |
410 | [CPU_SH7707] = "SH7707", [CPU_SH7708] = "SH7708", | 276 | [CPU_SH7707] = "SH7707", [CPU_SH7708] = "SH7708", |
411 | [CPU_SH7709] = "SH7709", [CPU_SH7710] = "SH7710", | 277 | [CPU_SH7709] = "SH7709", [CPU_SH7710] = "SH7710", |
@@ -419,7 +285,7 @@ static const char *cpu_name[] = { | |||
419 | [CPU_SH7770] = "SH7770", [CPU_SH7780] = "SH7780", | 285 | [CPU_SH7770] = "SH7770", [CPU_SH7780] = "SH7780", |
420 | [CPU_SH7781] = "SH7781", [CPU_SH7343] = "SH7343", | 286 | [CPU_SH7781] = "SH7781", [CPU_SH7343] = "SH7343", |
421 | [CPU_SH7785] = "SH7785", [CPU_SH7722] = "SH7722", | 287 | [CPU_SH7785] = "SH7785", [CPU_SH7722] = "SH7722", |
422 | [CPU_SH_NONE] = "Unknown" | 288 | [CPU_SHX3] = "SH-X3", [CPU_SH_NONE] = "Unknown" |
423 | }; | 289 | }; |
424 | 290 | ||
425 | const char *get_cpu_subtype(struct sh_cpuinfo *c) | 291 | const char *get_cpu_subtype(struct sh_cpuinfo *c) |
diff --git a/arch/sh/kernel/sh_ksyms.c b/arch/sh/kernel/sh_ksyms.c index c1cfcb9f047c..c968dcf09eee 100644 --- a/arch/sh/kernel/sh_ksyms.c +++ b/arch/sh/kernel/sh_ksyms.c | |||
@@ -78,6 +78,16 @@ DECLARE_EXPORT(__movstr); | |||
78 | DECLARE_EXPORT(__movmem_i4_even); | 78 | DECLARE_EXPORT(__movmem_i4_even); |
79 | DECLARE_EXPORT(__movmem_i4_odd); | 79 | DECLARE_EXPORT(__movmem_i4_odd); |
80 | DECLARE_EXPORT(__movmemSI12_i4); | 80 | DECLARE_EXPORT(__movmemSI12_i4); |
81 | |||
82 | #if (__GNUC_MINOR__ == 2 || defined(__GNUC_STM_RELEASE__)) | ||
83 | /* | ||
84 | * GCC 4.2 emits these for division, as do GCC 4.1.x versions of the ST | ||
85 | * compiler which include backported patches. | ||
86 | */ | ||
87 | DECLARE_EXPORT(__sdivsi3_i4i); | ||
88 | DECLARE_EXPORT(__udiv_qrnnd_16); | ||
89 | DECLARE_EXPORT(__udivsi3_i4i); | ||
90 | #endif | ||
81 | #else /* GCC 3.x */ | 91 | #else /* GCC 3.x */ |
82 | DECLARE_EXPORT(__movstr_i4_even); | 92 | DECLARE_EXPORT(__movstr_i4_even); |
83 | DECLARE_EXPORT(__movstr_i4_odd); | 93 | DECLARE_EXPORT(__movstr_i4_odd); |
diff --git a/arch/sh/kernel/signal.c b/arch/sh/kernel/signal.c index e323e299878b..706d81ccd101 100644 --- a/arch/sh/kernel/signal.c +++ b/arch/sh/kernel/signal.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/personality.h> | 23 | #include <linux/personality.h> |
24 | #include <linux/binfmts.h> | 24 | #include <linux/binfmts.h> |
25 | #include <linux/freezer.h> | 25 | #include <linux/freezer.h> |
26 | #include <linux/io.h> | ||
26 | #include <asm/system.h> | 27 | #include <asm/system.h> |
27 | #include <asm/ucontext.h> | 28 | #include <asm/ucontext.h> |
28 | #include <asm/uaccess.h> | 29 | #include <asm/uaccess.h> |
@@ -261,7 +262,7 @@ asmlinkage int sys_rt_sigreturn(unsigned long r4, unsigned long r5, | |||
261 | goto badframe; | 262 | goto badframe; |
262 | /* It is more difficult to avoid calling this function than to | 263 | /* It is more difficult to avoid calling this function than to |
263 | call it and ignore errors. */ | 264 | call it and ignore errors. */ |
264 | do_sigaltstack(&st, NULL, regs->regs[15]); | 265 | do_sigaltstack((const stack_t __user *)&st, NULL, (unsigned long)frame); |
265 | 266 | ||
266 | return r0; | 267 | return r0; |
267 | 268 | ||
diff --git a/arch/sh/kernel/syscalls.S b/arch/sh/kernel/syscalls.S index 7db1c2dc5992..ff5656e60c05 100644 --- a/arch/sh/kernel/syscalls.S +++ b/arch/sh/kernel/syscalls.S | |||
@@ -308,9 +308,9 @@ ENTRY(sys_call_table) | |||
308 | .long sys_utimes | 308 | .long sys_utimes |
309 | .long sys_fadvise64_64_wrapper | 309 | .long sys_fadvise64_64_wrapper |
310 | .long sys_ni_syscall /* Reserved for vserver */ | 310 | .long sys_ni_syscall /* Reserved for vserver */ |
311 | .long sys_ni_syscall /* Reserved for mbind */ | 311 | .long sys_mbind |
312 | .long sys_ni_syscall /* 275 - get_mempolicy */ | 312 | .long sys_get_mempolicy /* 275 */ |
313 | .long sys_ni_syscall /* set_mempolicy */ | 313 | .long sys_set_mempolicy |
314 | .long sys_mq_open | 314 | .long sys_mq_open |
315 | .long sys_mq_unlink | 315 | .long sys_mq_unlink |
316 | .long sys_mq_timedsend | 316 | .long sys_mq_timedsend |
diff --git a/arch/sh/kernel/timers/timer-tmu.c b/arch/sh/kernel/timers/timer-tmu.c index 2d997e2a5b6c..097ebd49f1bf 100644 --- a/arch/sh/kernel/timers/timer-tmu.c +++ b/arch/sh/kernel/timers/timer-tmu.c | |||
@@ -30,7 +30,7 @@ | |||
30 | 30 | ||
31 | static int tmu_timer_start(void) | 31 | static int tmu_timer_start(void) |
32 | { | 32 | { |
33 | ctrl_outb(ctrl_inb(TMU_TSTR) | 0x3, TMU_TSTR); | 33 | ctrl_outb(ctrl_inb(TMU_012_TSTR) | 0x3, TMU_012_TSTR); |
34 | return 0; | 34 | return 0; |
35 | } | 35 | } |
36 | 36 | ||
@@ -52,7 +52,7 @@ static void tmu0_timer_set_interval(unsigned long interval, unsigned int reload) | |||
52 | 52 | ||
53 | static int tmu_timer_stop(void) | 53 | static int tmu_timer_stop(void) |
54 | { | 54 | { |
55 | ctrl_outb(ctrl_inb(TMU_TSTR) & ~0x3, TMU_TSTR); | 55 | ctrl_outb(ctrl_inb(TMU_012_TSTR) & ~0x3, TMU_012_TSTR); |
56 | return 0; | 56 | return 0; |
57 | } | 57 | } |
58 | 58 | ||
@@ -174,7 +174,8 @@ static int tmu_timer_init(void) | |||
174 | 174 | ||
175 | #if !defined(CONFIG_CPU_SUBTYPE_SH7300) && \ | 175 | #if !defined(CONFIG_CPU_SUBTYPE_SH7300) && \ |
176 | !defined(CONFIG_CPU_SUBTYPE_SH7760) && \ | 176 | !defined(CONFIG_CPU_SUBTYPE_SH7760) && \ |
177 | !defined(CONFIG_CPU_SUBTYPE_SH7785) | 177 | !defined(CONFIG_CPU_SUBTYPE_SH7785) && \ |
178 | !defined(CONFIG_CPU_SUBTYPE_SHX3) | ||
178 | ctrl_outb(TMU_TOCR_INIT, TMU_TOCR); | 179 | ctrl_outb(TMU_TOCR_INIT, TMU_TOCR); |
179 | #endif | 180 | #endif |
180 | 181 | ||
diff --git a/arch/sh/kernel/topology.c b/arch/sh/kernel/topology.c new file mode 100644 index 000000000000..9b5844a1bdaa --- /dev/null +++ b/arch/sh/kernel/topology.c | |||
@@ -0,0 +1,49 @@ | |||
1 | /* | ||
2 | * arch/sh/kernel/topology.c | ||
3 | * | ||
4 | * Copyright (C) 2007 Paul Mundt | ||
5 | * | ||
6 | * This file is subject to the terms and conditions of the GNU General Public | ||
7 | * License. See the file "COPYING" in the main directory of this archive | ||
8 | * for more details. | ||
9 | */ | ||
10 | #include <linux/cpu.h> | ||
11 | #include <linux/cpumask.h> | ||
12 | #include <linux/init.h> | ||
13 | #include <linux/percpu.h> | ||
14 | #include <linux/node.h> | ||
15 | #include <linux/nodemask.h> | ||
16 | |||
17 | static DEFINE_PER_CPU(struct cpu, cpu_devices); | ||
18 | |||
19 | static int __init topology_init(void) | ||
20 | { | ||
21 | int i, ret; | ||
22 | |||
23 | #ifdef CONFIG_NEED_MULTIPLE_NODES | ||
24 | for_each_online_node(i) | ||
25 | register_one_node(i); | ||
26 | #endif | ||
27 | |||
28 | for_each_present_cpu(i) { | ||
29 | ret = register_cpu(&per_cpu(cpu_devices, i), i); | ||
30 | if (unlikely(ret)) | ||
31 | printk(KERN_WARNING "%s: register_cpu %d failed (%d)\n", | ||
32 | __FUNCTION__, i, ret); | ||
33 | } | ||
34 | |||
35 | #if defined(CONFIG_NUMA) && !defined(CONFIG_SMP) | ||
36 | /* | ||
37 | * In the UP case, make sure the CPU association is still | ||
38 | * registered under each node. Without this, sysfs fails | ||
39 | * to make the connection between nodes other than node0 | ||
40 | * and cpu0. | ||
41 | */ | ||
42 | for_each_online_node(i) | ||
43 | if (i != numa_node_id()) | ||
44 | register_cpu_under_node(raw_smp_processor_id(), i); | ||
45 | #endif | ||
46 | |||
47 | return 0; | ||
48 | } | ||
49 | subsys_initcall(topology_init); | ||
diff --git a/arch/sh/kernel/traps.c b/arch/sh/kernel/traps.c index 09480887076b..05a40f3c30bf 100644 --- a/arch/sh/kernel/traps.c +++ b/arch/sh/kernel/traps.c | |||
@@ -584,7 +584,7 @@ uspace_segv: | |||
584 | info.si_signo = SIGBUS; | 584 | info.si_signo = SIGBUS; |
585 | info.si_errno = 0; | 585 | info.si_errno = 0; |
586 | info.si_code = si_code; | 586 | info.si_code = si_code; |
587 | info.si_addr = (void *) address; | 587 | info.si_addr = (void __user *)address; |
588 | force_sig_info(SIGBUS, &info, current); | 588 | force_sig_info(SIGBUS, &info, current); |
589 | } else { | 589 | } else { |
590 | if (regs->pc & 1) | 590 | if (regs->pc & 1) |
@@ -617,7 +617,7 @@ uspace_segv: | |||
617 | */ | 617 | */ |
618 | int is_dsp_inst(struct pt_regs *regs) | 618 | int is_dsp_inst(struct pt_regs *regs) |
619 | { | 619 | { |
620 | unsigned short inst; | 620 | unsigned short inst = 0; |
621 | 621 | ||
622 | /* | 622 | /* |
623 | * Safe guard if DSP mode is already enabled or we're lacking | 623 | * Safe guard if DSP mode is already enabled or we're lacking |
@@ -645,7 +645,6 @@ asmlinkage void do_divide_error(unsigned long r4, unsigned long r5, | |||
645 | unsigned long r6, unsigned long r7, | 645 | unsigned long r6, unsigned long r7, |
646 | struct pt_regs __regs) | 646 | struct pt_regs __regs) |
647 | { | 647 | { |
648 | struct pt_regs *regs = RELOC_HIDE(&__regs, 0); | ||
649 | siginfo_t info; | 648 | siginfo_t info; |
650 | 649 | ||
651 | switch (r4) { | 650 | switch (r4) { |
diff --git a/arch/sh/kernel/vmlinux.lds.S b/arch/sh/kernel/vmlinux.lds.S index 4c5b57e9c3c1..0696402f446a 100644 --- a/arch/sh/kernel/vmlinux.lds.S +++ b/arch/sh/kernel/vmlinux.lds.S | |||
@@ -97,18 +97,20 @@ SECTIONS | |||
97 | __initramfs_end = .; | 97 | __initramfs_end = .; |
98 | #endif | 98 | #endif |
99 | 99 | ||
100 | . = ALIGN(4); | ||
100 | __machvec_start = .; | 101 | __machvec_start = .; |
101 | .init.machvec : { *(.init.machvec) } | 102 | .machvec.init : { *(.machvec.init) } |
102 | __machvec_end = .; | 103 | __machvec_end = .; |
103 | . = ALIGN(PAGE_SIZE); | ||
104 | __init_end = .; | ||
105 | |||
106 | . = ALIGN(4); | ||
107 | __bss_start = .; /* BSS */ | ||
108 | .bss : { *(.bss) } | ||
109 | 104 | ||
110 | . = ALIGN(4); | 105 | . = ALIGN(PAGE_SIZE); |
111 | _end = . ; | 106 | .bss : { |
107 | __init_end = .; | ||
108 | __bss_start = .; /* BSS */ | ||
109 | *(.bss.page_aligned) | ||
110 | *(.bss) | ||
111 | . = ALIGN(4); | ||
112 | _end = . ; | ||
113 | } | ||
112 | 114 | ||
113 | /* When something in the kernel is NOT compiled as a module, the | 115 | /* When something in the kernel is NOT compiled as a module, the |
114 | * module cleanup code and data are put into these segments. Both | 116 | * module cleanup code and data are put into these segments. Both |
diff --git a/arch/sh/lib/div64-generic.c b/arch/sh/lib/div64-generic.c index c02473afd581..4bef3b5d964a 100644 --- a/arch/sh/lib/div64-generic.c +++ b/arch/sh/lib/div64-generic.c | |||
@@ -4,16 +4,15 @@ | |||
4 | 4 | ||
5 | #include <linux/types.h> | 5 | #include <linux/types.h> |
6 | 6 | ||
7 | extern u64 __xdiv64_32(u64 n, u32 d); | 7 | extern uint64_t __xdiv64_32(u64 n, u32 d); |
8 | 8 | ||
9 | u64 __div64_32(u64 *xp, u32 y) | 9 | uint32_t __div64_32(u64 *xp, u32 y) |
10 | { | 10 | { |
11 | u64 rem; | 11 | uint32_t rem; |
12 | u64 q = __xdiv64_32(*xp, y); | 12 | uint64_t q = __xdiv64_32(*xp, y); |
13 | 13 | ||
14 | rem = *xp - q * y; | 14 | rem = *xp - q * y; |
15 | *xp = q; | 15 | *xp = q; |
16 | 16 | ||
17 | return rem; | 17 | return rem; |
18 | } | 18 | } |
19 | |||
diff --git a/arch/sh/lib/div64.S b/arch/sh/lib/div64.S index eefc275d64a7..5ee7334ea64f 100644 --- a/arch/sh/lib/div64.S +++ b/arch/sh/lib/div64.S | |||
@@ -1,12 +1,12 @@ | |||
1 | /* | 1 | /* |
2 | * unsigned long long __xdiv64_32(unsigned long long n, unsigned long d); | 2 | * unsigned long __xdiv64_32(unsigned long long n, unsigned long d); |
3 | */ | 3 | */ |
4 | 4 | ||
5 | #include <linux/linkage.h> | 5 | #include <linux/linkage.h> |
6 | 6 | ||
7 | .text | 7 | .text |
8 | ENTRY(__xdiv64_32) | 8 | ENTRY(__xdiv64_32) |
9 | #ifdef __LITTLE_ENDIAN__ | 9 | #ifdef CONFIG_CPU_LITTLE_ENDIAN |
10 | mov r4, r0 | 10 | mov r4, r0 |
11 | mov r5, r1 | 11 | mov r5, r1 |
12 | #else | 12 | #else |
@@ -34,7 +34,7 @@ ENTRY(__xdiv64_32) | |||
34 | rotcl r0 | 34 | rotcl r0 |
35 | div1 r6, r1 | 35 | div1 r6, r1 |
36 | .endr | 36 | .endr |
37 | #ifdef __LITTLE_ENDIAN__ | 37 | #ifdef CONFIG_CPU_LITTLE_ENDIAN |
38 | mov r2, r1 | 38 | mov r2, r1 |
39 | rts | 39 | rts |
40 | rotcl r0 | 40 | rotcl r0 |
diff --git a/arch/sh/math-emu/math.c b/arch/sh/math-emu/math.c index a38e1eed9e77..ac2d7abd2567 100644 --- a/arch/sh/math-emu/math.c +++ b/arch/sh/math-emu/math.c | |||
@@ -507,6 +507,7 @@ static int ieee_fpe_handler(struct pt_regs *regs) | |||
507 | unsigned short insn = *(unsigned short *)regs->pc; | 507 | unsigned short insn = *(unsigned short *)regs->pc; |
508 | unsigned short finsn; | 508 | unsigned short finsn; |
509 | unsigned long nextpc; | 509 | unsigned long nextpc; |
510 | siginfo_t info; | ||
510 | int nib[4] = { | 511 | int nib[4] = { |
511 | (insn >> 12) & 0xf, | 512 | (insn >> 12) & 0xf, |
512 | (insn >> 8) & 0xf, | 513 | (insn >> 8) & 0xf, |
@@ -559,9 +560,11 @@ static int ieee_fpe_handler(struct pt_regs *regs) | |||
559 | ~(FPSCR_CAUSE_MASK | FPSCR_FLAG_MASK); | 560 | ~(FPSCR_CAUSE_MASK | FPSCR_FLAG_MASK); |
560 | set_tsk_thread_flag(tsk, TIF_USEDFPU); | 561 | set_tsk_thread_flag(tsk, TIF_USEDFPU); |
561 | } else { | 562 | } else { |
562 | tsk->thread.trap_no = 11; | 563 | info.si_signo = SIGFPE; |
563 | tsk->thread.error_code = 0; | 564 | info.si_errno = 0; |
564 | force_sig(SIGFPE, tsk); | 565 | info.si_code = FPE_FLTINV; |
566 | info.si_addr = (void __user *)regs->pc; | ||
567 | force_sig_info(SIGFPE, &info, tsk); | ||
565 | } | 568 | } |
566 | 569 | ||
567 | regs->pc = nextpc; | 570 | regs->pc = nextpc; |
@@ -576,14 +579,17 @@ asmlinkage void do_fpu_error(unsigned long r4, unsigned long r5, | |||
576 | struct pt_regs regs) | 579 | struct pt_regs regs) |
577 | { | 580 | { |
578 | struct task_struct *tsk = current; | 581 | struct task_struct *tsk = current; |
582 | siginfo_t info; | ||
579 | 583 | ||
580 | if (ieee_fpe_handler (®s)) | 584 | if (ieee_fpe_handler (®s)) |
581 | return; | 585 | return; |
582 | 586 | ||
583 | regs.pc += 2; | 587 | regs.pc += 2; |
584 | tsk->thread.trap_no = 11; | 588 | info.si_signo = SIGFPE; |
585 | tsk->thread.error_code = 0; | 589 | info.si_errno = 0; |
586 | force_sig(SIGFPE, tsk); | 590 | info.si_code = FPE_FLTINV; |
591 | info.si_addr = (void __user *)regs.pc; | ||
592 | force_sig_info(SIGFPE, &info, tsk); | ||
587 | } | 593 | } |
588 | 594 | ||
589 | /** | 595 | /** |
diff --git a/arch/sh/mm/Kconfig b/arch/sh/mm/Kconfig index 253346d7b316..28d79a474cde 100644 --- a/arch/sh/mm/Kconfig +++ b/arch/sh/mm/Kconfig | |||
@@ -1,5 +1,3 @@ | |||
1 | menu "Processor selection" | ||
2 | |||
3 | # | 1 | # |
4 | # Processor families | 2 | # Processor families |
5 | # | 3 | # |
@@ -38,27 +36,31 @@ config CPU_SUBTYPE_ST40 | |||
38 | config CPU_SHX2 | 36 | config CPU_SHX2 |
39 | bool | 37 | bool |
40 | 38 | ||
39 | config CPU_SHX3 | ||
40 | bool | ||
41 | |||
42 | choice | ||
43 | prompt "Processor sub-type selection" | ||
44 | |||
41 | # | 45 | # |
42 | # Processor subtypes | 46 | # Processor subtypes |
43 | # | 47 | # |
44 | 48 | ||
45 | comment "SH-2 Processor Support" | 49 | # SH-2 Processor Support |
46 | |||
47 | config CPU_SUBTYPE_SH7604 | ||
48 | bool "Support SH7604 processor" | ||
49 | select CPU_SH2 | ||
50 | 50 | ||
51 | config CPU_SUBTYPE_SH7619 | 51 | config CPU_SUBTYPE_SH7619 |
52 | bool "Support SH7619 processor" | 52 | bool "Support SH7619 processor" |
53 | select CPU_SH2 | 53 | select CPU_SH2 |
54 | select CPU_HAS_IPR_IRQ | ||
54 | 55 | ||
55 | comment "SH-2A Processor Support" | 56 | # SH-2A Processor Support |
56 | 57 | ||
57 | config CPU_SUBTYPE_SH7206 | 58 | config CPU_SUBTYPE_SH7206 |
58 | bool "Support SH7206 processor" | 59 | bool "Support SH7206 processor" |
59 | select CPU_SH2A | 60 | select CPU_SH2A |
61 | select CPU_HAS_IPR_IRQ | ||
60 | 62 | ||
61 | comment "SH-3 Processor Support" | 63 | # SH-3 Processor Support |
62 | 64 | ||
63 | config CPU_SUBTYPE_SH7300 | 65 | config CPU_SUBTYPE_SH7300 |
64 | bool "Support SH7300 processor" | 66 | bool "Support SH7300 processor" |
@@ -113,7 +115,7 @@ config CPU_SUBTYPE_SH7712 | |||
113 | help | 115 | help |
114 | Select SH7712 if you have a SH3-DSP SH7712 CPU. | 116 | Select SH7712 if you have a SH3-DSP SH7712 CPU. |
115 | 117 | ||
116 | comment "SH-4 Processor Support" | 118 | # SH-4 Processor Support |
117 | 119 | ||
118 | config CPU_SUBTYPE_SH7750 | 120 | config CPU_SUBTYPE_SH7750 |
119 | bool "Support SH7750 processor" | 121 | bool "Support SH7750 processor" |
@@ -125,7 +127,7 @@ config CPU_SUBTYPE_SH7750 | |||
125 | config CPU_SUBTYPE_SH7091 | 127 | config CPU_SUBTYPE_SH7091 |
126 | bool "Support SH7091 processor" | 128 | bool "Support SH7091 processor" |
127 | select CPU_SH4 | 129 | select CPU_SH4 |
128 | select CPU_SUBTYPE_SH7750 | 130 | select CPU_HAS_IPR_IRQ |
129 | help | 131 | help |
130 | Select SH7091 if you have an SH-4 based Sega device (such as | 132 | Select SH7091 if you have an SH-4 based Sega device (such as |
131 | the Dreamcast, Naomi, and Naomi 2). | 133 | the Dreamcast, Naomi, and Naomi 2). |
@@ -133,13 +135,11 @@ config CPU_SUBTYPE_SH7091 | |||
133 | config CPU_SUBTYPE_SH7750R | 135 | config CPU_SUBTYPE_SH7750R |
134 | bool "Support SH7750R processor" | 136 | bool "Support SH7750R processor" |
135 | select CPU_SH4 | 137 | select CPU_SH4 |
136 | select CPU_SUBTYPE_SH7750 | ||
137 | select CPU_HAS_IPR_IRQ | 138 | select CPU_HAS_IPR_IRQ |
138 | 139 | ||
139 | config CPU_SUBTYPE_SH7750S | 140 | config CPU_SUBTYPE_SH7750S |
140 | bool "Support SH7750S processor" | 141 | bool "Support SH7750S processor" |
141 | select CPU_SH4 | 142 | select CPU_SH4 |
142 | select CPU_SUBTYPE_SH7750 | ||
143 | select CPU_HAS_IPR_IRQ | 143 | select CPU_HAS_IPR_IRQ |
144 | 144 | ||
145 | config CPU_SUBTYPE_SH7751 | 145 | config CPU_SUBTYPE_SH7751 |
@@ -153,7 +153,6 @@ config CPU_SUBTYPE_SH7751 | |||
153 | config CPU_SUBTYPE_SH7751R | 153 | config CPU_SUBTYPE_SH7751R |
154 | bool "Support SH7751R processor" | 154 | bool "Support SH7751R processor" |
155 | select CPU_SH4 | 155 | select CPU_SH4 |
156 | select CPU_SUBTYPE_SH7751 | ||
157 | select CPU_HAS_IPR_IRQ | 156 | select CPU_HAS_IPR_IRQ |
158 | 157 | ||
159 | config CPU_SUBTYPE_SH7760 | 158 | config CPU_SUBTYPE_SH7760 |
@@ -166,7 +165,7 @@ config CPU_SUBTYPE_SH4_202 | |||
166 | bool "Support SH4-202 processor" | 165 | bool "Support SH4-202 processor" |
167 | select CPU_SH4 | 166 | select CPU_SH4 |
168 | 167 | ||
169 | comment "ST40 Processor Support" | 168 | # ST40 Processor Support |
170 | 169 | ||
171 | config CPU_SUBTYPE_ST40STB1 | 170 | config CPU_SUBTYPE_ST40STB1 |
172 | bool "Support ST40STB1/ST40RA processors" | 171 | bool "Support ST40STB1/ST40RA processors" |
@@ -181,7 +180,7 @@ config CPU_SUBTYPE_ST40GX1 | |||
181 | help | 180 | help |
182 | Select ST40GX1 if you have a ST40GX1 CPU. | 181 | Select ST40GX1 if you have a ST40GX1 CPU. |
183 | 182 | ||
184 | comment "SH-4A Processor Support" | 183 | # SH-4A Processor Support |
185 | 184 | ||
186 | config CPU_SUBTYPE_SH7770 | 185 | config CPU_SUBTYPE_SH7770 |
187 | bool "Support SH7770 processor" | 186 | bool "Support SH7770 processor" |
@@ -198,7 +197,13 @@ config CPU_SUBTYPE_SH7785 | |||
198 | select CPU_SHX2 | 197 | select CPU_SHX2 |
199 | select CPU_HAS_INTC2_IRQ | 198 | select CPU_HAS_INTC2_IRQ |
200 | 199 | ||
201 | comment "SH4AL-DSP Processor Support" | 200 | config CPU_SUBTYPE_SHX3 |
201 | bool "Support SH-X3 processor" | ||
202 | select CPU_SH4A | ||
203 | select CPU_SHX3 | ||
204 | select CPU_HAS_INTC2_IRQ | ||
205 | |||
206 | # SH4AL-DSP Processor Support | ||
202 | 207 | ||
203 | config CPU_SUBTYPE_SH73180 | 208 | config CPU_SUBTYPE_SH73180 |
204 | bool "Support SH73180 processor" | 209 | bool "Support SH73180 processor" |
@@ -213,8 +218,10 @@ config CPU_SUBTYPE_SH7722 | |||
213 | select CPU_SH4AL_DSP | 218 | select CPU_SH4AL_DSP |
214 | select CPU_SHX2 | 219 | select CPU_SHX2 |
215 | select CPU_HAS_IPR_IRQ | 220 | select CPU_HAS_IPR_IRQ |
221 | select ARCH_SPARSEMEM_ENABLE | ||
222 | select SYS_SUPPORTS_NUMA | ||
216 | 223 | ||
217 | endmenu | 224 | endchoice |
218 | 225 | ||
219 | menu "Memory management options" | 226 | menu "Memory management options" |
220 | 227 | ||
@@ -266,7 +273,7 @@ config MEMORY_SIZE | |||
266 | 273 | ||
267 | config 32BIT | 274 | config 32BIT |
268 | bool "Support 32-bit physical addressing through PMB" | 275 | bool "Support 32-bit physical addressing through PMB" |
269 | depends on CPU_SH4A && MMU && (!X2TLB || BROKEN) | 276 | depends on MMU && (CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785) |
270 | default y | 277 | default y |
271 | help | 278 | help |
272 | If you say Y here, physical addressing will be extended to | 279 | If you say Y here, physical addressing will be extended to |
@@ -295,6 +302,17 @@ config VSYSCALL | |||
295 | For systems with an MMU that can afford to give up a page, | 302 | For systems with an MMU that can afford to give up a page, |
296 | (the default value) say Y. | 303 | (the default value) say Y. |
297 | 304 | ||
305 | config NUMA | ||
306 | bool "Non Uniform Memory Access (NUMA) Support" | ||
307 | depends on MMU && SYS_SUPPORTS_NUMA && EXPERIMENTAL | ||
308 | default n | ||
309 | help | ||
310 | Some SH systems have many various memories scattered around | ||
311 | the address space, each with varying latencies. This enables | ||
312 | support for these blocks by binding them to nodes and allowing | ||
313 | memory policies to be used for prioritizing and controlling | ||
314 | allocation behaviour. | ||
315 | |||
298 | config NODES_SHIFT | 316 | config NODES_SHIFT |
299 | int | 317 | int |
300 | default "1" | 318 | default "1" |
@@ -302,14 +320,34 @@ config NODES_SHIFT | |||
302 | 320 | ||
303 | config ARCH_FLATMEM_ENABLE | 321 | config ARCH_FLATMEM_ENABLE |
304 | def_bool y | 322 | def_bool y |
323 | depends on !NUMA | ||
324 | |||
325 | config ARCH_SPARSEMEM_ENABLE | ||
326 | def_bool y | ||
327 | select SPARSEMEM_STATIC | ||
328 | |||
329 | config ARCH_SPARSEMEM_DEFAULT | ||
330 | def_bool y | ||
305 | 331 | ||
306 | config MAX_ACTIVE_REGIONS | 332 | config MAX_ACTIVE_REGIONS |
307 | int | 333 | int |
334 | default "2" if (CPU_SUBTYPE_SH7722 && SPARSEMEM) | ||
308 | default "1" | 335 | default "1" |
309 | 336 | ||
310 | config ARCH_POPULATES_NODE_MAP | 337 | config ARCH_POPULATES_NODE_MAP |
311 | def_bool y | 338 | def_bool y |
312 | 339 | ||
340 | config ARCH_SELECT_MEMORY_MODEL | ||
341 | def_bool y | ||
342 | |||
343 | config ARCH_ENABLE_MEMORY_HOTPLUG | ||
344 | def_bool y | ||
345 | depends on SPARSEMEM | ||
346 | |||
347 | config ARCH_MEMORY_PROBE | ||
348 | def_bool y | ||
349 | depends on MEMORY_HOTPLUG | ||
350 | |||
313 | choice | 351 | choice |
314 | prompt "Kernel page size" | 352 | prompt "Kernel page size" |
315 | default PAGE_SIZE_4KB | 353 | default PAGE_SIZE_4KB |
@@ -394,15 +432,4 @@ config SH_WRITETHROUGH | |||
394 | 432 | ||
395 | If unsure, say N. | 433 | If unsure, say N. |
396 | 434 | ||
397 | config SH_OCRAM | ||
398 | bool "Operand Cache RAM (OCRAM) support" | ||
399 | help | ||
400 | Selecting this option will automatically tear down the number of | ||
401 | sets in the dcache by half, which in turn exposes a memory range. | ||
402 | |||
403 | The addresses for the OC RAM base will vary according to the | ||
404 | processor version. Consult vendor documentation for specifics. | ||
405 | |||
406 | If unsure, say N. | ||
407 | |||
408 | endmenu | 435 | endmenu |
diff --git a/arch/sh/mm/Makefile b/arch/sh/mm/Makefile index 3ffd7f68c0a2..d677d7f3afc1 100644 --- a/arch/sh/mm/Makefile +++ b/arch/sh/mm/Makefile | |||
@@ -8,9 +8,6 @@ obj-$(CONFIG_CPU_SH2) += cache-sh2.o | |||
8 | obj-$(CONFIG_CPU_SH3) += cache-sh3.o | 8 | obj-$(CONFIG_CPU_SH3) += cache-sh3.o |
9 | obj-$(CONFIG_CPU_SH4) += cache-sh4.o | 9 | obj-$(CONFIG_CPU_SH4) += cache-sh4.o |
10 | 10 | ||
11 | obj-$(CONFIG_DMA_PAGE_OPS) += pg-dma.o | ||
12 | obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o | ||
13 | |||
14 | mmu-y := fault-nommu.o tlb-nommu.o pg-nommu.o | 11 | mmu-y := fault-nommu.o tlb-nommu.o pg-nommu.o |
15 | mmu-$(CONFIG_MMU) := fault.o clear_page.o copy_page.o tlb-flush.o \ | 12 | mmu-$(CONFIG_MMU) := fault.o clear_page.o copy_page.o tlb-flush.o \ |
16 | ioremap.o | 13 | ioremap.o |
@@ -27,5 +24,7 @@ obj-$(CONFIG_CPU_SH4) += tlb-sh4.o pg-sh4.o | |||
27 | obj-$(CONFIG_SH7705_CACHE_32KB) += pg-sh7705.o | 24 | obj-$(CONFIG_SH7705_CACHE_32KB) += pg-sh7705.o |
28 | endif | 25 | endif |
29 | 26 | ||
27 | obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o | ||
30 | obj-$(CONFIG_SH7705_CACHE_32KB) += cache-sh7705.o | 28 | obj-$(CONFIG_SH7705_CACHE_32KB) += cache-sh7705.o |
31 | obj-$(CONFIG_32BIT) += pmb.o | 29 | obj-$(CONFIG_32BIT) += pmb.o |
30 | obj-$(CONFIG_NUMA) += numa.o | ||
diff --git a/arch/sh/mm/fault.c b/arch/sh/mm/fault.c index c878faa4ae46..0b3eaf6fbb28 100644 --- a/arch/sh/mm/fault.c +++ b/arch/sh/mm/fault.c | |||
@@ -32,7 +32,6 @@ asmlinkage void __kprobes do_page_fault(struct pt_regs *regs, | |||
32 | struct task_struct *tsk; | 32 | struct task_struct *tsk; |
33 | struct mm_struct *mm; | 33 | struct mm_struct *mm; |
34 | struct vm_area_struct * vma; | 34 | struct vm_area_struct * vma; |
35 | unsigned long page; | ||
36 | int si_code; | 35 | int si_code; |
37 | siginfo_t info; | 36 | siginfo_t info; |
38 | 37 | ||
@@ -170,24 +169,38 @@ no_context: | |||
170 | * terminate things with extreme prejudice. | 169 | * terminate things with extreme prejudice. |
171 | * | 170 | * |
172 | */ | 171 | */ |
173 | if (address < PAGE_SIZE) | 172 | |
174 | printk(KERN_ALERT "Unable to handle kernel NULL pointer dereference"); | 173 | bust_spinlocks(1); |
175 | else | 174 | |
176 | printk(KERN_ALERT "Unable to handle kernel paging request"); | 175 | if (oops_may_print()) { |
177 | printk(" at virtual address %08lx\n", address); | 176 | __typeof__(pte_val(__pte(0))) page; |
178 | printk(KERN_ALERT "pc = %08lx\n", regs->pc); | 177 | |
179 | page = (unsigned long)get_TTB(); | 178 | if (address < PAGE_SIZE) |
180 | if (page) { | 179 | printk(KERN_ALERT "Unable to handle kernel NULL " |
181 | page = ((unsigned long *) page)[address >> PGDIR_SHIFT]; | 180 | "pointer dereference"); |
182 | printk(KERN_ALERT "*pde = %08lx\n", page); | 181 | else |
183 | if (page & _PAGE_PRESENT) { | 182 | printk(KERN_ALERT "Unable to handle kernel paging " |
184 | page &= PAGE_MASK; | 183 | "request"); |
185 | address &= 0x003ff000; | 184 | printk(" at virtual address %08lx\n", address); |
186 | page = ((unsigned long *) __va(page))[address >> PAGE_SHIFT]; | 185 | printk(KERN_ALERT "pc = %08lx\n", regs->pc); |
187 | printk(KERN_ALERT "*pte = %08lx\n", page); | 186 | page = (unsigned long)get_TTB(); |
187 | if (page) { | ||
188 | page = ((__typeof__(page) *) __va(page))[address >> | ||
189 | PGDIR_SHIFT]; | ||
190 | printk(KERN_ALERT "*pde = %08lx\n", page); | ||
191 | if (page & _PAGE_PRESENT) { | ||
192 | page &= PAGE_MASK; | ||
193 | address &= 0x003ff000; | ||
194 | page = ((__typeof__(page) *) | ||
195 | __va(page))[address >> | ||
196 | PAGE_SHIFT]; | ||
197 | printk(KERN_ALERT "*pte = %08lx\n", page); | ||
198 | } | ||
188 | } | 199 | } |
189 | } | 200 | } |
201 | |||
190 | die("Oops", regs, writeaccess); | 202 | die("Oops", regs, writeaccess); |
203 | bust_spinlocks(0); | ||
191 | do_exit(SIGKILL); | 204 | do_exit(SIGKILL); |
192 | 205 | ||
193 | /* | 206 | /* |
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c index e0e644ff3204..82b68c789a5f 100644 --- a/arch/sh/mm/init.c +++ b/arch/sh/mm/init.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <asm/mmu_context.h> | 18 | #include <asm/mmu_context.h> |
19 | #include <asm/tlb.h> | 19 | #include <asm/tlb.h> |
20 | #include <asm/cacheflush.h> | 20 | #include <asm/cacheflush.h> |
21 | #include <asm/sections.h> | ||
21 | #include <asm/cache.h> | 22 | #include <asm/cache.h> |
22 | 23 | ||
23 | DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); | 24 | DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); |
@@ -36,14 +37,11 @@ void show_mem(void) | |||
36 | show_free_areas(); | 37 | show_free_areas(); |
37 | 38 | ||
38 | for_each_online_pgdat(pgdat) { | 39 | for_each_online_pgdat(pgdat) { |
39 | struct page *page, *end; | 40 | unsigned long flags, i; |
40 | unsigned long flags; | ||
41 | 41 | ||
42 | pgdat_resize_lock(pgdat, &flags); | 42 | pgdat_resize_lock(pgdat, &flags); |
43 | page = pgdat->node_mem_map; | 43 | for (i = 0; i < pgdat->node_spanned_pages; i++) { |
44 | end = page + pgdat->node_spanned_pages; | 44 | struct page *page = pgdat_page_nr(pgdat, i); |
45 | |||
46 | do { | ||
47 | total++; | 45 | total++; |
48 | if (PageReserved(page)) | 46 | if (PageReserved(page)) |
49 | reserved++; | 47 | reserved++; |
@@ -55,9 +53,7 @@ void show_mem(void) | |||
55 | free++; | 53 | free++; |
56 | else | 54 | else |
57 | shared += page_count(page) - 1; | 55 | shared += page_count(page) - 1; |
58 | page++; | 56 | } |
59 | } while (page < end); | ||
60 | |||
61 | pgdat_resize_unlock(pgdat, &flags); | 57 | pgdat_resize_unlock(pgdat, &flags); |
62 | } | 58 | } |
63 | 59 | ||
@@ -137,16 +133,12 @@ void __set_fixmap(enum fixed_addresses idx, unsigned long phys, pgprot_t prot) | |||
137 | } | 133 | } |
138 | #endif /* CONFIG_MMU */ | 134 | #endif /* CONFIG_MMU */ |
139 | 135 | ||
140 | /* References to section boundaries */ | ||
141 | |||
142 | extern char _text, _etext, _edata, __bss_start, _end; | ||
143 | extern char __init_begin, __init_end; | ||
144 | |||
145 | /* | 136 | /* |
146 | * paging_init() sets up the page tables | 137 | * paging_init() sets up the page tables |
147 | */ | 138 | */ |
148 | void __init paging_init(void) | 139 | void __init paging_init(void) |
149 | { | 140 | { |
141 | unsigned long max_zone_pfns[MAX_NR_ZONES]; | ||
150 | int nid; | 142 | int nid; |
151 | 143 | ||
152 | /* We don't need to map the kernel through the TLB, as | 144 | /* We don't need to map the kernel through the TLB, as |
@@ -158,43 +150,39 @@ void __init paging_init(void) | |||
158 | * check for a null value. */ | 150 | * check for a null value. */ |
159 | set_TTB(swapper_pg_dir); | 151 | set_TTB(swapper_pg_dir); |
160 | 152 | ||
153 | memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); | ||
154 | |||
161 | for_each_online_node(nid) { | 155 | for_each_online_node(nid) { |
162 | pg_data_t *pgdat = NODE_DATA(nid); | 156 | pg_data_t *pgdat = NODE_DATA(nid); |
163 | unsigned long max_zone_pfns[MAX_NR_ZONES]; | ||
164 | unsigned long low, start_pfn; | 157 | unsigned long low, start_pfn; |
165 | 158 | ||
166 | memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); | ||
167 | |||
168 | start_pfn = pgdat->bdata->node_boot_start >> PAGE_SHIFT; | 159 | start_pfn = pgdat->bdata->node_boot_start >> PAGE_SHIFT; |
169 | low = pgdat->bdata->node_low_pfn; | 160 | low = pgdat->bdata->node_low_pfn; |
170 | 161 | ||
171 | max_zone_pfns[ZONE_NORMAL] = low; | 162 | if (max_zone_pfns[ZONE_NORMAL] < low) |
172 | add_active_range(nid, start_pfn, low); | 163 | max_zone_pfns[ZONE_NORMAL] = low; |
173 | 164 | ||
174 | printk("Node %u: start_pfn = 0x%lx, low = 0x%lx\n", | 165 | printk("Node %u: start_pfn = 0x%lx, low = 0x%lx\n", |
175 | nid, start_pfn, low); | 166 | nid, start_pfn, low); |
176 | |||
177 | free_area_init_nodes(max_zone_pfns); | ||
178 | |||
179 | printk("Node %u: mem_map starts at %p\n", | ||
180 | pgdat->node_id, pgdat->node_mem_map); | ||
181 | } | 167 | } |
168 | |||
169 | free_area_init_nodes(max_zone_pfns); | ||
182 | } | 170 | } |
183 | 171 | ||
184 | static struct kcore_list kcore_mem, kcore_vmalloc; | 172 | static struct kcore_list kcore_mem, kcore_vmalloc; |
185 | 173 | ||
186 | void __init mem_init(void) | 174 | void __init mem_init(void) |
187 | { | 175 | { |
188 | int codesize, reservedpages, datasize, initsize; | 176 | int codesize, datasize, initsize; |
189 | int nid; | 177 | int nid; |
190 | 178 | ||
191 | reservedpages = 0; | 179 | num_physpages = 0; |
180 | high_memory = NULL; | ||
192 | 181 | ||
193 | for_each_online_node(nid) { | 182 | for_each_online_node(nid) { |
194 | pg_data_t *pgdat = NODE_DATA(nid); | 183 | pg_data_t *pgdat = NODE_DATA(nid); |
195 | unsigned long node_pages = 0; | 184 | unsigned long node_pages = 0; |
196 | void *node_high_memory; | 185 | void *node_high_memory; |
197 | int i; | ||
198 | 186 | ||
199 | num_physpages += pgdat->node_present_pages; | 187 | num_physpages += pgdat->node_present_pages; |
200 | 188 | ||
@@ -203,13 +191,9 @@ void __init mem_init(void) | |||
203 | 191 | ||
204 | totalram_pages += node_pages; | 192 | totalram_pages += node_pages; |
205 | 193 | ||
206 | for (i = 0; i < node_pages; i++) | 194 | node_high_memory = (void *)__va((pgdat->node_start_pfn + |
207 | if (PageReserved(pgdat->node_mem_map + i)) | 195 | pgdat->node_spanned_pages) << |
208 | reservedpages++; | 196 | PAGE_SHIFT); |
209 | |||
210 | node_high_memory = (void *)((pgdat->node_start_pfn + | ||
211 | pgdat->node_spanned_pages) << | ||
212 | PAGE_SHIFT); | ||
213 | if (node_high_memory > high_memory) | 197 | if (node_high_memory > high_memory) |
214 | high_memory = node_high_memory; | 198 | high_memory = node_high_memory; |
215 | } | 199 | } |
@@ -239,11 +223,10 @@ void __init mem_init(void) | |||
239 | VMALLOC_END - VMALLOC_START); | 223 | VMALLOC_END - VMALLOC_START); |
240 | 224 | ||
241 | printk(KERN_INFO "Memory: %luk/%luk available (%dk kernel code, " | 225 | printk(KERN_INFO "Memory: %luk/%luk available (%dk kernel code, " |
242 | "%dk reserved, %dk data, %dk init)\n", | 226 | "%dk data, %dk init)\n", |
243 | (unsigned long) nr_free_pages() << (PAGE_SHIFT-10), | 227 | (unsigned long) nr_free_pages() << (PAGE_SHIFT-10), |
244 | totalram_pages << (PAGE_SHIFT-10), | 228 | num_physpages << (PAGE_SHIFT-10), |
245 | codesize >> 10, | 229 | codesize >> 10, |
246 | reservedpages << (PAGE_SHIFT-10), | ||
247 | datasize >> 10, | 230 | datasize >> 10, |
248 | initsize >> 10); | 231 | initsize >> 10); |
249 | 232 | ||
@@ -264,7 +247,9 @@ void free_initmem(void) | |||
264 | free_page(addr); | 247 | free_page(addr); |
265 | totalram_pages++; | 248 | totalram_pages++; |
266 | } | 249 | } |
267 | printk ("Freeing unused kernel memory: %dk freed\n", (&__init_end - &__init_begin) >> 10); | 250 | printk("Freeing unused kernel memory: %ldk freed\n", |
251 | ((unsigned long)&__init_end - | ||
252 | (unsigned long)&__init_begin) >> 10); | ||
268 | } | 253 | } |
269 | 254 | ||
270 | #ifdef CONFIG_BLK_DEV_INITRD | 255 | #ifdef CONFIG_BLK_DEV_INITRD |
@@ -277,6 +262,50 @@ void free_initrd_mem(unsigned long start, unsigned long end) | |||
277 | free_page(p); | 262 | free_page(p); |
278 | totalram_pages++; | 263 | totalram_pages++; |
279 | } | 264 | } |
280 | printk ("Freeing initrd memory: %ldk freed\n", (end - start) >> 10); | 265 | printk("Freeing initrd memory: %ldk freed\n", (end - start) >> 10); |
266 | } | ||
267 | #endif | ||
268 | |||
269 | #ifdef CONFIG_MEMORY_HOTPLUG | ||
270 | void online_page(struct page *page) | ||
271 | { | ||
272 | ClearPageReserved(page); | ||
273 | init_page_count(page); | ||
274 | __free_page(page); | ||
275 | totalram_pages++; | ||
276 | num_physpages++; | ||
281 | } | 277 | } |
278 | |||
279 | int arch_add_memory(int nid, u64 start, u64 size) | ||
280 | { | ||
281 | pg_data_t *pgdat; | ||
282 | unsigned long start_pfn = start >> PAGE_SHIFT; | ||
283 | unsigned long nr_pages = size >> PAGE_SHIFT; | ||
284 | int ret; | ||
285 | |||
286 | pgdat = NODE_DATA(nid); | ||
287 | |||
288 | /* We only have ZONE_NORMAL, so this is easy.. */ | ||
289 | ret = __add_pages(pgdat->node_zones + ZONE_NORMAL, start_pfn, nr_pages); | ||
290 | if (unlikely(ret)) | ||
291 | printk("%s: Failed, __add_pages() == %d\n", __FUNCTION__, ret); | ||
292 | |||
293 | return ret; | ||
294 | } | ||
295 | EXPORT_SYMBOL_GPL(arch_add_memory); | ||
296 | |||
297 | int remove_memory(u64 start, u64 size) | ||
298 | { | ||
299 | return -EINVAL; | ||
300 | } | ||
301 | EXPORT_SYMBOL_GPL(remove_memory); | ||
302 | |||
303 | #ifdef CONFIG_NUMA | ||
304 | int memory_add_physaddr_to_nid(u64 addr) | ||
305 | { | ||
306 | /* Node 0 for now.. */ | ||
307 | return 0; | ||
308 | } | ||
309 | EXPORT_SYMBOL_GPL(memory_add_physaddr_to_nid); | ||
310 | #endif | ||
282 | #endif | 311 | #endif |
diff --git a/arch/sh/mm/numa.c b/arch/sh/mm/numa.c new file mode 100644 index 000000000000..8aff065dd307 --- /dev/null +++ b/arch/sh/mm/numa.c | |||
@@ -0,0 +1,92 @@ | |||
1 | /* | ||
2 | * arch/sh/mm/numa.c - Multiple node support for SH machines | ||
3 | * | ||
4 | * Copyright (C) 2007 Paul Mundt | ||
5 | * | ||
6 | * This file is subject to the terms and conditions of the GNU General Public | ||
7 | * License. See the file "COPYING" in the main directory of this archive | ||
8 | * for more details. | ||
9 | */ | ||
10 | #include <linux/module.h> | ||
11 | #include <linux/bootmem.h> | ||
12 | #include <linux/mm.h> | ||
13 | #include <linux/numa.h> | ||
14 | #include <linux/pfn.h> | ||
15 | #include <asm/sections.h> | ||
16 | |||
17 | static bootmem_data_t plat_node_bdata[MAX_NUMNODES]; | ||
18 | struct pglist_data *node_data[MAX_NUMNODES] __read_mostly; | ||
19 | EXPORT_SYMBOL_GPL(node_data); | ||
20 | |||
21 | /* | ||
22 | * On SH machines the conventional approach is to stash system RAM | ||
23 | * in node 0, and other memory blocks in to node 1 and up, ordered by | ||
24 | * latency. Each node's pgdat is node-local at the beginning of the node, | ||
25 | * immediately followed by the node mem map. | ||
26 | */ | ||
27 | void __init setup_memory(void) | ||
28 | { | ||
29 | unsigned long free_pfn = PFN_UP(__pa(_end)); | ||
30 | |||
31 | /* | ||
32 | * Node 0 sets up its pgdat at the first available pfn, | ||
33 | * and bumps it up before setting up the bootmem allocator. | ||
34 | */ | ||
35 | NODE_DATA(0) = pfn_to_kaddr(free_pfn); | ||
36 | memset(NODE_DATA(0), 0, sizeof(struct pglist_data)); | ||
37 | free_pfn += PFN_UP(sizeof(struct pglist_data)); | ||
38 | NODE_DATA(0)->bdata = &plat_node_bdata[0]; | ||
39 | |||
40 | /* Set up node 0 */ | ||
41 | setup_bootmem_allocator(free_pfn); | ||
42 | |||
43 | /* Give the platforms a chance to hook up their nodes */ | ||
44 | plat_mem_setup(); | ||
45 | } | ||
46 | |||
47 | void __init setup_bootmem_node(int nid, unsigned long start, unsigned long end) | ||
48 | { | ||
49 | unsigned long bootmap_pages, bootmap_start, bootmap_size; | ||
50 | unsigned long start_pfn, free_pfn, end_pfn; | ||
51 | |||
52 | /* Don't allow bogus node assignment */ | ||
53 | BUG_ON(nid > MAX_NUMNODES || nid == 0); | ||
54 | |||
55 | /* | ||
56 | * The free pfn starts at the beginning of the range, and is | ||
57 | * advanced as necessary for pgdat and node map allocations. | ||
58 | */ | ||
59 | free_pfn = start_pfn = start >> PAGE_SHIFT; | ||
60 | end_pfn = end >> PAGE_SHIFT; | ||
61 | |||
62 | add_active_range(nid, start_pfn, end_pfn); | ||
63 | |||
64 | /* Node-local pgdat */ | ||
65 | NODE_DATA(nid) = pfn_to_kaddr(free_pfn); | ||
66 | free_pfn += PFN_UP(sizeof(struct pglist_data)); | ||
67 | memset(NODE_DATA(nid), 0, sizeof(struct pglist_data)); | ||
68 | |||
69 | NODE_DATA(nid)->bdata = &plat_node_bdata[nid]; | ||
70 | NODE_DATA(nid)->node_start_pfn = start_pfn; | ||
71 | NODE_DATA(nid)->node_spanned_pages = end_pfn - start_pfn; | ||
72 | |||
73 | /* Node-local bootmap */ | ||
74 | bootmap_pages = bootmem_bootmap_pages(end_pfn - start_pfn); | ||
75 | bootmap_start = (unsigned long)pfn_to_kaddr(free_pfn); | ||
76 | bootmap_size = init_bootmem_node(NODE_DATA(nid), free_pfn, start_pfn, | ||
77 | end_pfn); | ||
78 | |||
79 | free_bootmem_with_active_regions(nid, end_pfn); | ||
80 | |||
81 | /* Reserve the pgdat and bootmap space with the bootmem allocator */ | ||
82 | reserve_bootmem_node(NODE_DATA(nid), start_pfn << PAGE_SHIFT, | ||
83 | sizeof(struct pglist_data)); | ||
84 | reserve_bootmem_node(NODE_DATA(nid), free_pfn << PAGE_SHIFT, | ||
85 | bootmap_pages << PAGE_SHIFT); | ||
86 | |||
87 | /* It's up */ | ||
88 | node_set_online(nid); | ||
89 | |||
90 | /* Kick sparsemem */ | ||
91 | sparse_memory_present_with_active_regions(nid); | ||
92 | } | ||
diff --git a/arch/sh/mm/pg-dma.c b/arch/sh/mm/pg-dma.c deleted file mode 100644 index bb23679369d6..000000000000 --- a/arch/sh/mm/pg-dma.c +++ /dev/null | |||
@@ -1,95 +0,0 @@ | |||
1 | /* | ||
2 | * arch/sh/mm/pg-dma.c | ||
3 | * | ||
4 | * Fast clear_page()/copy_page() implementation using the SH DMAC | ||
5 | * | ||
6 | * Copyright (C) 2003 Paul Mundt | ||
7 | * | ||
8 | * This file is subject to the terms and conditions of the GNU General Public | ||
9 | * License. See the file "COPYING" in the main directory of this archive | ||
10 | * for more details. | ||
11 | */ | ||
12 | #include <linux/init.h> | ||
13 | #include <linux/kernel.h> | ||
14 | #include <linux/module.h> | ||
15 | #include <asm/semaphore.h> | ||
16 | #include <asm/mmu_context.h> | ||
17 | #include <asm/addrspace.h> | ||
18 | #include <asm/atomic.h> | ||
19 | #include <asm/page.h> | ||
20 | #include <asm/dma.h> | ||
21 | #include <asm/io.h> | ||
22 | |||
23 | /* Channel to use for page ops, must be dual-address mode capable. */ | ||
24 | static int dma_channel = CONFIG_DMA_PAGE_OPS_CHANNEL; | ||
25 | |||
26 | static void copy_page_dma(void *to, void *from) | ||
27 | { | ||
28 | /* | ||
29 | * This doesn't seem to get triggered until further along in the | ||
30 | * boot process, at which point the DMAC is already initialized. | ||
31 | * Fix this in the same fashion as clear_page_dma() in the event | ||
32 | * that this crashes due to the DMAC not being initialized. | ||
33 | */ | ||
34 | |||
35 | flush_icache_range((unsigned long)from, PAGE_SIZE); | ||
36 | dma_write_page(dma_channel, (unsigned long)from, (unsigned long)to); | ||
37 | dma_wait_for_completion(dma_channel); | ||
38 | } | ||
39 | |||
40 | static void clear_page_dma(void *to) | ||
41 | { | ||
42 | /* | ||
43 | * We get invoked quite early on, if the DMAC hasn't been initialized | ||
44 | * yet, fall back on the slow manual implementation. | ||
45 | */ | ||
46 | if (dma_info[dma_channel].chan != dma_channel) { | ||
47 | clear_page_slow(to); | ||
48 | return; | ||
49 | } | ||
50 | |||
51 | dma_write_page(dma_channel, (unsigned long)empty_zero_page, | ||
52 | (unsigned long)to); | ||
53 | |||
54 | /* | ||
55 | * FIXME: Something is a bit racy here, if we poll the counter right | ||
56 | * away, we seem to lock. flushing the page from the dcache doesn't | ||
57 | * seem to make a difference one way or the other, though either a full | ||
58 | * icache or dcache flush does. | ||
59 | * | ||
60 | * The location of this is important as well, and must happen prior to | ||
61 | * the completion loop but after the transfer was initiated. | ||
62 | * | ||
63 | * Oddly enough, this doesn't appear to be an issue for copy_page().. | ||
64 | */ | ||
65 | flush_icache_range((unsigned long)to, PAGE_SIZE); | ||
66 | |||
67 | dma_wait_for_completion(dma_channel); | ||
68 | } | ||
69 | |||
70 | static int __init pg_dma_init(void) | ||
71 | { | ||
72 | int ret; | ||
73 | |||
74 | ret = request_dma(dma_channel, "page ops"); | ||
75 | if (ret != 0) | ||
76 | return ret; | ||
77 | |||
78 | copy_page = copy_page_dma; | ||
79 | clear_page = clear_page_dma; | ||
80 | |||
81 | return ret; | ||
82 | } | ||
83 | |||
84 | static void __exit pg_dma_exit(void) | ||
85 | { | ||
86 | free_dma(dma_channel); | ||
87 | } | ||
88 | |||
89 | module_init(pg_dma_init); | ||
90 | module_exit(pg_dma_exit); | ||
91 | |||
92 | MODULE_AUTHOR("Paul Mundt <lethal@linux-sh.org>"); | ||
93 | MODULE_DESCRIPTION("Optimized page copy/clear routines using a dual-address mode capable DMAC channel"); | ||
94 | MODULE_LICENSE("GPL"); | ||
95 | |||
diff --git a/arch/sh/tools/Makefile b/arch/sh/tools/Makefile index 3c370a113291..567516b58acc 100644 --- a/arch/sh/tools/Makefile +++ b/arch/sh/tools/Makefile | |||
@@ -12,4 +12,5 @@ | |||
12 | 12 | ||
13 | include/asm-sh/machtypes.h: $(src)/gen-mach-types $(src)/mach-types | 13 | include/asm-sh/machtypes.h: $(src)/gen-mach-types $(src)/mach-types |
14 | @echo ' Generating $@' | 14 | @echo ' Generating $@' |
15 | $(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi | ||
15 | $(Q)$(AWK) -f $^ > $@ || { rm -f $@; /bin/false; } | 16 | $(Q)$(AWK) -f $^ > $@ || { rm -f $@; /bin/false; } |
diff --git a/arch/sh/tools/mach-types b/arch/sh/tools/mach-types index fb40f188aff9..4b5e9305092e 100644 --- a/arch/sh/tools/mach-types +++ b/arch/sh/tools/mach-types | |||
@@ -18,7 +18,6 @@ SE SH_SOLUTION_ENGINE | |||
18 | HP6XX SH_HP6XX | 18 | HP6XX SH_HP6XX |
19 | HD64461 HD64461 | 19 | HD64461 HD64461 |
20 | HD64465 HD64465 | 20 | HD64465 HD64465 |
21 | SATURN SH_SATURN | ||
22 | DREAMCAST SH_DREAMCAST | 21 | DREAMCAST SH_DREAMCAST |
23 | MPC1211 SH_MPC1211 | 22 | MPC1211 SH_MPC1211 |
24 | SNAPGEAR SH_SECUREEDGE5410 | 23 | SNAPGEAR SH_SECUREEDGE5410 |
@@ -34,3 +33,4 @@ R7785RP SH_R7785RP | |||
34 | TITAN SH_TITAN | 33 | TITAN SH_TITAN |
35 | SHMIN SH_SHMIN | 34 | SHMIN SH_SHMIN |
36 | 7710VOIPGW SH_7710VOIPGW | 35 | 7710VOIPGW SH_7710VOIPGW |
36 | LBOXRE2 SH_LBOX_RE2 | ||
diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c index 1f89496d530e..672cd1042539 100644 --- a/drivers/serial/sh-sci.c +++ b/drivers/serial/sh-sci.c | |||
@@ -367,7 +367,9 @@ static void sci_init_pins_scif(struct uart_port *port, unsigned int cflag) | |||
367 | } else { | 367 | } else { |
368 | #ifdef CONFIG_CPU_SUBTYPE_SH7343 | 368 | #ifdef CONFIG_CPU_SUBTYPE_SH7343 |
369 | /* Nothing */ | 369 | /* Nothing */ |
370 | #elif defined(CONFIG_CPU_SUBTYPE_SH7780) || defined(CONFIG_CPU_SUBTYPE_SH7785) | 370 | #elif defined(CONFIG_CPU_SUBTYPE_SH7780) || \ |
371 | defined(CONFIG_CPU_SUBTYPE_SH7785) || \ | ||
372 | defined(CONFIG_CPU_SUBTYPE_SHX3) | ||
371 | ctrl_outw(0x0080, SCSPTR0); /* Set RTS = 1 */ | 373 | ctrl_outw(0x0080, SCSPTR0); /* Set RTS = 1 */ |
372 | #else | 374 | #else |
373 | ctrl_outw(0x0080, SCSPTR2); /* Set RTS = 1 */ | 375 | ctrl_outw(0x0080, SCSPTR2); /* Set RTS = 1 */ |
diff --git a/drivers/serial/sh-sci.h b/drivers/serial/sh-sci.h index fb04fb5f9843..247fb66bf0f4 100644 --- a/drivers/serial/sh-sci.h +++ b/drivers/serial/sh-sci.h | |||
@@ -53,7 +53,12 @@ | |||
53 | # define SCIF_ORER 0x0001 /* overrun error bit */ | 53 | # define SCIF_ORER 0x0001 /* overrun error bit */ |
54 | # define SCSCR_INIT(port) 0x3a /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ | 54 | # define SCSCR_INIT(port) 0x3a /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ |
55 | # define SCIF_ONLY | 55 | # define SCIF_ONLY |
56 | #elif defined(CONFIG_CPU_SUBTYPE_SH7750) || defined(CONFIG_CPU_SUBTYPE_SH7751) | 56 | #elif defined(CONFIG_CPU_SUBTYPE_SH7750) || \ |
57 | defined(CONFIG_CPU_SUBTYPE_SH7750R) || \ | ||
58 | defined(CONFIG_CPU_SUBTYPE_SH7750S) || \ | ||
59 | defined(CONFIG_CPU_SUBTYPE_SH7091) || \ | ||
60 | defined(CONFIG_CPU_SUBTYPE_SH7751) || \ | ||
61 | defined(CONFIG_CPU_SUBTYPE_SH7751R) | ||
57 | # define SCSPTR1 0xffe0001c /* 8 bit SCI */ | 62 | # define SCSPTR1 0xffe0001c /* 8 bit SCI */ |
58 | # define SCSPTR2 0xFFE80020 /* 16 bit SCIF */ | 63 | # define SCSPTR2 0xFFE80020 /* 16 bit SCIF */ |
59 | # define SCIF_ORER 0x0001 /* overrun error bit */ | 64 | # define SCIF_ORER 0x0001 /* overrun error bit */ |
@@ -73,7 +78,7 @@ | |||
73 | # define SCPDR 0xA4050136 /* 16 bit SCIF */ | 78 | # define SCPDR 0xA4050136 /* 16 bit SCIF */ |
74 | # define SCSCR_INIT(port) 0x0030 /* TIE=0,RIE=0,TE=1,RE=1 */ | 79 | # define SCSCR_INIT(port) 0x0030 /* TIE=0,RIE=0,TE=1,RE=1 */ |
75 | # define SCIF_ONLY | 80 | # define SCIF_ONLY |
76 | #elif defined(CONFIG_CPU_SUBTYPE_SH7710) || defined(CONFIG_CPU_SUBTYPE_SH7712) | 81 | #elif defined(CONFIG_CPU_SUBTYPE_SH7710) || defined(CONFIG_CPU_SUBTYPE_SH7712) |
77 | # define SCSPTR0 0xA4400000 /* 16 bit SCIF */ | 82 | # define SCSPTR0 0xA4400000 /* 16 bit SCIF */ |
78 | # define SCI_NPORTS 2 | 83 | # define SCI_NPORTS 2 |
79 | # define SCIF_ORER 0x0001 /* overrun error bit */ | 84 | # define SCIF_ORER 0x0001 /* overrun error bit */ |
@@ -168,6 +173,14 @@ | |||
168 | # define SCIF_ORER 0x0001 /* overrun error bit */ | 173 | # define SCIF_ORER 0x0001 /* overrun error bit */ |
169 | # define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ | 174 | # define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ |
170 | # define SCIF_ONLY | 175 | # define SCIF_ONLY |
176 | #elif defined(CONFIG_CPU_SUBTYPE_SHX3) | ||
177 | # define SCSPTR0 0xffc30020 /* 16 bit SCIF */ | ||
178 | # define SCSPTR1 0xffc40020 /* 16 bit SCIF */ | ||
179 | # define SCSPTR2 0xffc50020 /* 16 bit SCIF */ | ||
180 | # define SCSPTR3 0xffc60020 /* 16 bit SCIF */ | ||
181 | # define SCIF_ORER 0x0001 /* Overrun error bit */ | ||
182 | # define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ | ||
183 | # define SCIF_ONLY | ||
171 | #else | 184 | #else |
172 | # error CPU subtype not defined | 185 | # error CPU subtype not defined |
173 | #endif | 186 | #endif |
@@ -177,10 +190,15 @@ | |||
177 | #define SCI_CTRL_FLAGS_RIE 0x40 /* all */ | 190 | #define SCI_CTRL_FLAGS_RIE 0x40 /* all */ |
178 | #define SCI_CTRL_FLAGS_TE 0x20 /* all */ | 191 | #define SCI_CTRL_FLAGS_TE 0x20 /* all */ |
179 | #define SCI_CTRL_FLAGS_RE 0x10 /* all */ | 192 | #define SCI_CTRL_FLAGS_RE 0x10 /* all */ |
180 | #if defined(CONFIG_CPU_SUBTYPE_SH7750) || \ | 193 | #if defined(CONFIG_CPU_SUBTYPE_SH7750) || \ |
181 | defined(CONFIG_CPU_SUBTYPE_SH7751) || \ | 194 | defined(CONFIG_CPU_SUBTYPE_SH7091) || \ |
182 | defined(CONFIG_CPU_SUBTYPE_SH7780) || \ | 195 | defined(CONFIG_CPU_SUBTYPE_SH7750R) || \ |
183 | defined(CONFIG_CPU_SUBTYPE_SH7785) | 196 | defined(CONFIG_CPU_SUBTYPE_SH7750S) || \ |
197 | defined(CONFIG_CPU_SUBTYPE_SH7751) || \ | ||
198 | defined(CONFIG_CPU_SUBTYPE_SH7751R) || \ | ||
199 | defined(CONFIG_CPU_SUBTYPE_SH7780) || \ | ||
200 | defined(CONFIG_CPU_SUBTYPE_SH7785) || \ | ||
201 | defined(CONFIG_CPU_SUBTYPE_SHX3) | ||
184 | #define SCI_CTRL_FLAGS_REIE 0x08 /* 7750 SCIF */ | 202 | #define SCI_CTRL_FLAGS_REIE 0x08 /* 7750 SCIF */ |
185 | #else | 203 | #else |
186 | #define SCI_CTRL_FLAGS_REIE 0 | 204 | #define SCI_CTRL_FLAGS_REIE 0 |
@@ -514,8 +532,12 @@ static inline void set_sh771x_scif_pfc(struct uart_port *port) | |||
514 | } | 532 | } |
515 | } | 533 | } |
516 | 534 | ||
517 | #elif defined(CONFIG_CPU_SUBTYPE_SH7750) || \ | 535 | #elif defined(CONFIG_CPU_SUBTYPE_SH7750) || \ |
518 | defined(CONFIG_CPU_SUBTYPE_SH7751) || \ | 536 | defined(CONFIG_CPU_SUBTYPE_SH7751) || \ |
537 | defined(CONFIG_CPU_SUBTYPE_SH7751R) || \ | ||
538 | defined(CONFIG_CPU_SUBTYPE_SH7750R) || \ | ||
539 | defined(CONFIG_CPU_SUBTYPE_SH7750S) || \ | ||
540 | defined(CONFIG_CPU_SUBTYPE_SH7091) || \ | ||
519 | defined(CONFIG_CPU_SUBTYPE_SH4_202) | 541 | defined(CONFIG_CPU_SUBTYPE_SH4_202) |
520 | static inline int sci_rxd_in(struct uart_port *port) | 542 | static inline int sci_rxd_in(struct uart_port *port) |
521 | { | 543 | { |
@@ -653,6 +675,18 @@ static inline int sci_rxd_in(struct uart_port *port) | |||
653 | return ctrl_inw(SCSPTR2) & 0x0001 ? 1 : 0; /* SCIF */ | 675 | return ctrl_inw(SCSPTR2) & 0x0001 ? 1 : 0; /* SCIF */ |
654 | return 1; | 676 | return 1; |
655 | } | 677 | } |
678 | #elif defined(CONFIG_CPU_SUBTYPE_SHX3) | ||
679 | static inline int sci_rxd_in(struct uart_port *port) | ||
680 | { | ||
681 | if (port->mapbase == 0xffc30000) | ||
682 | return ctrl_inw(SCSPTR0) & 0x0001 ? 1 : 0; /* SCIF */ | ||
683 | if (port->mapbase == 0xffc40000) | ||
684 | return ctrl_inw(SCSPTR1) & 0x0001 ? 1 : 0; /* SCIF */ | ||
685 | if (port->mapbase == 0xffc50000) | ||
686 | return ctrl_inw(SCSPTR2) & 0x0001 ? 1 : 0; /* SCIF */ | ||
687 | if (port->mapbase == 0xffc60000) | ||
688 | return ctrl_inw(SCSPTR3) & 0x0001 ? 1 : 0; /* SCIF */ | ||
689 | } | ||
656 | #endif | 690 | #endif |
657 | 691 | ||
658 | /* | 692 | /* |
diff --git a/drivers/video/pvr2fb.c b/drivers/video/pvr2fb.c index df2909ae704c..2ba959a83eb0 100644 --- a/drivers/video/pvr2fb.c +++ b/drivers/video/pvr2fb.c | |||
@@ -115,11 +115,11 @@ enum { VO_PAL, VO_NTSC, VO_VGA }; | |||
115 | enum { PAL_ARGB1555, PAL_RGB565, PAL_ARGB4444, PAL_ARGB8888 }; | 115 | enum { PAL_ARGB1555, PAL_RGB565, PAL_ARGB4444, PAL_ARGB8888 }; |
116 | 116 | ||
117 | struct pvr2_params { unsigned int val; char *name; }; | 117 | struct pvr2_params { unsigned int val; char *name; }; |
118 | static struct pvr2_params cables[] __initdata = { | 118 | static struct pvr2_params cables[] __devinitdata = { |
119 | { CT_VGA, "VGA" }, { CT_RGB, "RGB" }, { CT_COMPOSITE, "COMPOSITE" }, | 119 | { CT_VGA, "VGA" }, { CT_RGB, "RGB" }, { CT_COMPOSITE, "COMPOSITE" }, |
120 | }; | 120 | }; |
121 | 121 | ||
122 | static struct pvr2_params outputs[] __initdata = { | 122 | static struct pvr2_params outputs[] __devinitdata = { |
123 | { VO_PAL, "PAL" }, { VO_NTSC, "NTSC" }, { VO_VGA, "VGA" }, | 123 | { VO_PAL, "PAL" }, { VO_NTSC, "NTSC" }, { VO_VGA, "VGA" }, |
124 | }; | 124 | }; |
125 | 125 | ||
@@ -147,16 +147,16 @@ static struct pvr2fb_par { | |||
147 | 147 | ||
148 | static struct fb_info *fb_info; | 148 | static struct fb_info *fb_info; |
149 | 149 | ||
150 | static struct fb_fix_screeninfo pvr2_fix __initdata = { | 150 | static struct fb_fix_screeninfo pvr2_fix __devinitdata = { |
151 | .id = "NEC PowerVR2", | 151 | .id = "NEC PowerVR2", |
152 | .type = FB_TYPE_PACKED_PIXELS, | 152 | .type = FB_TYPE_PACKED_PIXELS, |
153 | .visual = FB_VISUAL_TRUECOLOR, | 153 | .visual = FB_VISUAL_TRUECOLOR, |
154 | .ypanstep = 1, | 154 | .ypanstep = 1, |
155 | .ywrapstep = 1, | 155 | .ywrapstep = 1, |
156 | .accel = FB_ACCEL_NONE, | 156 | .accel = FB_ACCEL_NONE, |
157 | }; | 157 | }; |
158 | 158 | ||
159 | static struct fb_var_screeninfo pvr2_var __initdata = { | 159 | static struct fb_var_screeninfo pvr2_var __devinitdata = { |
160 | .xres = 640, | 160 | .xres = 640, |
161 | .yres = 480, | 161 | .yres = 480, |
162 | .xres_virtual = 640, | 162 | .xres_virtual = 640, |
@@ -195,10 +195,6 @@ static unsigned int shdma = PVR2_CASCADE_CHAN; | |||
195 | static unsigned int pvr2dma = ONCHIP_NR_DMA_CHANNELS; | 195 | static unsigned int pvr2dma = ONCHIP_NR_DMA_CHANNELS; |
196 | #endif | 196 | #endif |
197 | 197 | ||
198 | /* Interface used by the world */ | ||
199 | |||
200 | int pvr2fb_setup(char*); | ||
201 | |||
202 | static int pvr2fb_setcolreg(unsigned int regno, unsigned int red, unsigned int green, unsigned int blue, | 198 | static int pvr2fb_setcolreg(unsigned int regno, unsigned int red, unsigned int green, unsigned int blue, |
203 | unsigned int transp, struct fb_info *info); | 199 | unsigned int transp, struct fb_info *info); |
204 | static int pvr2fb_blank(int blank, struct fb_info *info); | 200 | static int pvr2fb_blank(int blank, struct fb_info *info); |
@@ -227,12 +223,12 @@ static struct fb_ops pvr2fb_ops = { | |||
227 | #ifdef CONFIG_SH_DMA | 223 | #ifdef CONFIG_SH_DMA |
228 | .fb_write = pvr2fb_write, | 224 | .fb_write = pvr2fb_write, |
229 | #endif | 225 | #endif |
230 | .fb_fillrect = cfb_fillrect, | 226 | .fb_fillrect = cfb_fillrect, |
231 | .fb_copyarea = cfb_copyarea, | 227 | .fb_copyarea = cfb_copyarea, |
232 | .fb_imageblit = cfb_imageblit, | 228 | .fb_imageblit = cfb_imageblit, |
233 | }; | 229 | }; |
234 | 230 | ||
235 | static struct fb_videomode pvr2_modedb[] __initdata = { | 231 | static struct fb_videomode pvr2_modedb[] __devinitdata = { |
236 | /* | 232 | /* |
237 | * Broadcast video modes (PAL and NTSC). I'm unfamiliar with | 233 | * Broadcast video modes (PAL and NTSC). I'm unfamiliar with |
238 | * PAL-M and PAL-N, but from what I've read both modes parallel PAL and | 234 | * PAL-M and PAL-N, but from what I've read both modes parallel PAL and |
@@ -252,7 +248,7 @@ static struct fb_videomode pvr2_modedb[] __initdata = { | |||
252 | /* 640x480 @ 60hz (VGA) */ | 248 | /* 640x480 @ 60hz (VGA) */ |
253 | "vga_640x480", 60, 640, 480, VGA_CLK, 38, 33, 0, 18, 146, 26, | 249 | "vga_640x480", 60, 640, 480, VGA_CLK, 38, 33, 0, 18, 146, 26, |
254 | 0, FB_VMODE_YWRAP | 250 | 0, FB_VMODE_YWRAP |
255 | }, | 251 | }, |
256 | }; | 252 | }; |
257 | 253 | ||
258 | #define NUM_TOTAL_MODES ARRAY_SIZE(pvr2_modedb) | 254 | #define NUM_TOTAL_MODES ARRAY_SIZE(pvr2_modedb) |
@@ -262,7 +258,7 @@ static struct fb_videomode pvr2_modedb[] __initdata = { | |||
262 | #define DEFMODE_VGA 2 | 258 | #define DEFMODE_VGA 2 |
263 | 259 | ||
264 | static int defmode = DEFMODE_NTSC; | 260 | static int defmode = DEFMODE_NTSC; |
265 | static char *mode_option __initdata = NULL; | 261 | static char *mode_option __devinitdata = NULL; |
266 | 262 | ||
267 | static inline void pvr2fb_set_pal_type(unsigned int type) | 263 | static inline void pvr2fb_set_pal_type(unsigned int type) |
268 | { | 264 | { |
@@ -293,7 +289,7 @@ static void set_color_bitfields(struct fb_var_screeninfo *var) | |||
293 | { | 289 | { |
294 | switch (var->bits_per_pixel) { | 290 | switch (var->bits_per_pixel) { |
295 | case 16: /* RGB 565 */ | 291 | case 16: /* RGB 565 */ |
296 | pvr2fb_set_pal_type(PAL_RGB565); | 292 | pvr2fb_set_pal_type(PAL_RGB565); |
297 | var->red.offset = 11; var->red.length = 5; | 293 | var->red.offset = 11; var->red.length = 5; |
298 | var->green.offset = 5; var->green.length = 6; | 294 | var->green.offset = 5; var->green.length = 6; |
299 | var->blue.offset = 0; var->blue.length = 5; | 295 | var->blue.offset = 0; var->blue.length = 5; |
@@ -306,7 +302,7 @@ static void set_color_bitfields(struct fb_var_screeninfo *var) | |||
306 | var->transp.offset = 0; var->transp.length = 0; | 302 | var->transp.offset = 0; var->transp.length = 0; |
307 | break; | 303 | break; |
308 | case 32: /* ARGB 8888 */ | 304 | case 32: /* ARGB 8888 */ |
309 | pvr2fb_set_pal_type(PAL_ARGB8888); | 305 | pvr2fb_set_pal_type(PAL_ARGB8888); |
310 | var->red.offset = 16; var->red.length = 8; | 306 | var->red.offset = 16; var->red.length = 8; |
311 | var->green.offset = 8; var->green.length = 8; | 307 | var->green.offset = 8; var->green.length = 8; |
312 | var->blue.offset = 0; var->blue.length = 8; | 308 | var->blue.offset = 0; var->blue.length = 8; |
@@ -379,13 +375,13 @@ static int pvr2fb_set_par(struct fb_info *info) | |||
379 | var->vmode &= FB_VMODE_MASK; | 375 | var->vmode &= FB_VMODE_MASK; |
380 | if (var->vmode & FB_VMODE_INTERLACED && video_output != VO_VGA) | 376 | if (var->vmode & FB_VMODE_INTERLACED && video_output != VO_VGA) |
381 | par->is_interlaced = 1; | 377 | par->is_interlaced = 1; |
382 | /* | 378 | /* |
383 | * XXX: Need to be more creative with this (i.e. allow doublecan for | 379 | * XXX: Need to be more creative with this (i.e. allow doublecan for |
384 | * PAL/NTSC output). | 380 | * PAL/NTSC output). |
385 | */ | 381 | */ |
386 | if (var->vmode & FB_VMODE_DOUBLE && video_output == VO_VGA) | 382 | if (var->vmode & FB_VMODE_DOUBLE && video_output == VO_VGA) |
387 | par->is_doublescan = 1; | 383 | par->is_doublescan = 1; |
388 | 384 | ||
389 | par->hsync_total = var->left_margin + var->xres + var->right_margin + | 385 | par->hsync_total = var->left_margin + var->xres + var->right_margin + |
390 | var->hsync_len; | 386 | var->hsync_len; |
391 | par->vsync_total = var->upper_margin + var->yres + var->lower_margin + | 387 | par->vsync_total = var->upper_margin + var->yres + var->lower_margin + |
@@ -408,7 +404,7 @@ static int pvr2fb_set_par(struct fb_info *info) | |||
408 | } else { | 404 | } else { |
409 | /* VGA mode */ | 405 | /* VGA mode */ |
410 | /* XXX: What else needs to be checked? */ | 406 | /* XXX: What else needs to be checked? */ |
411 | /* | 407 | /* |
412 | * XXX: We have a little freedom in VGA modes, what ranges | 408 | * XXX: We have a little freedom in VGA modes, what ranges |
413 | * should be here (i.e. hsync/vsync totals, etc.)? | 409 | * should be here (i.e. hsync/vsync totals, etc.)? |
414 | */ | 410 | */ |
@@ -419,8 +415,8 @@ static int pvr2fb_set_par(struct fb_info *info) | |||
419 | /* Calculate the remainding offsets */ | 415 | /* Calculate the remainding offsets */ |
420 | par->diwstart_h = par->borderstart_h + var->left_margin; | 416 | par->diwstart_h = par->borderstart_h + var->left_margin; |
421 | par->diwstart_v = par->borderstart_v + var->upper_margin; | 417 | par->diwstart_v = par->borderstart_v + var->upper_margin; |
422 | par->borderstop_h = par->diwstart_h + var->xres + | 418 | par->borderstop_h = par->diwstart_h + var->xres + |
423 | var->right_margin; | 419 | var->right_margin; |
424 | par->borderstop_v = par->diwstart_v + var->yres + | 420 | par->borderstop_v = par->diwstart_v + var->yres + |
425 | var->lower_margin; | 421 | var->lower_margin; |
426 | 422 | ||
@@ -465,12 +461,12 @@ static int pvr2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) | |||
465 | set_color_bitfields(var); | 461 | set_color_bitfields(var); |
466 | 462 | ||
467 | if (var->vmode & FB_VMODE_YWRAP) { | 463 | if (var->vmode & FB_VMODE_YWRAP) { |
468 | if (var->xoffset || var->yoffset < 0 || | 464 | if (var->xoffset || var->yoffset < 0 || |
469 | var->yoffset >= var->yres_virtual) { | 465 | var->yoffset >= var->yres_virtual) { |
470 | var->xoffset = var->yoffset = 0; | 466 | var->xoffset = var->yoffset = 0; |
471 | } else { | 467 | } else { |
472 | if (var->xoffset > var->xres_virtual - var->xres || | 468 | if (var->xoffset > var->xres_virtual - var->xres || |
473 | var->yoffset > var->yres_virtual - var->yres || | 469 | var->yoffset > var->yres_virtual - var->yres || |
474 | var->xoffset < 0 || var->yoffset < 0) | 470 | var->xoffset < 0 || var->yoffset < 0) |
475 | var->xoffset = var->yoffset = 0; | 471 | var->xoffset = var->yoffset = 0; |
476 | } | 472 | } |
@@ -478,7 +474,7 @@ static int pvr2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) | |||
478 | var->xoffset = var->yoffset = 0; | 474 | var->xoffset = var->yoffset = 0; |
479 | } | 475 | } |
480 | 476 | ||
481 | /* | 477 | /* |
482 | * XXX: Need to be more creative with this (i.e. allow doublecan for | 478 | * XXX: Need to be more creative with this (i.e. allow doublecan for |
483 | * PAL/NTSC output). | 479 | * PAL/NTSC output). |
484 | */ | 480 | */ |
@@ -507,7 +503,7 @@ static int pvr2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) | |||
507 | var->vsync_len = par->borderstop_v + | 503 | var->vsync_len = par->borderstop_v + |
508 | (par->vsync_total - par->borderstop_v); | 504 | (par->vsync_total - par->borderstop_v); |
509 | } | 505 | } |
510 | 506 | ||
511 | hsync_total = var->left_margin + var->xres + var->right_margin + | 507 | hsync_total = var->left_margin + var->xres + var->right_margin + |
512 | var->hsync_len; | 508 | var->hsync_len; |
513 | vtotal = var->upper_margin + var->yres + var->lower_margin + | 509 | vtotal = var->upper_margin + var->yres + var->lower_margin + |
@@ -531,7 +527,7 @@ static int pvr2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) | |||
531 | } | 527 | } |
532 | } | 528 | } |
533 | } | 529 | } |
534 | 530 | ||
535 | /* Check memory sizes */ | 531 | /* Check memory sizes */ |
536 | line_length = get_line_length(var->xres_virtual, var->bits_per_pixel); | 532 | line_length = get_line_length(var->xres_virtual, var->bits_per_pixel); |
537 | if (line_length * var->yres_virtual > info->fix.smem_len) | 533 | if (line_length * var->yres_virtual > info->fix.smem_len) |
@@ -552,7 +548,7 @@ static void pvr2_update_display(struct fb_info *info) | |||
552 | DISP_DIWADDRS); | 548 | DISP_DIWADDRS); |
553 | } | 549 | } |
554 | 550 | ||
555 | /* | 551 | /* |
556 | * Initialize the video mode. Currently, the 16bpp and 24bpp modes aren't | 552 | * Initialize the video mode. Currently, the 16bpp and 24bpp modes aren't |
557 | * very stable. It's probably due to the fact that a lot of the 2D video | 553 | * very stable. It's probably due to the fact that a lot of the 2D video |
558 | * registers are still undocumented. | 554 | * registers are still undocumented. |
@@ -592,18 +588,18 @@ static void pvr2_init_display(struct fb_info *info) | |||
592 | /* display window start position */ | 588 | /* display window start position */ |
593 | fb_writel(par->diwstart_h, DISP_DIWHSTRT); | 589 | fb_writel(par->diwstart_h, DISP_DIWHSTRT); |
594 | fb_writel((par->diwstart_v << 16) | par->diwstart_v, DISP_DIWVSTRT); | 590 | fb_writel((par->diwstart_v << 16) | par->diwstart_v, DISP_DIWVSTRT); |
595 | 591 | ||
596 | /* misc. settings */ | 592 | /* misc. settings */ |
597 | fb_writel((0x16 << 16) | par->is_lowres, DISP_DIWCONF); | 593 | fb_writel((0x16 << 16) | par->is_lowres, DISP_DIWCONF); |
598 | 594 | ||
599 | /* clock doubler (for VGA), scan doubler, display enable */ | 595 | /* clock doubler (for VGA), scan doubler, display enable */ |
600 | fb_writel(((video_output == VO_VGA) << 23) | | 596 | fb_writel(((video_output == VO_VGA) << 23) | |
601 | (par->is_doublescan << 1) | 1, DISP_DIWMODE); | 597 | (par->is_doublescan << 1) | 1, DISP_DIWMODE); |
602 | 598 | ||
603 | /* bits per pixel */ | 599 | /* bits per pixel */ |
604 | fb_writel(fb_readl(DISP_DIWMODE) | (--bytesperpixel << 2), DISP_DIWMODE); | 600 | fb_writel(fb_readl(DISP_DIWMODE) | (--bytesperpixel << 2), DISP_DIWMODE); |
605 | 601 | ||
606 | /* video enable, color sync, interlace, | 602 | /* video enable, color sync, interlace, |
607 | * hsync and vsync polarity (currently unused) */ | 603 | * hsync and vsync polarity (currently unused) */ |
608 | fb_writel(0x100 | ((par->is_interlaced /*|4*/) << 4), DISP_SYNCCONF); | 604 | fb_writel(0x100 | ((par->is_interlaced /*|4*/) << 4), DISP_SYNCCONF); |
609 | } | 605 | } |
@@ -657,7 +653,7 @@ static irqreturn_t pvr2fb_interrupt(int irq, void *dev_id) | |||
657 | static int pvr2_init_cable(void) | 653 | static int pvr2_init_cable(void) |
658 | { | 654 | { |
659 | if (cable_type < 0) { | 655 | if (cable_type < 0) { |
660 | fb_writel((fb_readl(PCTRA) & 0xfff0ffff) | 0x000a0000, | 656 | fb_writel((fb_readl(PCTRA) & 0xfff0ffff) | 0x000a0000, |
661 | PCTRA); | 657 | PCTRA); |
662 | cable_type = (fb_readw(PDTRA) >> 8) & 3; | 658 | cable_type = (fb_readw(PDTRA) >> 8) & 3; |
663 | } | 659 | } |
@@ -687,7 +683,7 @@ static ssize_t pvr2fb_write(struct fb_info *info, const char *buf, | |||
687 | pages = kmalloc(nr_pages * sizeof(struct page *), GFP_KERNEL); | 683 | pages = kmalloc(nr_pages * sizeof(struct page *), GFP_KERNEL); |
688 | if (!pages) | 684 | if (!pages) |
689 | return -ENOMEM; | 685 | return -ENOMEM; |
690 | 686 | ||
691 | down_read(¤t->mm->mmap_sem); | 687 | down_read(¤t->mm->mmap_sem); |
692 | ret = get_user_pages(current, current->mm, (unsigned long)buf, | 688 | ret = get_user_pages(current, current->mm, (unsigned long)buf, |
693 | nr_pages, WRITE, 0, pages, NULL); | 689 | nr_pages, WRITE, 0, pages, NULL); |
@@ -700,7 +696,7 @@ static ssize_t pvr2fb_write(struct fb_info *info, const char *buf, | |||
700 | } | 696 | } |
701 | 697 | ||
702 | dma_configure_channel(shdma, 0x12c1); | 698 | dma_configure_channel(shdma, 0x12c1); |
703 | 699 | ||
704 | dst = (unsigned long)fb_info->screen_base + *ppos; | 700 | dst = (unsigned long)fb_info->screen_base + *ppos; |
705 | start = (unsigned long)page_address(pages[0]); | 701 | start = (unsigned long)page_address(pages[0]); |
706 | end = (unsigned long)page_address(pages[nr_pages]); | 702 | end = (unsigned long)page_address(pages[nr_pages]); |
@@ -744,7 +740,7 @@ out_unmap: | |||
744 | kfree(pages); | 740 | kfree(pages); |
745 | 741 | ||
746 | return ret; | 742 | return ret; |
747 | } | 743 | } |
748 | #endif /* CONFIG_SH_DMA */ | 744 | #endif /* CONFIG_SH_DMA */ |
749 | 745 | ||
750 | /** | 746 | /** |
@@ -765,21 +761,21 @@ out_unmap: | |||
765 | * in for flexibility anyways. Who knows, maybe someone has tv-out on a | 761 | * in for flexibility anyways. Who knows, maybe someone has tv-out on a |
766 | * PCI-based version of these things ;-) | 762 | * PCI-based version of these things ;-) |
767 | */ | 763 | */ |
768 | static int __init pvr2fb_common_init(void) | 764 | static int __devinit pvr2fb_common_init(void) |
769 | { | 765 | { |
770 | struct pvr2fb_par *par = currentpar; | 766 | struct pvr2fb_par *par = currentpar; |
771 | unsigned long modememused, rev; | 767 | unsigned long modememused, rev; |
772 | 768 | ||
773 | fb_info->screen_base = ioremap_nocache(pvr2_fix.smem_start, | 769 | fb_info->screen_base = ioremap_nocache(pvr2_fix.smem_start, |
774 | pvr2_fix.smem_len); | 770 | pvr2_fix.smem_len); |
775 | 771 | ||
776 | if (!fb_info->screen_base) { | 772 | if (!fb_info->screen_base) { |
777 | printk(KERN_ERR "pvr2fb: Failed to remap smem space\n"); | 773 | printk(KERN_ERR "pvr2fb: Failed to remap smem space\n"); |
778 | goto out_err; | 774 | goto out_err; |
779 | } | 775 | } |
780 | 776 | ||
781 | par->mmio_base = (unsigned long)ioremap_nocache(pvr2_fix.mmio_start, | 777 | par->mmio_base = (unsigned long)ioremap_nocache(pvr2_fix.mmio_start, |
782 | pvr2_fix.mmio_len); | 778 | pvr2_fix.mmio_len); |
783 | if (!par->mmio_base) { | 779 | if (!par->mmio_base) { |
784 | printk(KERN_ERR "pvr2fb: Failed to remap mmio space\n"); | 780 | printk(KERN_ERR "pvr2fb: Failed to remap mmio space\n"); |
785 | goto out_err; | 781 | goto out_err; |
@@ -820,7 +816,7 @@ static int __init pvr2fb_common_init(void) | |||
820 | printk("fb%d: %s (rev %ld.%ld) frame buffer device, using %ldk/%ldk of video memory\n", | 816 | printk("fb%d: %s (rev %ld.%ld) frame buffer device, using %ldk/%ldk of video memory\n", |
821 | fb_info->node, fb_info->fix.id, (rev >> 4) & 0x0f, rev & 0x0f, | 817 | fb_info->node, fb_info->fix.id, (rev >> 4) & 0x0f, rev & 0x0f, |
822 | modememused >> 10, (unsigned long)(fb_info->fix.smem_len >> 10)); | 818 | modememused >> 10, (unsigned long)(fb_info->fix.smem_len >> 10)); |
823 | printk("fb%d: Mode %dx%d-%d pitch = %ld cable: %s video output: %s\n", | 819 | printk("fb%d: Mode %dx%d-%d pitch = %ld cable: %s video output: %s\n", |
824 | fb_info->node, fb_info->var.xres, fb_info->var.yres, | 820 | fb_info->node, fb_info->var.xres, fb_info->var.yres, |
825 | fb_info->var.bits_per_pixel, | 821 | fb_info->var.bits_per_pixel, |
826 | get_line_length(fb_info->var.xres, fb_info->var.bits_per_pixel), | 822 | get_line_length(fb_info->var.xres, fb_info->var.bits_per_pixel), |
@@ -878,8 +874,8 @@ static int __init pvr2fb_dc_init(void) | |||
878 | video_output = VO_NTSC; | 874 | video_output = VO_NTSC; |
879 | } | 875 | } |
880 | } | 876 | } |
881 | 877 | ||
882 | /* | 878 | /* |
883 | * Nothing exciting about the DC PVR2 .. only a measly 8MiB. | 879 | * Nothing exciting about the DC PVR2 .. only a measly 8MiB. |
884 | */ | 880 | */ |
885 | pvr2_fix.smem_start = 0xa5000000; /* RAM starts here */ | 881 | pvr2_fix.smem_start = 0xa5000000; /* RAM starts here */ |
@@ -903,7 +899,7 @@ static int __init pvr2fb_dc_init(void) | |||
903 | return pvr2fb_common_init(); | 899 | return pvr2fb_common_init(); |
904 | } | 900 | } |
905 | 901 | ||
906 | static void pvr2fb_dc_exit(void) | 902 | static void __exit pvr2fb_dc_exit(void) |
907 | { | 903 | { |
908 | if (fb_info->screen_base) { | 904 | if (fb_info->screen_base) { |
909 | iounmap(fb_info->screen_base); | 905 | iounmap(fb_info->screen_base); |
@@ -987,13 +983,13 @@ static int __init pvr2fb_pci_init(void) | |||
987 | return pci_register_driver(&pvr2fb_pci_driver); | 983 | return pci_register_driver(&pvr2fb_pci_driver); |
988 | } | 984 | } |
989 | 985 | ||
990 | static void pvr2fb_pci_exit(void) | 986 | static void __exit pvr2fb_pci_exit(void) |
991 | { | 987 | { |
992 | pci_unregister_driver(&pvr2fb_pci_driver); | 988 | pci_unregister_driver(&pvr2fb_pci_driver); |
993 | } | 989 | } |
994 | #endif /* CONFIG_PCI */ | 990 | #endif /* CONFIG_PCI */ |
995 | 991 | ||
996 | static int __init pvr2_get_param(const struct pvr2_params *p, const char *s, | 992 | static int __devinit pvr2_get_param(const struct pvr2_params *p, const char *s, |
997 | int val, int size) | 993 | int val, int size) |
998 | { | 994 | { |
999 | int i; | 995 | int i; |
@@ -1021,7 +1017,7 @@ static int __init pvr2_get_param(const struct pvr2_params *p, const char *s, | |||
1021 | */ | 1017 | */ |
1022 | 1018 | ||
1023 | #ifndef MODULE | 1019 | #ifndef MODULE |
1024 | int __init pvr2fb_setup(char *options) | 1020 | static int __init pvr2fb_setup(char *options) |
1025 | { | 1021 | { |
1026 | char *this_opt; | 1022 | char *this_opt; |
1027 | char cable_arg[80]; | 1023 | char cable_arg[80]; |
@@ -1061,7 +1057,7 @@ static struct pvr2_board { | |||
1061 | int (*init)(void); | 1057 | int (*init)(void); |
1062 | void (*exit)(void); | 1058 | void (*exit)(void); |
1063 | char name[16]; | 1059 | char name[16]; |
1064 | } board_list[] = { | 1060 | } board_driver[] = { |
1065 | #ifdef CONFIG_SH_DREAMCAST | 1061 | #ifdef CONFIG_SH_DREAMCAST |
1066 | { pvr2fb_dc_init, pvr2fb_dc_exit, "Sega DC PVR2" }, | 1062 | { pvr2fb_dc_init, pvr2fb_dc_exit, "Sega DC PVR2" }, |
1067 | #endif | 1063 | #endif |
@@ -1071,7 +1067,7 @@ static struct pvr2_board { | |||
1071 | { 0, }, | 1067 | { 0, }, |
1072 | }; | 1068 | }; |
1073 | 1069 | ||
1074 | int __init pvr2fb_init(void) | 1070 | static int __init pvr2fb_init(void) |
1075 | { | 1071 | { |
1076 | int i, ret = -ENODEV; | 1072 | int i, ret = -ENODEV; |
1077 | int size; | 1073 | int size; |
@@ -1095,8 +1091,8 @@ int __init pvr2fb_init(void) | |||
1095 | 1091 | ||
1096 | currentpar = (struct pvr2fb_par *)(fb_info + 1); | 1092 | currentpar = (struct pvr2fb_par *)(fb_info + 1); |
1097 | 1093 | ||
1098 | for (i = 0; i < ARRAY_SIZE(board_list); i++) { | 1094 | for (i = 0; i < ARRAY_SIZE(board_driver); i++) { |
1099 | struct pvr2_board *pvr_board = board_list + i; | 1095 | struct pvr2_board *pvr_board = board_driver + i; |
1100 | 1096 | ||
1101 | if (!pvr_board->init) | 1097 | if (!pvr_board->init) |
1102 | continue; | 1098 | continue; |
@@ -1118,13 +1114,13 @@ static void __exit pvr2fb_exit(void) | |||
1118 | { | 1114 | { |
1119 | int i; | 1115 | int i; |
1120 | 1116 | ||
1121 | for (i = 0; i < ARRAY_SIZE(board_list); i++) { | 1117 | for (i = 0; i < ARRAY_SIZE(board_driver); i++) { |
1122 | struct pvr2_board *pvr_board = board_list + i; | 1118 | struct pvr2_board *pvr_board = board_driver + i; |
1123 | 1119 | ||
1124 | if (pvr_board->exit) | 1120 | if (pvr_board->exit) |
1125 | pvr_board->exit(); | 1121 | pvr_board->exit(); |
1126 | } | 1122 | } |
1127 | 1123 | ||
1128 | #ifdef CONFIG_SH_STORE_QUEUES | 1124 | #ifdef CONFIG_SH_STORE_QUEUES |
1129 | sq_unmap(pvr2fb_map); | 1125 | sq_unmap(pvr2fb_map); |
1130 | #endif | 1126 | #endif |
@@ -1139,4 +1135,3 @@ module_exit(pvr2fb_exit); | |||
1139 | MODULE_AUTHOR("Paul Mundt <lethal@linux-sh.org>, M. R. Brown <mrbrown@0xd6.org>"); | 1135 | MODULE_AUTHOR("Paul Mundt <lethal@linux-sh.org>, M. R. Brown <mrbrown@0xd6.org>"); |
1140 | MODULE_DESCRIPTION("Framebuffer driver for NEC PowerVR 2 based graphics boards"); | 1136 | MODULE_DESCRIPTION("Framebuffer driver for NEC PowerVR 2 based graphics boards"); |
1141 | MODULE_LICENSE("GPL"); | 1137 | MODULE_LICENSE("GPL"); |
1142 | |||
diff --git a/fs/Kconfig b/fs/Kconfig index 94b9d861bf9b..ee11f8d94085 100644 --- a/fs/Kconfig +++ b/fs/Kconfig | |||
@@ -991,7 +991,7 @@ config TMPFS_POSIX_ACL | |||
991 | 991 | ||
992 | config HUGETLBFS | 992 | config HUGETLBFS |
993 | bool "HugeTLB file system support" | 993 | bool "HugeTLB file system support" |
994 | depends on X86 || IA64 || PPC64 || SPARC64 || SUPERH || BROKEN | 994 | depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || BROKEN |
995 | help | 995 | help |
996 | hugetlbfs is a filesystem backing for HugeTLB pages, based on | 996 | hugetlbfs is a filesystem backing for HugeTLB pages, based on |
997 | ramfs. For architectures that support it, say Y here and read | 997 | ramfs. For architectures that support it, say Y here and read |
diff --git a/include/asm-sh/bugs.h b/include/asm-sh/bugs.h index 5a117ec43c77..aeee8da9c54f 100644 --- a/include/asm-sh/bugs.h +++ b/include/asm-sh/bugs.h | |||
@@ -22,7 +22,7 @@ static void __init check_bugs(void) | |||
22 | current_cpu_data.loops_per_jiffy = loops_per_jiffy; | 22 | current_cpu_data.loops_per_jiffy = loops_per_jiffy; |
23 | 23 | ||
24 | switch (current_cpu_data.type) { | 24 | switch (current_cpu_data.type) { |
25 | case CPU_SH7604 ... CPU_SH7619: | 25 | case CPU_SH7619: |
26 | *p++ = '2'; | 26 | *p++ = '2'; |
27 | break; | 27 | break; |
28 | case CPU_SH7206: | 28 | case CPU_SH7206: |
@@ -35,7 +35,7 @@ static void __init check_bugs(void) | |||
35 | case CPU_SH7750 ... CPU_SH4_501: | 35 | case CPU_SH7750 ... CPU_SH4_501: |
36 | *p++ = '4'; | 36 | *p++ = '4'; |
37 | break; | 37 | break; |
38 | case CPU_SH7770 ... CPU_SH7785: | 38 | case CPU_SH7770 ... CPU_SHX3: |
39 | *p++ = '4'; | 39 | *p++ = '4'; |
40 | *p++ = 'a'; | 40 | *p++ = 'a'; |
41 | break; | 41 | break; |
diff --git a/include/asm-sh/cache.h b/include/asm-sh/cache.h index 9a3cb6ba9d15..7a18649d1ccb 100644 --- a/include/asm-sh/cache.h +++ b/include/asm-sh/cache.h | |||
@@ -9,6 +9,7 @@ | |||
9 | #define __ASM_SH_CACHE_H | 9 | #define __ASM_SH_CACHE_H |
10 | #ifdef __KERNEL__ | 10 | #ifdef __KERNEL__ |
11 | 11 | ||
12 | #include <linux/init.h> | ||
12 | #include <asm/cpu/cache.h> | 13 | #include <asm/cpu/cache.h> |
13 | 14 | ||
14 | #define SH_CACHE_VALID 1 | 15 | #define SH_CACHE_VALID 1 |
@@ -48,6 +49,9 @@ struct cache_info { | |||
48 | 49 | ||
49 | unsigned long flags; | 50 | unsigned long flags; |
50 | }; | 51 | }; |
52 | |||
53 | int __init detect_cpu_and_cache_system(void); | ||
54 | |||
51 | #endif /* __ASSEMBLY__ */ | 55 | #endif /* __ASSEMBLY__ */ |
52 | #endif /* __KERNEL__ */ | 56 | #endif /* __KERNEL__ */ |
53 | #endif /* __ASM_SH_CACHE_H */ | 57 | #endif /* __ASM_SH_CACHE_H */ |
diff --git a/include/asm-sh/cpu-sh2/cache.h b/include/asm-sh/cpu-sh2/cache.h index 20b9796842dc..f02ba7a672b2 100644 --- a/include/asm-sh/cpu-sh2/cache.h +++ b/include/asm-sh/cpu-sh2/cache.h | |||
@@ -12,23 +12,7 @@ | |||
12 | 12 | ||
13 | #define L1_CACHE_SHIFT 4 | 13 | #define L1_CACHE_SHIFT 4 |
14 | 14 | ||
15 | #if defined(CONFIG_CPU_SUBTYPE_SH7604) | 15 | #if defined(CONFIG_CPU_SUBTYPE_SH7619) |
16 | #define CCR 0xfffffe92 /* Address of Cache Control Register */ | ||
17 | |||
18 | #define CCR_CACHE_CE 0x01 /* Cache enable */ | ||
19 | #define CCR_CACHE_ID 0x02 /* Instruction Replacement disable */ | ||
20 | #define CCR_CACHE_OD 0x04 /* Data Replacement disable */ | ||
21 | #define CCR_CACHE_TW 0x08 /* Two-way mode */ | ||
22 | #define CCR_CACHE_CP 0x10 /* Cache purge */ | ||
23 | |||
24 | #define CACHE_OC_ADDRESS_ARRAY 0x60000000 | ||
25 | |||
26 | #define CCR_CACHE_ENABLE CCR_CACHE_CE | ||
27 | #define CCR_CACHE_INVALIDATE CCR_CACHE_CP | ||
28 | #define CCR_CACHE_ORA CCR_CACHE_TW | ||
29 | #define CCR_CACHE_WT 0x00 /* SH-2 is _always_ write-through */ | ||
30 | |||
31 | #elif defined(CONFIG_CPU_SUBTYPE_SH7619) | ||
32 | #define CCR1 0xffffffec | 16 | #define CCR1 0xffffffec |
33 | #define CCR CCR1 | 17 | #define CCR CCR1 |
34 | 18 | ||
@@ -49,5 +33,5 @@ | |||
49 | #define CCR_CACHE_ENABLE CCR_CACHE_CE | 33 | #define CCR_CACHE_ENABLE CCR_CACHE_CE |
50 | #define CCR_CACHE_INVALIDATE CCR_CACHE_CF | 34 | #define CCR_CACHE_INVALIDATE CCR_CACHE_CF |
51 | #endif | 35 | #endif |
52 | #endif /* __ASM_CPU_SH2_CACHE_H */ | ||
53 | 36 | ||
37 | #endif /* __ASM_CPU_SH2_CACHE_H */ | ||
diff --git a/include/asm-sh/cpu-sh3/timer.h b/include/asm-sh/cpu-sh3/timer.h index b2394cf76f49..4928b08f9d19 100644 --- a/include/asm-sh/cpu-sh3/timer.h +++ b/include/asm-sh/cpu-sh3/timer.h | |||
@@ -29,7 +29,7 @@ | |||
29 | #endif | 29 | #endif |
30 | 30 | ||
31 | #if defined(CONFIG_CPU_SUBTYPE_SH7300) || defined(CONFIG_CPU_SUBTYPE_SH7710) | 31 | #if defined(CONFIG_CPU_SUBTYPE_SH7300) || defined(CONFIG_CPU_SUBTYPE_SH7710) |
32 | #define TMU_TSTR 0xa412fe92 /* Byte access */ | 32 | #define TMU_012_TSTR 0xa412fe92 /* Byte access */ |
33 | 33 | ||
34 | #define TMU0_TCOR 0xa412fe94 /* Long access */ | 34 | #define TMU0_TCOR 0xa412fe94 /* Long access */ |
35 | #define TMU0_TCNT 0xa412fe98 /* Long access */ | 35 | #define TMU0_TCNT 0xa412fe98 /* Long access */ |
@@ -44,7 +44,7 @@ | |||
44 | #define TMU2_TCR 0xa412feb4 /* Word access */ | 44 | #define TMU2_TCR 0xa412feb4 /* Word access */ |
45 | 45 | ||
46 | #else | 46 | #else |
47 | #define TMU_TSTR 0xfffffe92 /* Byte access */ | 47 | #define TMU_012_TSTR 0xfffffe92 /* Byte access */ |
48 | 48 | ||
49 | #define TMU0_TCOR 0xfffffe94 /* Long access */ | 49 | #define TMU0_TCOR 0xfffffe94 /* Long access */ |
50 | #define TMU0_TCNT 0xfffffe98 /* Long access */ | 50 | #define TMU0_TCNT 0xfffffe98 /* Long access */ |
diff --git a/include/asm-sh/cpu-sh4/freq.h b/include/asm-sh/cpu-sh4/freq.h index 39f41fcd509d..026025b51cea 100644 --- a/include/asm-sh/cpu-sh4/freq.h +++ b/include/asm-sh/cpu-sh4/freq.h | |||
@@ -22,6 +22,8 @@ | |||
22 | #define FRQCR0 0xffc80000 | 22 | #define FRQCR0 0xffc80000 |
23 | #define FRQCR1 0xffc80004 | 23 | #define FRQCR1 0xffc80004 |
24 | #define FRQMR1 0xffc80014 | 24 | #define FRQMR1 0xffc80014 |
25 | #elif defined(CONFIG_CPU_SUBTYPE_SHX3) | ||
26 | #define FRQCR 0xffc00014 | ||
25 | #else | 27 | #else |
26 | #define FRQCR 0xffc00000 | 28 | #define FRQCR 0xffc00000 |
27 | #define FRQCR_PSTBY 0x0200 | 29 | #define FRQCR_PSTBY 0x0200 |
diff --git a/include/asm-sh/cpu-sh4/timer.h b/include/asm-sh/cpu-sh4/timer.h index 8a4af126c890..d1e796b96888 100644 --- a/include/asm-sh/cpu-sh4/timer.h +++ b/include/asm-sh/cpu-sh4/timer.h | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * include/asm-sh/cpu-sh4/timer.h | 2 | * include/asm-sh/cpu-sh4/timer.h |
3 | * | 3 | * |
4 | * Copyright (C) 2004 Lineo Solutions, Inc. | 4 | * Copyright (C) 2004 Lineo Solutions, Inc. |
5 | * | 5 | * |
6 | * This file is subject to the terms and conditions of the GNU General Public | 6 | * This file is subject to the terms and conditions of the GNU General Public |
7 | * License. See the file "COPYING" in the main directory of this archive | 7 | * License. See the file "COPYING" in the main directory of this archive |
@@ -16,36 +16,45 @@ | |||
16 | * SH7750S/SH7750R | 16 | * SH7750S/SH7750R |
17 | * SH7751/SH7751R | 17 | * SH7751/SH7751R |
18 | * SH7760 | 18 | * SH7760 |
19 | * SH-X3 | ||
19 | * --------------------------------------------------------------------------- | 20 | * --------------------------------------------------------------------------- |
20 | */ | 21 | */ |
21 | 22 | #ifdef CONFIG_CPU_SUBTYPE_SHX3 | |
22 | #if !defined(CONFIG_CPU_SUBTYPE_SH7760) | 23 | #define TMU_012_BASE 0xffc10000 |
23 | #define TMU_TOCR 0xffd80000 /* Byte access */ | 24 | #define TMU_345_BASE 0xffc20000 |
25 | #else | ||
26 | #define TMU_012_BASE 0xffd80000 | ||
27 | #define TMU_345_BASE 0xfe100000 | ||
24 | #endif | 28 | #endif |
25 | #define TMU_TSTR 0xffd80004 /* Byte access */ | ||
26 | 29 | ||
27 | #define TMU0_TCOR 0xffd80008 /* Long access */ | 30 | #define TMU_TOCR TMU_012_BASE /* Not supported on all CPUs */ |
28 | #define TMU0_TCNT 0xffd8000c /* Long access */ | ||
29 | #define TMU0_TCR 0xffd80010 /* Word access */ | ||
30 | 31 | ||
31 | #define TMU1_TCOR 0xffd80014 /* Long access */ | 32 | #define TMU_012_TSTR (TMU_012_BASE + 0x04) |
32 | #define TMU1_TCNT 0xffd80018 /* Long access */ | 33 | #define TMU_345_TSTR (TMU_345_BASE + 0x04) |
33 | #define TMU1_TCR 0xffd8001c /* Word access */ | ||
34 | 34 | ||
35 | #define TMU2_TCOR 0xffd80020 /* Long access */ | 35 | #define TMU0_TCOR (TMU_012_BASE + 0x08) |
36 | #define TMU2_TCNT 0xffd80024 /* Long access */ | 36 | #define TMU0_TCNT (TMU_012_BASE + 0x0c) |
37 | #define TMU2_TCR 0xffd80028 /* Word access */ | 37 | #define TMU0_TCR (TMU_012_BASE + 0x10) |
38 | #define TMU2_TCPR 0xffd8002c /* Long access */ | ||
39 | 38 | ||
40 | #if !defined(CONFIG_CPU_SUBTYPE_SH7760) | 39 | #define TMU1_TCOR (TMU_012_BASE + 0x14) |
41 | #define TMU3_TCOR 0xfe100008 /* Long access */ | 40 | #define TMU1_TCNT (TMU_012_BASE + 0x18) |
42 | #define TMU3_TCNT 0xfe10000c /* Long access */ | 41 | #define TMU1_TCR (TMU_012_BASE + 0x1c) |
43 | #define TMU3_TCR 0xfe100010 /* Word access */ | ||
44 | 42 | ||
45 | #define TMU4_TCOR 0xfe100014 /* Long access */ | 43 | #define TMU2_TCOR (TMU_012_BASE + 0x20) |
46 | #define TMU4_TCNT 0xfe100018 /* Long access */ | 44 | #define TMU2_TCNT (TMU_012_BASE + 0x24) |
47 | #define TMU4_TCR 0xfe10001c /* Word access */ | 45 | #define TMU2_TCR (TMU_012_BASE + 0x28) |
48 | #endif | 46 | #define TMU2_TCPR (TMU_012_BASE + 0x2c) |
49 | 47 | ||
50 | #endif /* __ASM_CPU_SH4_TIMER_H */ | 48 | #define TMU3_TCOR (TMU_345_BASE + 0x08) |
49 | #define TMU3_TCNT (TMU_345_BASE + 0x0c) | ||
50 | #define TMU3_TCR (TMU_345_BASE + 0x10) | ||
51 | 51 | ||
52 | #define TMU4_TCOR (TMU_345_BASE + 0x14) | ||
53 | #define TMU4_TCNT (TMU_345_BASE + 0x18) | ||
54 | #define TMU4_TCR (TMU_345_BASE + 0x1c) | ||
55 | |||
56 | #define TMU5_TCOR (TMU_345_BASE + 0x20) | ||
57 | #define TMU5_TCNT (TMU_345_BASE + 0x24) | ||
58 | #define TMU5_TCR (TMU_345_BASE + 0x28) | ||
59 | |||
60 | #endif /* __ASM_CPU_SH4_TIMER_H */ | ||
diff --git a/include/asm-sh/futex-irq.h b/include/asm-sh/futex-irq.h new file mode 100644 index 000000000000..a9f16a7f9aea --- /dev/null +++ b/include/asm-sh/futex-irq.h | |||
@@ -0,0 +1,111 @@ | |||
1 | #ifndef __ASM_SH_FUTEX_IRQ_H | ||
2 | #define __ASM_SH_FUTEX_IRQ_H | ||
3 | |||
4 | #include <asm/system.h> | ||
5 | |||
6 | static inline int atomic_futex_op_xchg_set(int oparg, int __user *uaddr, | ||
7 | int *oldval) | ||
8 | { | ||
9 | unsigned long flags; | ||
10 | int ret; | ||
11 | |||
12 | local_irq_save(flags); | ||
13 | |||
14 | ret = get_user(*oldval, uaddr); | ||
15 | if (!ret) | ||
16 | ret = put_user(oparg, uaddr); | ||
17 | |||
18 | local_irq_restore(flags); | ||
19 | |||
20 | return ret; | ||
21 | } | ||
22 | |||
23 | static inline int atomic_futex_op_xchg_add(int oparg, int __user *uaddr, | ||
24 | int *oldval) | ||
25 | { | ||
26 | unsigned long flags; | ||
27 | int ret; | ||
28 | |||
29 | local_irq_save(flags); | ||
30 | |||
31 | ret = get_user(*oldval, uaddr); | ||
32 | if (!ret) | ||
33 | ret = put_user(*oldval + oparg, uaddr); | ||
34 | |||
35 | local_irq_restore(flags); | ||
36 | |||
37 | return ret; | ||
38 | } | ||
39 | |||
40 | static inline int atomic_futex_op_xchg_or(int oparg, int __user *uaddr, | ||
41 | int *oldval) | ||
42 | { | ||
43 | unsigned long flags; | ||
44 | int ret; | ||
45 | |||
46 | local_irq_save(flags); | ||
47 | |||
48 | ret = get_user(*oldval, uaddr); | ||
49 | if (!ret) | ||
50 | ret = put_user(*oldval | oparg, uaddr); | ||
51 | |||
52 | local_irq_restore(flags); | ||
53 | |||
54 | return ret; | ||
55 | } | ||
56 | |||
57 | static inline int atomic_futex_op_xchg_and(int oparg, int __user *uaddr, | ||
58 | int *oldval) | ||
59 | { | ||
60 | unsigned long flags; | ||
61 | int ret; | ||
62 | |||
63 | local_irq_save(flags); | ||
64 | |||
65 | ret = get_user(*oldval, uaddr); | ||
66 | if (!ret) | ||
67 | ret = put_user(*oldval & oparg, uaddr); | ||
68 | |||
69 | local_irq_restore(flags); | ||
70 | |||
71 | return ret; | ||
72 | } | ||
73 | |||
74 | static inline int atomic_futex_op_xchg_xor(int oparg, int __user *uaddr, | ||
75 | int *oldval) | ||
76 | { | ||
77 | unsigned long flags; | ||
78 | int ret; | ||
79 | |||
80 | local_irq_save(flags); | ||
81 | |||
82 | ret = get_user(*oldval, uaddr); | ||
83 | if (!ret) | ||
84 | ret = put_user(*oldval ^ oparg, uaddr); | ||
85 | |||
86 | local_irq_restore(flags); | ||
87 | |||
88 | return ret; | ||
89 | } | ||
90 | |||
91 | static inline int atomic_futex_op_cmpxchg_inatomic(int __user *uaddr, | ||
92 | int oldval, int newval) | ||
93 | { | ||
94 | unsigned long flags; | ||
95 | int ret, prev = 0; | ||
96 | |||
97 | local_irq_save(flags); | ||
98 | |||
99 | ret = get_user(prev, uaddr); | ||
100 | if (!ret && oldval == prev) | ||
101 | ret = put_user(newval, uaddr); | ||
102 | |||
103 | local_irq_restore(flags); | ||
104 | |||
105 | if (ret) | ||
106 | return ret; | ||
107 | |||
108 | return prev; | ||
109 | } | ||
110 | |||
111 | #endif /* __ASM_SH_FUTEX_IRQ_H */ | ||
diff --git a/include/asm-sh/futex.h b/include/asm-sh/futex.h index 6a332a9f099c..74ed3681d33c 100644 --- a/include/asm-sh/futex.h +++ b/include/asm-sh/futex.h | |||
@@ -1,6 +1,77 @@ | |||
1 | #ifndef _ASM_FUTEX_H | 1 | #ifndef __ASM_SH_FUTEX_H |
2 | #define _ASM_FUTEX_H | 2 | #define __ASM_SH_FUTEX_H |
3 | 3 | ||
4 | #include <asm-generic/futex.h> | 4 | #ifdef __KERNEL__ |
5 | 5 | ||
6 | #endif | 6 | #include <linux/futex.h> |
7 | #include <asm/errno.h> | ||
8 | #include <asm/uaccess.h> | ||
9 | |||
10 | /* XXX: UP variants, fix for SH-4A and SMP.. */ | ||
11 | #include <asm/futex-irq.h> | ||
12 | |||
13 | static inline int futex_atomic_op_inuser(int encoded_op, int __user *uaddr) | ||
14 | { | ||
15 | int op = (encoded_op >> 28) & 7; | ||
16 | int cmp = (encoded_op >> 24) & 15; | ||
17 | int oparg = (encoded_op << 8) >> 20; | ||
18 | int cmparg = (encoded_op << 20) >> 20; | ||
19 | int oldval = 0, ret; | ||
20 | |||
21 | if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28)) | ||
22 | oparg = 1 << oparg; | ||
23 | |||
24 | if (!access_ok(VERIFY_WRITE, uaddr, sizeof(int))) | ||
25 | return -EFAULT; | ||
26 | |||
27 | pagefault_disable(); | ||
28 | |||
29 | switch (op) { | ||
30 | case FUTEX_OP_SET: | ||
31 | ret = atomic_futex_op_xchg_set(oparg, uaddr, &oldval); | ||
32 | break; | ||
33 | case FUTEX_OP_ADD: | ||
34 | ret = atomic_futex_op_xchg_add(oparg, uaddr, &oldval); | ||
35 | break; | ||
36 | case FUTEX_OP_OR: | ||
37 | ret = atomic_futex_op_xchg_or(oparg, uaddr, &oldval); | ||
38 | break; | ||
39 | case FUTEX_OP_ANDN: | ||
40 | ret = atomic_futex_op_xchg_and(~oparg, uaddr, &oldval); | ||
41 | break; | ||
42 | case FUTEX_OP_XOR: | ||
43 | ret = atomic_futex_op_xchg_xor(oparg, uaddr, &oldval); | ||
44 | break; | ||
45 | default: | ||
46 | ret = -ENOSYS; | ||
47 | break; | ||
48 | } | ||
49 | |||
50 | pagefault_enable(); | ||
51 | |||
52 | if (!ret) { | ||
53 | switch (cmp) { | ||
54 | case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break; | ||
55 | case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break; | ||
56 | case FUTEX_OP_CMP_LT: ret = (oldval < cmparg); break; | ||
57 | case FUTEX_OP_CMP_GE: ret = (oldval >= cmparg); break; | ||
58 | case FUTEX_OP_CMP_LE: ret = (oldval <= cmparg); break; | ||
59 | case FUTEX_OP_CMP_GT: ret = (oldval > cmparg); break; | ||
60 | default: ret = -ENOSYS; | ||
61 | } | ||
62 | } | ||
63 | |||
64 | return ret; | ||
65 | } | ||
66 | |||
67 | static inline int | ||
68 | futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval) | ||
69 | { | ||
70 | if (!access_ok(VERIFY_WRITE, uaddr, sizeof(int))) | ||
71 | return -EFAULT; | ||
72 | |||
73 | return atomic_futex_op_cmpxchg_inatomic(uaddr, oldval, newval); | ||
74 | } | ||
75 | |||
76 | #endif /* __KERNEL__ */ | ||
77 | #endif /* __ASM_SH_FUTEX_H */ | ||
diff --git a/include/asm-sh/hd64461.h b/include/asm-sh/hd64461.h index 27e5c34e2659..4dd8592ca014 100644 --- a/include/asm-sh/hd64461.h +++ b/include/asm-sh/hd64461.h | |||
@@ -1,200 +1,241 @@ | |||
1 | #ifndef __ASM_SH_HD64461 | 1 | #ifndef __ASM_SH_HD64461 |
2 | #define __ASM_SH_HD64461 | 2 | #define __ASM_SH_HD64461 |
3 | /* | 3 | /* |
4 | * $Id: hd64461.h,v 1.5 2004/03/16 00:07:51 lethal Exp $ | 4 | * Copyright (C) 2007 Kristoffer Ericson <Kristoffer.Ericson@gmail.com> |
5 | * Copyright (C) 2004 Paul Mundt | ||
5 | * Copyright (C) 2000 YAEGASHI Takeshi | 6 | * Copyright (C) 2000 YAEGASHI Takeshi |
6 | * Hitachi HD64461 companion chip support | 7 | * |
8 | * Hitachi HD64461 companion chip support | ||
9 | * (please note manual reference 0x10000000 = 0xb0000000) | ||
7 | */ | 10 | */ |
8 | 11 | ||
9 | /* Constants for PCMCIA mappings */ | 12 | /* Constants for PCMCIA mappings */ |
10 | #define HD64461_PCC_WINDOW 0x01000000 | 13 | #define HD64461_PCC_WINDOW 0x01000000 |
11 | 14 | ||
12 | #define HD64461_PCC0_BASE 0xb8000000 /* area 6 */ | 15 | /* Area 6 - Slot 0 - memory and/or IO card */ |
13 | #define HD64461_PCC0_ATTR (HD64461_PCC0_BASE) | 16 | #define HD64461_PCC0_BASE (CONFIG_HD64461_IOBASE + 0x8000000) |
14 | #define HD64461_PCC0_COMM (HD64461_PCC0_BASE+HD64461_PCC_WINDOW) | 17 | #define HD64461_PCC0_ATTR (HD64461_PCC0_BASE) /* 0xb80000000 */ |
15 | #define HD64461_PCC0_IO (HD64461_PCC0_BASE+2*HD64461_PCC_WINDOW) | 18 | #define HD64461_PCC0_COMM (HD64461_PCC0_BASE+HD64461_PCC_WINDOW) /* 0xb90000000 */ |
16 | 19 | #define HD64461_PCC0_IO (HD64461_PCC0_BASE+2*HD64461_PCC_WINDOW) /* 0xba0000000 */ | |
17 | #define HD64461_PCC1_BASE 0xb4000000 /* area 5 */ | 20 | |
18 | #define HD64461_PCC1_ATTR (HD64461_PCC1_BASE) | 21 | /* Area 5 - Slot 1 - memory card only */ |
19 | #define HD64461_PCC1_COMM (HD64461_PCC1_BASE+HD64461_PCC_WINDOW) | 22 | #define HD64461_PCC1_BASE (CONFIG_HD64461_IOBASE + 0x4000000) |
20 | 23 | #define HD64461_PCC1_ATTR (HD64461_PCC1_BASE) /* 0xb4000000 */ | |
21 | #define HD64461_STBCR 0x10000 | 24 | #define HD64461_PCC1_COMM (HD64461_PCC1_BASE+HD64461_PCC_WINDOW) /* 0xb5000000 */ |
22 | #define HD64461_STBCR_CKIO_STBY 0x2000 | 25 | |
23 | #define HD64461_STBCR_SAFECKE_IST 0x1000 | 26 | /* Standby Control Register for HD64461 */ |
24 | #define HD64461_STBCR_SLCKE_IST 0x0800 | 27 | #define HD64461_STBCR CONFIG_HD64461_IOBASE |
25 | #define HD64461_STBCR_SAFECKE_OST 0x0400 | 28 | #define HD64461_STBCR_CKIO_STBY 0x2000 |
26 | #define HD64461_STBCR_SLCKE_OST 0x0200 | 29 | #define HD64461_STBCR_SAFECKE_IST 0x1000 |
27 | #define HD64461_STBCR_SMIAST 0x0100 | 30 | #define HD64461_STBCR_SLCKE_IST 0x0800 |
28 | #define HD64461_STBCR_SLCDST 0x0080 | 31 | #define HD64461_STBCR_SAFECKE_OST 0x0400 |
29 | #define HD64461_STBCR_SPC0ST 0x0040 | 32 | #define HD64461_STBCR_SLCKE_OST 0x0200 |
30 | #define HD64461_STBCR_SPC1ST 0x0020 | 33 | #define HD64461_STBCR_SMIAST 0x0100 |
31 | #define HD64461_STBCR_SAFEST 0x0010 | 34 | #define HD64461_STBCR_SLCDST 0x0080 |
32 | #define HD64461_STBCR_STM0ST 0x0008 | 35 | #define HD64461_STBCR_SPC0ST 0x0040 |
33 | #define HD64461_STBCR_STM1ST 0x0004 | 36 | #define HD64461_STBCR_SPC1ST 0x0020 |
34 | #define HD64461_STBCR_SIRST 0x0002 | 37 | #define HD64461_STBCR_SAFEST 0x0010 |
35 | #define HD64461_STBCR_SURTST 0x0001 | 38 | #define HD64461_STBCR_STM0ST 0x0008 |
36 | 39 | #define HD64461_STBCR_STM1ST 0x0004 | |
37 | #define HD64461_SYSCR 0x10002 | 40 | #define HD64461_STBCR_SIRST 0x0002 |
38 | #define HD64461_SCPUCR 0x10004 | 41 | #define HD64461_STBCR_SURTST 0x0001 |
39 | 42 | ||
40 | #define HD64461_LCDCBAR 0x11000 | 43 | /* System Configuration Register */ |
41 | #define HD64461_LCDCLOR 0x11002 | 44 | #define HD64461_SYSCR (CONFIG_HD64461_IOBASE + 0x02) |
42 | #define HD64461_LCDCCR 0x11004 | 45 | |
43 | #define HD64461_LCDCCR_STBACK 0x0400 | 46 | /* CPU Data Bus Control Register */ |
44 | #define HD64461_LCDCCR_STREQ 0x0100 | 47 | #define HD64461_SCPUCR (CONFIG_HD64461_IOBASE + 0x04) |
45 | #define HD64461_LCDCCR_MOFF 0x0080 | 48 | |
46 | #define HD64461_LCDCCR_REFSEL 0x0040 | 49 | /* Base Adress Register */ |
47 | #define HD64461_LCDCCR_EPON 0x0020 | 50 | #define HD64461_LCDCBAR (CONFIG_HD64461_IOBASE + 0x1000) |
48 | #define HD64461_LCDCCR_SPON 0x0010 | 51 | |
49 | 52 | /* Line increment adress */ | |
50 | #define HD64461_LDR1 0x11010 | 53 | #define HD64461_LCDCLOR (CONFIG_HD64461_IOBASE + 0x1002) |
51 | #define HD64461_LDR1_DON 0x01 | 54 | |
52 | #define HD64461_LDR1_DINV 0x80 | 55 | /* Controls LCD controller */ |
53 | 56 | #define HD64461_LCDCCR (CONFIG_HD64461_IOBASE + 0x1004) | |
54 | #define HD64461_LDR2 0x11012 | 57 | |
55 | #define HD64461_LDHNCR 0x11014 | 58 | /* LCCDR control bits */ |
56 | #define HD64461_LDHNSR 0x11016 | 59 | #define HD64461_LCDCCR_STBACK 0x0400 /* Standby Back */ |
57 | #define HD64461_LDVNTR 0x11018 | 60 | #define HD64461_LCDCCR_STREQ 0x0100 /* Standby Request */ |
58 | #define HD64461_LDVNDR 0x1101a | 61 | #define HD64461_LCDCCR_MOFF 0x0080 /* Memory Off */ |
59 | #define HD64461_LDVSPR 0x1101c | 62 | #define HD64461_LCDCCR_REFSEL 0x0040 /* Refresh Select */ |
60 | #define HD64461_LDR3 0x1101e | 63 | #define HD64461_LCDCCR_EPON 0x0020 /* End Power On */ |
61 | 64 | #define HD64461_LCDCCR_SPON 0x0010 /* Start Power On */ | |
62 | #define HD64461_CPTWAR 0x11030 | 65 | |
63 | #define HD64461_CPTWDR 0x11032 | 66 | /* Controls LCD (1) */ |
64 | #define HD64461_CPTRAR 0x11034 | 67 | #define HD64461_LDR1 (CONFIG_HD64461_IOBASE + 0x1010) |
65 | #define HD64461_CPTRDR 0x11036 | 68 | #define HD64461_LDR1_DON 0x01 /* Display On */ |
66 | 69 | #define HD64461_LDR1_DINV 0x80 /* Display Invert */ | |
67 | #define HD64461_GRDOR 0x11040 | 70 | |
68 | #define HD64461_GRSCR 0x11042 | 71 | /* Controls LCD (2) */ |
69 | #define HD64461_GRCFGR 0x11044 | 72 | #define HD64461_LDR2 (CONFIG_HD64461_IOBASE + 0x1012) |
70 | #define HD64461_GRCFGR_ACCSTATUS 0x10 | 73 | #define HD64461_LDHNCR (CONFIG_HD64461_IOBASE + 0x1014) /* Number of horizontal characters */ |
71 | #define HD64461_GRCFGR_ACCRESET 0x08 | 74 | #define HD64461_LDHNSR (CONFIG_HD64461_IOBASE + 0x1016) /* Specify output start position + width of CL1 */ |
72 | #define HD64461_GRCFGR_ACCSTART_BITBLT 0x06 | 75 | #define HD64461_LDVNTR (CONFIG_HD64461_IOBASE + 0x1018) /* Specify total vertical lines */ |
73 | #define HD64461_GRCFGR_ACCSTART_LINE 0x04 | 76 | #define HD64461_LDVNDR (CONFIG_HD64461_IOBASE + 0x101a) /* specify number of display vertical lines */ |
74 | #define HD64461_GRCFGR_COLORDEPTH16 0x01 | 77 | #define HD64461_LDVSPR (CONFIG_HD64461_IOBASE + 0x101c) /* specify vertical synchronization pos and AC nr */ |
75 | 78 | ||
76 | #define HD64461_LNSARH 0x11046 | 79 | /* Controls LCD (3) */ |
77 | #define HD64461_LNSARL 0x11048 | 80 | #define HD64461_LDR3 (CONFIG_HD64461_IOBASE + 0x101e) |
78 | #define HD64461_LNAXLR 0x1104a | 81 | |
79 | #define HD64461_LNDGR 0x1104c | 82 | /* Palette Registers */ |
80 | #define HD64461_LNAXR 0x1104e | 83 | #define HD64461_CPTWAR (CONFIG_HD64461_IOBASE + 0x1030) /* Color Palette Write Adress Register */ |
81 | #define HD64461_LNERTR 0x11050 | 84 | #define HD64461_CPTWDR (CONFIG_HD64461_IOBASE + 0x1032) /* Color Palette Write Data Register */ |
82 | #define HD64461_LNMDR 0x11052 | 85 | #define HD64461_CPTRAR (CONFIG_HD64461_IOBASE + 0x1034) /* Color Palette Read Adress Register */ |
83 | #define HD64461_BBTSSARH 0x11054 | 86 | #define HD64461_CPTRDR (CONFIG_HD64461_IOBASE + 0x1036) /* Color Palette Read Data Register */ |
84 | #define HD64461_BBTSSARL 0x11056 | 87 | |
85 | #define HD64461_BBTDSARH 0x11058 | 88 | #define HD64461_GRDOR (CONFIG_HD64461_IOBASE + 0x1040) /* Display Resolution Offset Register */ |
86 | #define HD64461_BBTDSARL 0x1105a | 89 | #define HD64461_GRSCR (CONFIG_HD64461_IOBASE + 0x1042) /* Solid Color Register */ |
87 | #define HD64461_BBTDWR 0x1105c | 90 | #define HD64461_GRCFGR (CONFIG_HD64461_IOBASE + 0x1044) /* Accelerator Configuration Register */ |
88 | #define HD64461_BBTDHR 0x1105e | 91 | |
89 | #define HD64461_BBTPARH 0x11060 | 92 | #define HD64461_GRCFGR_ACCSTATUS 0x10 /* Accelerator Status */ |
90 | #define HD64461_BBTPARL 0x11062 | 93 | #define HD64461_GRCFGR_ACCRESET 0x08 /* Accelerator Reset */ |
91 | #define HD64461_BBTMARH 0x11064 | 94 | #define HD64461_GRCFGR_ACCSTART_BITBLT 0x06 /* Accelerator Start BITBLT */ |
92 | #define HD64461_BBTMARL 0x11066 | 95 | #define HD64461_GRCFGR_ACCSTART_LINE 0x04 /* Accelerator Start Line Drawing */ |
93 | #define HD64461_BBTROPR 0x11068 | 96 | #define HD64461_GRCFGR_COLORDEPTH16 0x01 /* Sets Colordepth 16 for Accelerator */ |
94 | #define HD64461_BBTMDR 0x1106a | 97 | #define HD64461_GRCFGR_COLORDEPTH8 0x01 /* Sets Colordepth 8 for Accelerator */ |
98 | |||
99 | /* Line Drawing Registers */ | ||
100 | #define HD64461_LNSARH (CONFIG_HD64461_IOBASE + 0x1046) /* Line Start Adress Register (H) */ | ||
101 | #define HD64461_LNSARL (CONFIG_HD64461_IOBASE + 0x1048) /* Line Start Adress Register (L) */ | ||
102 | #define HD64461_LNAXLR (CONFIG_HD64461_IOBASE + 0x104a) /* Axis Pixel Length Register */ | ||
103 | #define HD64461_LNDGR (CONFIG_HD64461_IOBASE + 0x104c) /* Diagonal Register */ | ||
104 | #define HD64461_LNAXR (CONFIG_HD64461_IOBASE + 0x104e) /* Axial Register */ | ||
105 | #define HD64461_LNERTR (CONFIG_HD64461_IOBASE + 0x1050) /* Start Error Term Register */ | ||
106 | #define HD64461_LNMDR (CONFIG_HD64461_IOBASE + 0x1052) /* Line Mode Register */ | ||
107 | |||
108 | /* BitBLT Registers */ | ||
109 | #define HD64461_BBTSSARH (CONFIG_HD64461_IOBASE + 0x1054) /* Source Start Adress Register (H) */ | ||
110 | #define HD64461_BBTSSARL (CONFIG_HD64461_IOBASE + 0x1056) /* Source Start Adress Register (L) */ | ||
111 | #define HD64461_BBTDSARH (CONFIG_HD64461_IOBASE + 0x1058) /* Destination Start Adress Register (H) */ | ||
112 | #define HD64461_BBTDSARL (CONFIG_HD64461_IOBASE + 0x105a) /* Destination Start Adress Register (L) */ | ||
113 | #define HD64461_BBTDWR (CONFIG_HD64461_IOBASE + 0x105c) /* Destination Block Width Register */ | ||
114 | #define HD64461_BBTDHR (CONFIG_HD64461_IOBASE + 0x105e) /* Destination Block Height Register */ | ||
115 | #define HD64461_BBTPARH (CONFIG_HD64461_IOBASE + 0x1060) /* Pattern Start Adress Register (H) */ | ||
116 | #define HD64461_BBTPARL (CONFIG_HD64461_IOBASE + 0x1062) /* Pattern Start Adress Register (L) */ | ||
117 | #define HD64461_BBTMARH (CONFIG_HD64461_IOBASE + 0x1064) /* Mask Start Adress Register (H) */ | ||
118 | #define HD64461_BBTMARL (CONFIG_HD64461_IOBASE + 0x1066) /* Mask Start Adress Register (L) */ | ||
119 | #define HD64461_BBTROPR (CONFIG_HD64461_IOBASE + 0x1068) /* ROP Register */ | ||
120 | #define HD64461_BBTMDR (CONFIG_HD64461_IOBASE + 0x106a) /* BitBLT Mode Register */ | ||
95 | 121 | ||
96 | /* PC Card Controller Registers */ | 122 | /* PC Card Controller Registers */ |
97 | #define HD64461_PCC0ISR 0x12000 /* socket 0 interface status */ | 123 | /* Maps to Physical Area 6 */ |
98 | #define HD64461_PCC0GCR 0x12002 /* socket 0 general control */ | 124 | #define HD64461_PCC0ISR (CONFIG_HD64461_IOBASE + 0x2000) /* socket 0 interface status */ |
99 | #define HD64461_PCC0CSCR 0x12004 /* socket 0 card status change */ | 125 | #define HD64461_PCC0GCR (CONFIG_HD64461_IOBASE + 0x2002) /* socket 0 general control */ |
100 | #define HD64461_PCC0CSCIER 0x12006 /* socket 0 card status change interrupt enable */ | 126 | #define HD64461_PCC0CSCR (CONFIG_HD64461_IOBASE + 0x2004) /* socket 0 card status change */ |
101 | #define HD64461_PCC0SCR 0x12008 /* socket 0 software control */ | 127 | #define HD64461_PCC0CSCIER (CONFIG_HD64461_IOBASE + 0x2006) /* socket 0 card status change interrupt enable */ |
102 | #define HD64461_PCC1ISR 0x12010 /* socket 1 interface status */ | 128 | #define HD64461_PCC0SCR (CONFIG_HD64461_IOBASE + 0x2008) /* socket 0 software control */ |
103 | #define HD64461_PCC1GCR 0x12012 /* socket 1 general control */ | 129 | /* Maps to Physical Area 5 */ |
104 | #define HD64461_PCC1CSCR 0x12014 /* socket 1 card status change */ | 130 | #define HD64461_PCC1ISR (CONFIG_HD64461_IOBASE + 0x2010) /* socket 1 interface status */ |
105 | #define HD64461_PCC1CSCIER 0x12016 /* socket 1 card status change interrupt enable */ | 131 | #define HD64461_PCC1GCR (CONFIG_HD64461_IOBASE + 0x2012) /* socket 1 general control */ |
106 | #define HD64461_PCC1SCR 0x12018 /* socket 1 software control */ | 132 | #define HD64461_PCC1CSCR (CONFIG_HD64461_IOBASE + 0x2014) /* socket 1 card status change */ |
133 | #define HD64461_PCC1CSCIER (CONFIG_HD64461_IOBASE + 0x2016) /* socket 1 card status change interrupt enable */ | ||
134 | #define HD64461_PCC1SCR (CONFIG_HD64461_IOBASE + 0x2018) /* socket 1 software control */ | ||
107 | 135 | ||
108 | /* PCC Interface Status Register */ | 136 | /* PCC Interface Status Register */ |
109 | #define HD64461_PCCISR_READY 0x80 /* card ready */ | 137 | #define HD64461_PCCISR_READY 0x80 /* card ready */ |
110 | #define HD64461_PCCISR_MWP 0x40 /* card write-protected */ | 138 | #define HD64461_PCCISR_MWP 0x40 /* card write-protected */ |
111 | #define HD64461_PCCISR_VS2 0x20 /* voltage select pin 2 */ | 139 | #define HD64461_PCCISR_VS2 0x20 /* voltage select pin 2 */ |
112 | #define HD64461_PCCISR_VS1 0x10 /* voltage select pin 1 */ | 140 | #define HD64461_PCCISR_VS1 0x10 /* voltage select pin 1 */ |
113 | #define HD64461_PCCISR_CD2 0x08 /* card detect 2 */ | 141 | #define HD64461_PCCISR_CD2 0x08 /* card detect 2 */ |
114 | #define HD64461_PCCISR_CD1 0x04 /* card detect 1 */ | 142 | #define HD64461_PCCISR_CD1 0x04 /* card detect 1 */ |
115 | #define HD64461_PCCISR_BVD2 0x02 /* battery 1 */ | 143 | #define HD64461_PCCISR_BVD2 0x02 /* battery 1 */ |
116 | #define HD64461_PCCISR_BVD1 0x01 /* battery 1 */ | 144 | #define HD64461_PCCISR_BVD1 0x01 /* battery 1 */ |
117 | 145 | ||
118 | #define HD64461_PCCISR_PCD_MASK 0x0c /* card detect */ | 146 | #define HD64461_PCCISR_PCD_MASK 0x0c /* card detect */ |
119 | #define HD64461_PCCISR_BVD_MASK 0x03 /* battery voltage */ | 147 | #define HD64461_PCCISR_BVD_MASK 0x03 /* battery voltage */ |
120 | #define HD64461_PCCISR_BVD_BATGOOD 0x03 /* battery good */ | 148 | #define HD64461_PCCISR_BVD_BATGOOD 0x03 /* battery good */ |
121 | #define HD64461_PCCISR_BVD_BATWARN 0x01 /* battery low warning */ | 149 | #define HD64461_PCCISR_BVD_BATWARN 0x01 /* battery low warning */ |
122 | #define HD64461_PCCISR_BVD_BATDEAD1 0x02 /* battery dead */ | 150 | #define HD64461_PCCISR_BVD_BATDEAD1 0x02 /* battery dead */ |
123 | #define HD64461_PCCISR_BVD_BATDEAD2 0x00 /* battery dead */ | 151 | #define HD64461_PCCISR_BVD_BATDEAD2 0x00 /* battery dead */ |
124 | 152 | ||
125 | /* PCC General Control Register */ | 153 | /* PCC General Control Register */ |
126 | #define HD64461_PCCGCR_DRVE 0x80 /* output drive */ | 154 | #define HD64461_PCCGCR_DRVE 0x80 /* output drive */ |
127 | #define HD64461_PCCGCR_PCCR 0x40 /* PC card reset */ | 155 | #define HD64461_PCCGCR_PCCR 0x40 /* PC card reset */ |
128 | #define HD64461_PCCGCR_PCCT 0x20 /* PC card type, 1=IO&mem, 0=mem */ | 156 | #define HD64461_PCCGCR_PCCT 0x20 /* PC card type, 1=IO&mem, 0=mem */ |
129 | #define HD64461_PCCGCR_VCC0 0x10 /* voltage control pin VCC0SEL0 */ | 157 | #define HD64461_PCCGCR_VCC0 0x10 /* voltage control pin VCC0SEL0 */ |
130 | #define HD64461_PCCGCR_PMMOD 0x08 /* memory mode */ | 158 | #define HD64461_PCCGCR_PMMOD 0x08 /* memory mode */ |
131 | #define HD64461_PCCGCR_PA25 0x04 /* pin A25 */ | 159 | #define HD64461_PCCGCR_PA25 0x04 /* pin A25 */ |
132 | #define HD64461_PCCGCR_PA24 0x02 /* pin A24 */ | 160 | #define HD64461_PCCGCR_PA24 0x02 /* pin A24 */ |
133 | #define HD64461_PCCGCR_REG 0x01 /* pin PCC0REG# */ | 161 | #define HD64461_PCCGCR_REG 0x01 /* pin PCC0REG# */ |
134 | 162 | ||
135 | /* PCC Card Status Change Register */ | 163 | /* PCC Card Status Change Register */ |
136 | #define HD64461_PCCCSCR_SCDI 0x80 /* sw card detect intr */ | 164 | #define HD64461_PCCCSCR_SCDI 0x80 /* sw card detect intr */ |
137 | #define HD64461_PCCCSCR_SRV1 0x40 /* reserved */ | 165 | #define HD64461_PCCCSCR_SRV1 0x40 /* reserved */ |
138 | #define HD64461_PCCCSCR_IREQ 0x20 /* IREQ intr req */ | 166 | #define HD64461_PCCCSCR_IREQ 0x20 /* IREQ intr req */ |
139 | #define HD64461_PCCCSCR_SC 0x10 /* STSCHG (status change) pin */ | 167 | #define HD64461_PCCCSCR_SC 0x10 /* STSCHG (status change) pin */ |
140 | #define HD64461_PCCCSCR_CDC 0x08 /* CD (card detect) change */ | 168 | #define HD64461_PCCCSCR_CDC 0x08 /* CD (card detect) change */ |
141 | #define HD64461_PCCCSCR_RC 0x04 /* READY change */ | 169 | #define HD64461_PCCCSCR_RC 0x04 /* READY change */ |
142 | #define HD64461_PCCCSCR_BW 0x02 /* battery warning change */ | 170 | #define HD64461_PCCCSCR_BW 0x02 /* battery warning change */ |
143 | #define HD64461_PCCCSCR_BD 0x01 /* battery dead change */ | 171 | #define HD64461_PCCCSCR_BD 0x01 /* battery dead change */ |
144 | 172 | ||
145 | /* PCC Card Status Change Interrupt Enable Register */ | 173 | /* PCC Card Status Change Interrupt Enable Register */ |
146 | #define HD64461_PCCCSCIER_CRE 0x80 /* change reset enable */ | 174 | #define HD64461_PCCCSCIER_CRE 0x80 /* change reset enable */ |
147 | #define HD64461_PCCCSCIER_IREQE_MASK 0x60 /* IREQ enable */ | 175 | #define HD64461_PCCCSCIER_IREQE_MASK 0x60 /* IREQ enable */ |
148 | #define HD64461_PCCCSCIER_IREQE_DISABLED 0x00 /* IREQ disabled */ | 176 | #define HD64461_PCCCSCIER_IREQE_DISABLED 0x00 /* IREQ disabled */ |
149 | #define HD64461_PCCCSCIER_IREQE_LEVEL 0x20 /* IREQ level-triggered */ | 177 | #define HD64461_PCCCSCIER_IREQE_LEVEL 0x20 /* IREQ level-triggered */ |
150 | #define HD64461_PCCCSCIER_IREQE_FALLING 0x40 /* IREQ falling-edge-trig */ | 178 | #define HD64461_PCCCSCIER_IREQE_FALLING 0x40 /* IREQ falling-edge-trig */ |
151 | #define HD64461_PCCCSCIER_IREQE_RISING 0x60 /* IREQ rising-edge-trig */ | 179 | #define HD64461_PCCCSCIER_IREQE_RISING 0x60 /* IREQ rising-edge-trig */ |
152 | 180 | ||
153 | #define HD64461_PCCCSCIER_SCE 0x10 /* status change enable */ | 181 | #define HD64461_PCCCSCIER_SCE 0x10 /* status change enable */ |
154 | #define HD64461_PCCCSCIER_CDE 0x08 /* card detect change enable */ | 182 | #define HD64461_PCCCSCIER_CDE 0x08 /* card detect change enable */ |
155 | #define HD64461_PCCCSCIER_RE 0x04 /* ready change enable */ | 183 | #define HD64461_PCCCSCIER_RE 0x04 /* ready change enable */ |
156 | #define HD64461_PCCCSCIER_BWE 0x02 /* battery warn change enable */ | 184 | #define HD64461_PCCCSCIER_BWE 0x02 /* battery warn change enable */ |
157 | #define HD64461_PCCCSCIER_BDE 0x01 /* battery dead change enable*/ | 185 | #define HD64461_PCCCSCIER_BDE 0x01 /* battery dead change enable*/ |
158 | 186 | ||
159 | /* PCC Software Control Register */ | 187 | /* PCC Software Control Register */ |
160 | #define HD64461_PCCSCR_VCC1 0x02 /* voltage control pin 1 */ | 188 | #define HD64461_PCCSCR_VCC1 0x02 /* voltage control pin 1 */ |
161 | #define HD64461_PCCSCR_SWP 0x01 /* write protect */ | 189 | #define HD64461_PCCSCR_SWP 0x01 /* write protect */ |
162 | 190 | ||
163 | #define HD64461_P0OCR 0x1202a | 191 | /* PCC0 Output Pins Control Register */ |
164 | #define HD64461_P1OCR 0x1202c | 192 | #define HD64461_P0OCR (CONFIG_HD64461_IOBASE + 0x202a) |
165 | #define HD64461_PGCR 0x1202e | 193 | |
166 | 194 | /* PCC1 Output Pins Control Register */ | |
167 | #define HD64461_GPACR 0x14000 | 195 | #define HD64461_P1OCR (CONFIG_HD64461_IOBASE + 0x202c) |
168 | #define HD64461_GPBCR 0x14002 | 196 | |
169 | #define HD64461_GPCCR 0x14004 | 197 | /* PC Card General Control Register */ |
170 | #define HD64461_GPDCR 0x14006 | 198 | #define HD64461_PGCR (CONFIG_HD64461_IOBASE + 0x202e) |
171 | #define HD64461_GPADR 0x14010 | 199 | |
172 | #define HD64461_GPBDR 0x14012 | 200 | /* Port Control Registers */ |
173 | #define HD64461_GPCDR 0x14014 | 201 | #define HD64461_GPACR (CONFIG_HD64461_IOBASE + 0x4000) /* Port A - Handles IRDA/TIMER */ |
174 | #define HD64461_GPDDR 0x14016 | 202 | #define HD64461_GPBCR (CONFIG_HD64461_IOBASE + 0x4002) /* Port B - Handles UART */ |
175 | #define HD64461_GPAICR 0x14020 | 203 | #define HD64461_GPCCR (CONFIG_HD64461_IOBASE + 0x4004) /* Port C - Handles PCMCIA 1 */ |
176 | #define HD64461_GPBICR 0x14022 | 204 | #define HD64461_GPDCR (CONFIG_HD64461_IOBASE + 0x4006) /* Port D - Handles PCMCIA 1 */ |
177 | #define HD64461_GPCICR 0x14024 | 205 | |
178 | #define HD64461_GPDICR 0x14026 | 206 | /* Port Control Data Registers */ |
179 | #define HD64461_GPAISR 0x14040 | 207 | #define HD64461_GPADR (CONFIG_HD64461_IOBASE + 0x4010) /* A */ |
180 | #define HD64461_GPBISR 0x14042 | 208 | #define HD64461_GPBDR (CONFIG_HD64461_IOBASE + 0x4012) /* B */ |
181 | #define HD64461_GPCISR 0x14044 | 209 | #define HD64461_GPCDR (CONFIG_HD64461_IOBASE + 0x4014) /* C */ |
182 | #define HD64461_GPDISR 0x14046 | 210 | #define HD64461_GPDDR (CONFIG_HD64461_IOBASE + 0x4016) /* D */ |
183 | 211 | ||
184 | #define HD64461_NIRR 0x15000 | 212 | /* Interrupt Control Registers */ |
185 | #define HD64461_NIMR 0x15002 | 213 | #define HD64461_GPAICR (CONFIG_HD64461_IOBASE + 0x4020) /* A */ |
186 | 214 | #define HD64461_GPBICR (CONFIG_HD64461_IOBASE + 0x4022) /* B */ | |
187 | #define HD64461_IRQBASE OFFCHIP_IRQ_BASE | 215 | #define HD64461_GPCICR (CONFIG_HD64461_IOBASE + 0x4024) /* C */ |
188 | #define HD64461_IRQ_NUM 16 | 216 | #define HD64461_GPDICR (CONFIG_HD64461_IOBASE + 0x4026) /* D */ |
189 | 217 | ||
190 | #define HD64461_IRQ_UART (HD64461_IRQBASE+5) | 218 | /* Interrupt Status Registers */ |
191 | #define HD64461_IRQ_IRDA (HD64461_IRQBASE+6) | 219 | #define HD64461_GPAISR (CONFIG_HD64461_IOBASE + 0x4040) /* A */ |
192 | #define HD64461_IRQ_TMU1 (HD64461_IRQBASE+9) | 220 | #define HD64461_GPBISR (CONFIG_HD64461_IOBASE + 0x4042) /* B */ |
193 | #define HD64461_IRQ_TMU0 (HD64461_IRQBASE+10) | 221 | #define HD64461_GPCISR (CONFIG_HD64461_IOBASE + 0x4044) /* C */ |
194 | #define HD64461_IRQ_GPIO (HD64461_IRQBASE+11) | 222 | #define HD64461_GPDISR (CONFIG_HD64461_IOBASE + 0x4046) /* D */ |
195 | #define HD64461_IRQ_AFE (HD64461_IRQBASE+12) | 223 | |
196 | #define HD64461_IRQ_PCC1 (HD64461_IRQBASE+13) | 224 | /* Interrupt Request Register & Interrupt Mask Register */ |
197 | #define HD64461_IRQ_PCC0 (HD64461_IRQBASE+14) | 225 | #define HD64461_NIRR (CONFIG_HD64461_IOBASE + 0x5000) |
226 | #define HD64461_NIMR (CONFIG_HD64461_IOBASE + 0x5002) | ||
227 | |||
228 | #define HD64461_IRQBASE OFFCHIP_IRQ_BASE | ||
229 | #define HD64461_IRQ_NUM 16 | ||
230 | |||
231 | #define HD64461_IRQ_UART (HD64461_IRQBASE+5) | ||
232 | #define HD64461_IRQ_IRDA (HD64461_IRQBASE+6) | ||
233 | #define HD64461_IRQ_TMU1 (HD64461_IRQBASE+9) | ||
234 | #define HD64461_IRQ_TMU0 (HD64461_IRQBASE+10) | ||
235 | #define HD64461_IRQ_GPIO (HD64461_IRQBASE+11) | ||
236 | #define HD64461_IRQ_AFE (HD64461_IRQBASE+12) | ||
237 | #define HD64461_IRQ_PCC1 (HD64461_IRQBASE+13) | ||
238 | #define HD64461_IRQ_PCC0 (HD64461_IRQBASE+14) | ||
198 | 239 | ||
199 | #define __IO_PREFIX hd64461 | 240 | #define __IO_PREFIX hd64461 |
200 | #include <asm/io_generic.h> | 241 | #include <asm/io_generic.h> |
diff --git a/include/asm-sh/hw_irq.h b/include/asm-sh/hw_irq.h index 80ee1cda7498..4ca3f765bacc 100644 --- a/include/asm-sh/hw_irq.h +++ b/include/asm-sh/hw_irq.h | |||
@@ -5,4 +5,46 @@ | |||
5 | 5 | ||
6 | extern atomic_t irq_err_count; | 6 | extern atomic_t irq_err_count; |
7 | 7 | ||
8 | struct intc2_data { | ||
9 | unsigned short irq; | ||
10 | unsigned char ipr_offset, ipr_shift; | ||
11 | unsigned char msk_offset, msk_shift; | ||
12 | unsigned char priority; | ||
13 | }; | ||
14 | |||
15 | struct intc2_desc { | ||
16 | unsigned long prio_base; | ||
17 | unsigned long msk_base; | ||
18 | unsigned long mskclr_base; | ||
19 | struct intc2_data *intc2_data; | ||
20 | unsigned int nr_irqs; | ||
21 | struct irq_chip chip; | ||
22 | }; | ||
23 | |||
24 | void register_intc2_controller(struct intc2_desc *); | ||
25 | void init_IRQ_intc2(void); | ||
26 | |||
27 | struct ipr_data { | ||
28 | unsigned char irq; | ||
29 | unsigned char ipr_idx; /* Index for the IPR registered */ | ||
30 | unsigned char shift; /* Number of bits to shift the data */ | ||
31 | unsigned char priority; /* The priority */ | ||
32 | }; | ||
33 | |||
34 | struct ipr_desc { | ||
35 | unsigned long *ipr_offsets; | ||
36 | unsigned int nr_offsets; | ||
37 | struct ipr_data *ipr_data; | ||
38 | unsigned int nr_irqs; | ||
39 | struct irq_chip chip; | ||
40 | }; | ||
41 | |||
42 | void register_ipr_controller(struct ipr_desc *); | ||
43 | void init_IRQ_ipr(void); | ||
44 | |||
45 | /* | ||
46 | * Enable individual interrupt mode for external IPR IRQs. | ||
47 | */ | ||
48 | void ipr_irq_enable_irlm(void); | ||
49 | |||
8 | #endif /* __ASM_SH_HW_IRQ_H */ | 50 | #endif /* __ASM_SH_HW_IRQ_H */ |
diff --git a/include/asm-sh/irq.h b/include/asm-sh/irq.h index e81bf21c801e..c61d902b8bff 100644 --- a/include/asm-sh/irq.h +++ b/include/asm-sh/irq.h | |||
@@ -31,47 +31,7 @@ extern unsigned short *irq_mask_register; | |||
31 | * PINT IRQs | 31 | * PINT IRQs |
32 | */ | 32 | */ |
33 | void init_IRQ_pint(void); | 33 | void init_IRQ_pint(void); |
34 | |||
35 | /* | ||
36 | * The shift value is now the number of bits to shift, not the number of | ||
37 | * bits/4. This is to make it easier to read the value directly from the | ||
38 | * datasheets. The IPR address, addr, will be set from ipr_idx via the | ||
39 | * map_ipridx_to_addr function. | ||
40 | */ | ||
41 | struct ipr_data { | ||
42 | unsigned int irq; | ||
43 | int ipr_idx; /* Index for the IPR registered */ | ||
44 | int shift; /* Number of bits to shift the data */ | ||
45 | int priority; /* The priority */ | ||
46 | unsigned int addr; /* Address of Interrupt Priority Register */ | ||
47 | }; | ||
48 | |||
49 | /* | ||
50 | * Given an IPR IDX, map the value to an IPR register address. | ||
51 | */ | ||
52 | unsigned int map_ipridx_to_addr(int idx); | ||
53 | |||
54 | /* | ||
55 | * Enable individual interrupt mode for external IPR IRQs. | ||
56 | */ | ||
57 | void ipr_irq_enable_irlm(void); | ||
58 | |||
59 | /* | ||
60 | * Function for "on chip support modules". | ||
61 | */ | ||
62 | void make_ipr_irq(struct ipr_data *table, unsigned int nr_irqs); | ||
63 | void make_imask_irq(unsigned int irq); | 34 | void make_imask_irq(unsigned int irq); |
64 | void init_IRQ_ipr(void); | ||
65 | |||
66 | struct intc2_data { | ||
67 | unsigned short irq; | ||
68 | unsigned char ipr_offset, ipr_shift; | ||
69 | unsigned char msk_offset, msk_shift; | ||
70 | unsigned char priority; | ||
71 | }; | ||
72 | |||
73 | void make_intc2_irq(struct intc2_data *, unsigned int nr_irqs); | ||
74 | void init_IRQ_intc2(void); | ||
75 | 35 | ||
76 | static inline int generic_irq_demux(int irq) | 36 | static inline int generic_irq_demux(int irq) |
77 | { | 37 | { |
diff --git a/include/asm-sh/machvec.h b/include/asm-sh/machvec.h index 70389b72ffef..088698bacf2f 100644 --- a/include/asm-sh/machvec.h +++ b/include/asm-sh/machvec.h | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <linux/types.h> | 13 | #include <linux/types.h> |
14 | #include <linux/time.h> | 14 | #include <linux/time.h> |
15 | #include <asm/machtypes.h> | 15 | #include <asm/machtypes.h> |
16 | #include <asm/machvec_init.h> | ||
17 | 16 | ||
18 | struct device; | 17 | struct device; |
19 | 18 | ||
@@ -68,4 +67,7 @@ extern struct sh_machine_vector sh_mv; | |||
68 | 67 | ||
69 | #define get_system_type() sh_mv.mv_name | 68 | #define get_system_type() sh_mv.mv_name |
70 | 69 | ||
70 | #define __initmv \ | ||
71 | __attribute_used__ __attribute__((__section__ (".machvec.init"))) | ||
72 | |||
71 | #endif /* _ASM_SH_MACHVEC_H */ | 73 | #endif /* _ASM_SH_MACHVEC_H */ |
diff --git a/include/asm-sh/machvec_init.h b/include/asm-sh/machvec_init.h deleted file mode 100644 index e397798ebd94..000000000000 --- a/include/asm-sh/machvec_init.h +++ /dev/null | |||
@@ -1,53 +0,0 @@ | |||
1 | /* | ||
2 | * include/asm-sh/machvec_init.h | ||
3 | * | ||
4 | * Copyright 2000 Stuart Menefy (stuart.menefy@st.com) | ||
5 | * | ||
6 | * May be copied or modified under the terms of the GNU General Public | ||
7 | * License. See linux/COPYING for more information. | ||
8 | * | ||
9 | * This file has goodies to help simplify instantiation of machine vectors. | ||
10 | */ | ||
11 | |||
12 | #ifndef __SH_MACHVEC_INIT_H | ||
13 | #define __SH_MACHVEC_INIT_H | ||
14 | |||
15 | |||
16 | /* | ||
17 | * In a GENERIC kernel, we have lots of these vectors floating about, | ||
18 | * all but one of which we want to go away. In a non-GENERIC kernel, | ||
19 | * we want only one, ever. | ||
20 | * | ||
21 | * Accomplish this in the GENERIC kernel by puting all of the vectors | ||
22 | * in the .init.data section where they'll go away. We'll copy the | ||
23 | * one we want to the real alpha_mv vector in setup_arch. | ||
24 | * | ||
25 | * Accomplish this in a non-GENERIC kernel by ifdef'ing out all but | ||
26 | * one of the vectors, which will not reside in .init.data. We then | ||
27 | * alias this one vector to alpha_mv, so no copy is needed. | ||
28 | * | ||
29 | * Upshot: set __initdata to nothing for non-GENERIC kernels. | ||
30 | * | ||
31 | * Note we do the same thing for the UNKNOWN kernel, as we need to write | ||
32 | * to the machine vector while setting it up. | ||
33 | */ | ||
34 | |||
35 | #if defined(CONFIG_SH_GENERIC) || defined(CONFIG_SH_UNKNOWN) | ||
36 | #define __initmv __attribute__((unused,__section__ (".machvec.init"))) | ||
37 | #define ALIAS_MV(x) | ||
38 | #else | ||
39 | #define __initmv | ||
40 | |||
41 | /* GCC actually has a syntax for defining aliases, but is under some | ||
42 | delusion that you shouldn't be able to declare it extern somewhere | ||
43 | else beforehand. Fine. We'll do it ourselves. */ | ||
44 | #if 0 | ||
45 | #define ALIAS_MV(system) \ | ||
46 | struct sh_machine_vector sh_mv __attribute__((alias("mv_"#system))); | ||
47 | #else | ||
48 | #define ALIAS_MV(system) \ | ||
49 | asm(".global sh_mv\nsh_mv = mv_"#system ); | ||
50 | #endif | ||
51 | #endif /* GENERIC */ | ||
52 | |||
53 | #endif /* __SH_MACHVEC_INIT_H */ | ||
diff --git a/include/asm-sh/mmzone.h b/include/asm-sh/mmzone.h new file mode 100644 index 000000000000..7969f381dff2 --- /dev/null +++ b/include/asm-sh/mmzone.h | |||
@@ -0,0 +1,46 @@ | |||
1 | #ifndef __ASM_SH_MMZONE_H | ||
2 | #define __ASM_SH_MMZONE_H | ||
3 | |||
4 | #ifdef __KERNEL__ | ||
5 | |||
6 | #ifdef CONFIG_NEED_MULTIPLE_NODES | ||
7 | extern struct pglist_data *node_data[]; | ||
8 | #define NODE_DATA(nid) (node_data[nid]) | ||
9 | |||
10 | #define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn) | ||
11 | #define node_end_pfn(nid) (NODE_DATA(nid)->node_start_pfn + \ | ||
12 | NODE_DATA(nid)->node_spanned_pages) | ||
13 | |||
14 | static inline int pfn_to_nid(unsigned long pfn) | ||
15 | { | ||
16 | int nid; | ||
17 | |||
18 | for (nid = 0; nid < MAX_NUMNODES; nid++) | ||
19 | if (pfn >= node_start_pfn(nid) && pfn <= node_end_pfn(nid)) | ||
20 | break; | ||
21 | |||
22 | return nid; | ||
23 | } | ||
24 | |||
25 | static inline struct pglist_data *pfn_to_pgdat(unsigned long pfn) | ||
26 | { | ||
27 | return NODE_DATA(pfn_to_nid(pfn)); | ||
28 | } | ||
29 | |||
30 | /* arch/sh/mm/numa.c */ | ||
31 | void __init setup_bootmem_node(int nid, unsigned long start, unsigned long end); | ||
32 | #else | ||
33 | static inline void | ||
34 | setup_bootmem_node(int nid, unsigned long start, unsigned long end) | ||
35 | { | ||
36 | } | ||
37 | #endif /* CONFIG_NEED_MULTIPLE_NODES */ | ||
38 | |||
39 | /* Platform specific mem init */ | ||
40 | void __init plat_mem_setup(void); | ||
41 | |||
42 | /* arch/sh/kernel/setup.c */ | ||
43 | void __init setup_bootmem_allocator(unsigned long start_pfn); | ||
44 | |||
45 | #endif /* __KERNEL__ */ | ||
46 | #endif /* __ASM_SH_MMZONE_H */ | ||
diff --git a/include/asm-sh/page.h b/include/asm-sh/page.h index 7464de4ba07d..6bc9bba10105 100644 --- a/include/asm-sh/page.h +++ b/include/asm-sh/page.h | |||
@@ -60,6 +60,7 @@ extern void (*copy_page)(void *to, void *from); | |||
60 | 60 | ||
61 | extern unsigned long shm_align_mask; | 61 | extern unsigned long shm_align_mask; |
62 | extern unsigned long max_low_pfn, min_low_pfn; | 62 | extern unsigned long max_low_pfn, min_low_pfn; |
63 | extern unsigned long memory_start, memory_end; | ||
63 | 64 | ||
64 | #ifdef CONFIG_MMU | 65 | #ifdef CONFIG_MMU |
65 | extern void clear_page_slow(void *to); | 66 | extern void clear_page_slow(void *to); |
@@ -134,7 +135,9 @@ typedef struct { unsigned long pgd; } pgd_t; | |||
134 | #define PFN_START (__MEMORY_START >> PAGE_SHIFT) | 135 | #define PFN_START (__MEMORY_START >> PAGE_SHIFT) |
135 | #define ARCH_PFN_OFFSET (PFN_START) | 136 | #define ARCH_PFN_OFFSET (PFN_START) |
136 | #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) | 137 | #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) |
138 | #ifdef CONFIG_FLATMEM | ||
137 | #define pfn_valid(pfn) ((pfn) >= min_low_pfn && (pfn) < max_low_pfn) | 139 | #define pfn_valid(pfn) ((pfn) >= min_low_pfn && (pfn) < max_low_pfn) |
140 | #endif | ||
138 | #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) | 141 | #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) |
139 | 142 | ||
140 | #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ | 143 | #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ |
@@ -148,5 +151,12 @@ typedef struct { unsigned long pgd; } pgd_t; | |||
148 | #define __HAVE_ARCH_GATE_AREA | 151 | #define __HAVE_ARCH_GATE_AREA |
149 | #endif | 152 | #endif |
150 | 153 | ||
154 | /* | ||
155 | * Slub defaults to 8-byte alignment, we're only interested in 4. | ||
156 | * Slab defaults to BYTES_PER_WORD, which ends up being the same anyways. | ||
157 | */ | ||
158 | #define ARCH_KMALLOC_MINALIGN 4 | ||
159 | #define ARCH_SLAB_MINALIGN 4 | ||
160 | |||
151 | #endif /* __KERNEL__ */ | 161 | #endif /* __KERNEL__ */ |
152 | #endif /* __ASM_SH_PAGE_H */ | 162 | #endif /* __ASM_SH_PAGE_H */ |
diff --git a/include/asm-sh/parport.h b/include/asm-sh/parport.h new file mode 100644 index 000000000000..f67ba60a2acd --- /dev/null +++ b/include/asm-sh/parport.h | |||
@@ -0,0 +1,16 @@ | |||
1 | /* | ||
2 | * Copyright (C) 1999, 2000 Tim Waugh <tim@cyberelk.demon.co.uk> | ||
3 | * | ||
4 | * This file should only be included by drivers/parport/parport_pc.c. | ||
5 | */ | ||
6 | #ifndef __ASM_SH_PARPORT_H | ||
7 | #define __ASM_SH_PARPORT_H | ||
8 | |||
9 | static int __devinit parport_pc_find_isa_ports(int autoirq, int autodma); | ||
10 | |||
11 | static int __devinit parport_pc_find_nonpci_ports(int autoirq, int autodma) | ||
12 | { | ||
13 | return parport_pc_find_isa_ports(autoirq, autodma); | ||
14 | } | ||
15 | |||
16 | #endif /* __ASM_SH_PARPORT_H */ | ||
diff --git a/include/asm-sh/processor.h b/include/asm-sh/processor.h index d42f68e724fa..2252e75daa26 100644 --- a/include/asm-sh/processor.h +++ b/include/asm-sh/processor.h | |||
@@ -36,7 +36,7 @@ | |||
36 | */ | 36 | */ |
37 | enum cpu_type { | 37 | enum cpu_type { |
38 | /* SH-2 types */ | 38 | /* SH-2 types */ |
39 | CPU_SH7604, CPU_SH7619, | 39 | CPU_SH7619, |
40 | 40 | ||
41 | /* SH-2A types */ | 41 | /* SH-2A types */ |
42 | CPU_SH7206, | 42 | CPU_SH7206, |
@@ -52,7 +52,7 @@ enum cpu_type { | |||
52 | CPU_SH7760, CPU_ST40RA, CPU_ST40GX1, CPU_SH4_202, CPU_SH4_501, | 52 | CPU_SH7760, CPU_ST40RA, CPU_ST40GX1, CPU_SH4_202, CPU_SH4_501, |
53 | 53 | ||
54 | /* SH-4A types */ | 54 | /* SH-4A types */ |
55 | CPU_SH7770, CPU_SH7780, CPU_SH7781, CPU_SH7785, | 55 | CPU_SH7770, CPU_SH7780, CPU_SH7781, CPU_SH7785, CPU_SHX3, |
56 | 56 | ||
57 | /* SH4AL-DSP types */ | 57 | /* SH4AL-DSP types */ |
58 | CPU_SH73180, CPU_SH7343, CPU_SH7722, | 58 | CPU_SH73180, CPU_SH7343, CPU_SH7722, |
@@ -228,11 +228,7 @@ static __inline__ void grab_fpu(struct pt_regs *regs) | |||
228 | regs->sr &= ~SR_FD; | 228 | regs->sr &= ~SR_FD; |
229 | } | 229 | } |
230 | 230 | ||
231 | #ifdef CONFIG_CPU_SH4 | ||
232 | extern void save_fpu(struct task_struct *__tsk, struct pt_regs *regs); | 231 | extern void save_fpu(struct task_struct *__tsk, struct pt_regs *regs); |
233 | #else | ||
234 | #define save_fpu(tsk) do { } while (0) | ||
235 | #endif | ||
236 | 232 | ||
237 | #define unlazy_fpu(tsk, regs) do { \ | 233 | #define unlazy_fpu(tsk, regs) do { \ |
238 | if (test_tsk_thread_flag(tsk, TIF_USEDFPU)) { \ | 234 | if (test_tsk_thread_flag(tsk, TIF_USEDFPU)) { \ |
diff --git a/include/asm-sh/rwsem.h b/include/asm-sh/rwsem.h index 4931ba817d73..1987f3ea7f1b 100644 --- a/include/asm-sh/rwsem.h +++ b/include/asm-sh/rwsem.h | |||
@@ -1,11 +1,15 @@ | |||
1 | /* | 1 | /* |
2 | * include/asm-ppc/rwsem.h: R/W semaphores for SH using the stuff | 2 | * include/asm-sh/rwsem.h: R/W semaphores for SH using the stuff |
3 | * in lib/rwsem.c. | 3 | * in lib/rwsem.c. |
4 | */ | 4 | */ |
5 | 5 | ||
6 | #ifndef _ASM_SH_RWSEM_H | 6 | #ifndef _ASM_SH_RWSEM_H |
7 | #define _ASM_SH_RWSEM_H | 7 | #define _ASM_SH_RWSEM_H |
8 | 8 | ||
9 | #ifndef _LINUX_RWSEM_H | ||
10 | #error "please don't include asm/rwsem.h directly, use linux/rwsem.h instead" | ||
11 | #endif | ||
12 | |||
9 | #ifdef __KERNEL__ | 13 | #ifdef __KERNEL__ |
10 | #include <linux/list.h> | 14 | #include <linux/list.h> |
11 | #include <linux/spinlock.h> | 15 | #include <linux/spinlock.h> |
diff --git a/include/asm-sh/saturn/io.h b/include/asm-sh/saturn/io.h deleted file mode 100644 index f1b9b5d633f4..000000000000 --- a/include/asm-sh/saturn/io.h +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | /* | ||
2 | * include/asm-sh/saturn/io.h | ||
3 | * | ||
4 | * I/O functions for use on the Sega Saturn. | ||
5 | * | ||
6 | * Copyright (C) 2002 Paul Mundt | ||
7 | * | ||
8 | * Released under the terms of the GNU GPL v2.0. | ||
9 | */ | ||
10 | #ifndef __ASM_SH_SATURN_IO_H | ||
11 | #define __ASM_SH_SATURN_IO_H | ||
12 | |||
13 | /* arch/sh/boards/saturn/io.c */ | ||
14 | extern unsigned long saturn_isa_port2addr(unsigned long offset); | ||
15 | extern void *saturn_ioremap(unsigned long offset, unsigned long size); | ||
16 | extern void saturn_iounmap(void *addr); | ||
17 | |||
18 | #endif /* __ASM_SH_SATURN_IO_H */ | ||
19 | |||
diff --git a/include/asm-sh/saturn/smpc.h b/include/asm-sh/saturn/smpc.h deleted file mode 100644 index 5de5c12d6347..000000000000 --- a/include/asm-sh/saturn/smpc.h +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | /* | ||
2 | * include/asm-sh/saturn/smpc.h | ||
3 | * | ||
4 | * System Manager / Peripheral Control definitions. | ||
5 | * | ||
6 | * Copyright (C) 2002 Paul Mundt | ||
7 | * | ||
8 | * Released under the terms of the GNU GPL v2.0. | ||
9 | */ | ||
10 | #ifndef __ASM_SH_SATURN_SMPC_H | ||
11 | #define __ASM_SH_SATURN_SMPC_H | ||
12 | |||
13 | #include <asm/io.h> | ||
14 | |||
15 | #define SMPC_COMMAND 0x2010001f /* SMPC command register */ | ||
16 | #define SMPC_RESULT 0x2010005f /* SMPC result register */ | ||
17 | #define SMPC_STATUS 0x20100063 /* SMPC status register */ | ||
18 | |||
19 | #define SMPC_CMD_MSHON 0x0001 /* Master SH On */ | ||
20 | #define SMPC_CMD_SSHON 0x0002 /* Slave SH On */ | ||
21 | #define SMPC_CMD_SSHOFF 0x0003 /* Slave SH Off */ | ||
22 | #define SMPC_CMD_SNDON 0x0004 /* Sound On */ | ||
23 | #define SMPC_CMD_SNDOFF 0x0005 /* Sound Off */ | ||
24 | #define SMPC_CMD_CDON 0x0006 /* CD On */ | ||
25 | #define SMPC_CMD_CDOFF 0x0007 /* CD Off */ | ||
26 | |||
27 | static inline void smpc_barrier(void) | ||
28 | { | ||
29 | while ((ctrl_inb(SMPC_STATUS) & 0x0001) == 0x0001) | ||
30 | ; | ||
31 | } | ||
32 | |||
33 | #endif /* __ASM_SH_SATURN_SMPC_H */ | ||
34 | |||
diff --git a/include/asm-sh/sections.h b/include/asm-sh/sections.h index 57abd708b236..2a696b8ee4f5 100644 --- a/include/asm-sh/sections.h +++ b/include/asm-sh/sections.h | |||
@@ -3,7 +3,7 @@ | |||
3 | 3 | ||
4 | #include <asm-generic/sections.h> | 4 | #include <asm-generic/sections.h> |
5 | 5 | ||
6 | extern char _end[]; | 6 | extern long __machvec_start, __machvec_end; |
7 | 7 | ||
8 | #endif /* __ASM_SH_SECTIONS_H */ | 8 | #endif /* __ASM_SH_SECTIONS_H */ |
9 | 9 | ||
diff --git a/include/asm-sh/setup.h b/include/asm-sh/setup.h index 1583c6b7bdaa..586a9711a75d 100644 --- a/include/asm-sh/setup.h +++ b/include/asm-sh/setup.h | |||
@@ -6,6 +6,7 @@ | |||
6 | #ifdef __KERNEL__ | 6 | #ifdef __KERNEL__ |
7 | 7 | ||
8 | int setup_early_printk(char *); | 8 | int setup_early_printk(char *); |
9 | void sh_mv_setup(void); | ||
9 | 10 | ||
10 | #endif /* __KERNEL__ */ | 11 | #endif /* __KERNEL__ */ |
11 | 12 | ||
diff --git a/include/asm-sh/sh03/io.h b/include/asm-sh/sh03/io.h index df3b187ef883..4ff1eb900301 100644 --- a/include/asm-sh/sh03/io.h +++ b/include/asm-sh/sh03/io.h | |||
@@ -14,22 +14,18 @@ | |||
14 | #define INTC_IPRD 0xffd00010UL | 14 | #define INTC_IPRD 0xffd00010UL |
15 | 15 | ||
16 | #define IRL0_IRQ 2 | 16 | #define IRL0_IRQ 2 |
17 | #define IRL0_IPR_ADDR INTC_IPRD | ||
18 | #define IRL0_IPR_POS 3 | 17 | #define IRL0_IPR_POS 3 |
19 | #define IRL0_PRIORITY 13 | 18 | #define IRL0_PRIORITY 13 |
20 | 19 | ||
21 | #define IRL1_IRQ 5 | 20 | #define IRL1_IRQ 5 |
22 | #define IRL1_IPR_ADDR INTC_IPRD | ||
23 | #define IRL1_IPR_POS 2 | 21 | #define IRL1_IPR_POS 2 |
24 | #define IRL1_PRIORITY 10 | 22 | #define IRL1_PRIORITY 10 |
25 | 23 | ||
26 | #define IRL2_IRQ 8 | 24 | #define IRL2_IRQ 8 |
27 | #define IRL2_IPR_ADDR INTC_IPRD | ||
28 | #define IRL2_IPR_POS 1 | 25 | #define IRL2_IPR_POS 1 |
29 | #define IRL2_PRIORITY 7 | 26 | #define IRL2_PRIORITY 7 |
30 | 27 | ||
31 | #define IRL3_IRQ 11 | 28 | #define IRL3_IRQ 11 |
32 | #define IRL3_IPR_ADDR INTC_IPRD | ||
33 | #define IRL3_IPR_POS 0 | 29 | #define IRL3_IPR_POS 0 |
34 | #define IRL3_PRIORITY 4 | 30 | #define IRL3_PRIORITY 4 |
35 | 31 | ||
diff --git a/include/asm-sh/smp.h b/include/asm-sh/smp.h index caa7b93f1bce..b99ca786c0c1 100644 --- a/include/asm-sh/smp.h +++ b/include/asm-sh/smp.h | |||
@@ -39,4 +39,6 @@ extern struct smp_fn_call_struct smp_fn_call; | |||
39 | 39 | ||
40 | #endif /* CONFIG_SMP */ | 40 | #endif /* CONFIG_SMP */ |
41 | 41 | ||
42 | #define hard_smp_processor_id() (0) | ||
43 | |||
42 | #endif /* __ASM_SH_SMP_H */ | 44 | #endif /* __ASM_SH_SMP_H */ |
diff --git a/include/asm-sh/snapgear.h b/include/asm-sh/snapgear.h index 2d712e72c9e5..3554e3a74e99 100644 --- a/include/asm-sh/snapgear.h +++ b/include/asm-sh/snapgear.h | |||
@@ -20,22 +20,18 @@ | |||
20 | */ | 20 | */ |
21 | 21 | ||
22 | #define IRL0_IRQ 2 | 22 | #define IRL0_IRQ 2 |
23 | #define IRL0_IPR_ADDR INTC_IPRD | ||
24 | #define IRL0_IPR_POS 3 | 23 | #define IRL0_IPR_POS 3 |
25 | #define IRL0_PRIORITY 13 | 24 | #define IRL0_PRIORITY 13 |
26 | 25 | ||
27 | #define IRL1_IRQ 5 | 26 | #define IRL1_IRQ 5 |
28 | #define IRL1_IPR_ADDR INTC_IPRD | ||
29 | #define IRL1_IPR_POS 2 | 27 | #define IRL1_IPR_POS 2 |
30 | #define IRL1_PRIORITY 10 | 28 | #define IRL1_PRIORITY 10 |
31 | 29 | ||
32 | #define IRL2_IRQ 8 | 30 | #define IRL2_IRQ 8 |
33 | #define IRL2_IPR_ADDR INTC_IPRD | ||
34 | #define IRL2_IPR_POS 1 | 31 | #define IRL2_IPR_POS 1 |
35 | #define IRL2_PRIORITY 7 | 32 | #define IRL2_PRIORITY 7 |
36 | 33 | ||
37 | #define IRL3_IRQ 11 | 34 | #define IRL3_IRQ 11 |
38 | #define IRL3_IPR_ADDR INTC_IPRD | ||
39 | #define IRL3_IPR_POS 0 | 35 | #define IRL3_IPR_POS 0 |
40 | #define IRL3_PRIORITY 4 | 36 | #define IRL3_PRIORITY 4 |
41 | #endif | 37 | #endif |
diff --git a/include/asm-sh/sparsemem.h b/include/asm-sh/sparsemem.h new file mode 100644 index 000000000000..547a540b6667 --- /dev/null +++ b/include/asm-sh/sparsemem.h | |||
@@ -0,0 +1,16 @@ | |||
1 | #ifndef __ASM_SH_SPARSEMEM_H | ||
2 | #define __ASM_SH_SPARSEMEM_H | ||
3 | |||
4 | #ifdef __KERNEL__ | ||
5 | /* | ||
6 | * SECTION_SIZE_BITS 2^N: how big each section will be | ||
7 | * MAX_PHYSADDR_BITS 2^N: how much physical address space we have | ||
8 | * MAX_PHYSMEM_BITS 2^N: how much memory we can have in that space | ||
9 | */ | ||
10 | #define SECTION_SIZE_BITS 26 | ||
11 | #define MAX_PHYSADDR_BITS 32 | ||
12 | #define MAX_PHYSMEM_BITS 32 | ||
13 | |||
14 | #endif | ||
15 | |||
16 | #endif /* __ASM_SH_SPARSEMEM_H */ | ||
diff --git a/include/asm-sh/system.h b/include/asm-sh/system.h index 82f3e229e621..7c75045ae22b 100644 --- a/include/asm-sh/system.h +++ b/include/asm-sh/system.h | |||
@@ -8,9 +8,13 @@ | |||
8 | 8 | ||
9 | #include <linux/irqflags.h> | 9 | #include <linux/irqflags.h> |
10 | #include <linux/compiler.h> | 10 | #include <linux/compiler.h> |
11 | #include <linux/linkage.h> | ||
11 | #include <asm/types.h> | 12 | #include <asm/types.h> |
12 | #include <asm/ptrace.h> | 13 | #include <asm/ptrace.h> |
13 | 14 | ||
15 | struct task_struct *__switch_to(struct task_struct *prev, | ||
16 | struct task_struct *next); | ||
17 | |||
14 | /* | 18 | /* |
15 | * switch_to() should switch tasks to task nr n, first | 19 | * switch_to() should switch tasks to task nr n, first |
16 | */ | 20 | */ |
@@ -122,7 +126,7 @@ static inline void sched_cacheflush(void) | |||
122 | #define smp_read_barrier_depends() do { } while(0) | 126 | #define smp_read_barrier_depends() do { } while(0) |
123 | #endif | 127 | #endif |
124 | 128 | ||
125 | #define set_mb(var, value) do { xchg(&var, value); } while (0) | 129 | #define set_mb(var, value) do { (void)xchg(&var, value); } while (0) |
126 | 130 | ||
127 | /* | 131 | /* |
128 | * Jump to P2 area. | 132 | * Jump to P2 area. |
@@ -271,6 +275,16 @@ extern unsigned int instruction_size(unsigned int insn); | |||
271 | void disable_hlt(void); | 275 | void disable_hlt(void); |
272 | void enable_hlt(void); | 276 | void enable_hlt(void); |
273 | 277 | ||
278 | void default_idle(void); | ||
279 | |||
280 | asmlinkage void break_point_trap(void); | ||
281 | asmlinkage void debug_trap_handler(unsigned long r4, unsigned long r5, | ||
282 | unsigned long r6, unsigned long r7, | ||
283 | struct pt_regs __regs); | ||
284 | asmlinkage void bug_trap_handler(unsigned long r4, unsigned long r5, | ||
285 | unsigned long r6, unsigned long r7, | ||
286 | struct pt_regs __regs); | ||
287 | |||
274 | #define arch_align_stack(x) (x) | 288 | #define arch_align_stack(x) (x) |
275 | 289 | ||
276 | #endif | 290 | #endif |
diff --git a/include/asm-sh/topology.h b/include/asm-sh/topology.h index cff001c316fe..f402a3b1cfa4 100644 --- a/include/asm-sh/topology.h +++ b/include/asm-sh/topology.h | |||
@@ -1,6 +1,36 @@ | |||
1 | #ifndef _ASM_SH_TOPOLOGY_H | 1 | #ifndef _ASM_SH_TOPOLOGY_H |
2 | #define _ASM_SH_TOPOLOGY_H | 2 | #define _ASM_SH_TOPOLOGY_H |
3 | 3 | ||
4 | #ifdef CONFIG_NUMA | ||
5 | |||
6 | /* sched_domains SD_NODE_INIT for sh machines */ | ||
7 | #define SD_NODE_INIT (struct sched_domain) { \ | ||
8 | .span = CPU_MASK_NONE, \ | ||
9 | .parent = NULL, \ | ||
10 | .child = NULL, \ | ||
11 | .groups = NULL, \ | ||
12 | .min_interval = 8, \ | ||
13 | .max_interval = 32, \ | ||
14 | .busy_factor = 32, \ | ||
15 | .imbalance_pct = 125, \ | ||
16 | .cache_nice_tries = 2, \ | ||
17 | .busy_idx = 3, \ | ||
18 | .idle_idx = 2, \ | ||
19 | .newidle_idx = 0, \ | ||
20 | .wake_idx = 1, \ | ||
21 | .forkexec_idx = 1, \ | ||
22 | .flags = SD_LOAD_BALANCE \ | ||
23 | | SD_BALANCE_FORK \ | ||
24 | | SD_BALANCE_EXEC \ | ||
25 | | SD_SERIALIZE \ | ||
26 | | SD_WAKE_BALANCE, \ | ||
27 | .last_balance = jiffies, \ | ||
28 | .balance_interval = 1, \ | ||
29 | .nr_balance_failed = 0, \ | ||
30 | } | ||
31 | |||
32 | #endif | ||
33 | |||
4 | #include <asm-generic/topology.h> | 34 | #include <asm-generic/topology.h> |
5 | 35 | ||
6 | #endif /* _ASM_SH_TOPOLOGY_H */ | 36 | #endif /* _ASM_SH_TOPOLOGY_H */ |
diff --git a/include/asm-sh/uaccess.h b/include/asm-sh/uaccess.h index 5c49ed6715f2..f18a1a5c95c0 100644 --- a/include/asm-sh/uaccess.h +++ b/include/asm-sh/uaccess.h | |||
@@ -61,8 +61,6 @@ static inline void set_fs(mm_segment_t s) | |||
61 | */ | 61 | */ |
62 | static inline int __access_ok(unsigned long addr, unsigned long size) | 62 | static inline int __access_ok(unsigned long addr, unsigned long size) |
63 | { | 63 | { |
64 | extern unsigned long memory_start, memory_end; | ||
65 | |||
66 | return ((addr >= memory_start) && ((addr + size) < memory_end)); | 64 | return ((addr >= memory_start) && ((addr + size) < memory_end)); |
67 | } | 65 | } |
68 | #else /* CONFIG_MMU */ | 66 | #else /* CONFIG_MMU */ |
@@ -76,7 +74,7 @@ static inline int __access_ok(unsigned long addr, unsigned long size) | |||
76 | * __access_ok: Check if address with size is OK or not. | 74 | * __access_ok: Check if address with size is OK or not. |
77 | * | 75 | * |
78 | * We do three checks: | 76 | * We do three checks: |
79 | * (1) is it user space? | 77 | * (1) is it user space? |
80 | * (2) addr + size --> carry? | 78 | * (2) addr + size --> carry? |
81 | * (3) addr + size >= 0x80000000 (PAGE_OFFSET) | 79 | * (3) addr + size >= 0x80000000 (PAGE_OFFSET) |
82 | * | 80 | * |
@@ -142,11 +140,12 @@ static inline int access_ok(int type, const void __user *p, unsigned long size) | |||
142 | __get_user_nocheck((x),(ptr),sizeof(*(ptr))) | 140 | __get_user_nocheck((x),(ptr),sizeof(*(ptr))) |
143 | 141 | ||
144 | struct __large_struct { unsigned long buf[100]; }; | 142 | struct __large_struct { unsigned long buf[100]; }; |
145 | #define __m(x) (*(struct __large_struct *)(x)) | 143 | #define __m(x) (*(struct __large_struct __user *)(x)) |
146 | 144 | ||
147 | #define __get_user_size(x,ptr,size,retval) \ | 145 | #define __get_user_size(x,ptr,size,retval) \ |
148 | do { \ | 146 | do { \ |
149 | retval = 0; \ | 147 | retval = 0; \ |
148 | __chk_user_ptr(ptr); \ | ||
150 | switch (size) { \ | 149 | switch (size) { \ |
151 | case 1: \ | 150 | case 1: \ |
152 | __get_user_asm(x, ptr, retval, "b"); \ | 151 | __get_user_asm(x, ptr, retval, "b"); \ |
@@ -175,6 +174,7 @@ do { \ | |||
175 | #define __get_user_check(x,ptr,size) \ | 174 | #define __get_user_check(x,ptr,size) \ |
176 | ({ \ | 175 | ({ \ |
177 | long __gu_err, __gu_val; \ | 176 | long __gu_err, __gu_val; \ |
177 | __chk_user_ptr(ptr); \ | ||
178 | switch (size) { \ | 178 | switch (size) { \ |
179 | case 1: \ | 179 | case 1: \ |
180 | __get_user_1(__gu_val, (ptr), __gu_err); \ | 180 | __get_user_1(__gu_val, (ptr), __gu_err); \ |
@@ -300,6 +300,7 @@ extern void __get_user_unknown(void); | |||
300 | #define __put_user_size(x,ptr,size,retval) \ | 300 | #define __put_user_size(x,ptr,size,retval) \ |
301 | do { \ | 301 | do { \ |
302 | retval = 0; \ | 302 | retval = 0; \ |
303 | __chk_user_ptr(ptr); \ | ||
303 | switch (size) { \ | 304 | switch (size) { \ |
304 | case 1: \ | 305 | case 1: \ |
305 | __put_user_asm(x, ptr, retval, "b"); \ | 306 | __put_user_asm(x, ptr, retval, "b"); \ |
@@ -328,7 +329,7 @@ do { \ | |||
328 | #define __put_user_check(x,ptr,size) \ | 329 | #define __put_user_check(x,ptr,size) \ |
329 | ({ \ | 330 | ({ \ |
330 | long __pu_err = -EFAULT; \ | 331 | long __pu_err = -EFAULT; \ |
331 | __typeof__(*(ptr)) *__pu_addr = (ptr); \ | 332 | __typeof__(*(ptr)) __user *__pu_addr = (ptr); \ |
332 | \ | 333 | \ |
333 | if (__access_ok((unsigned long)__pu_addr,size)) \ | 334 | if (__access_ok((unsigned long)__pu_addr,size)) \ |
334 | __put_user_size((x),__pu_addr,(size),__pu_err); \ | 335 | __put_user_size((x),__pu_addr,(size),__pu_err); \ |
@@ -406,10 +407,10 @@ __asm__ __volatile__( \ | |||
406 | #endif | 407 | #endif |
407 | 408 | ||
408 | extern void __put_user_unknown(void); | 409 | extern void __put_user_unknown(void); |
409 | 410 | ||
410 | /* Generic arbitrary sized copy. */ | 411 | /* Generic arbitrary sized copy. */ |
411 | /* Return the number of bytes NOT copied */ | 412 | /* Return the number of bytes NOT copied */ |
412 | extern __kernel_size_t __copy_user(void *to, const void *from, __kernel_size_t n); | 413 | __kernel_size_t __copy_user(void *to, const void *from, __kernel_size_t n); |
413 | 414 | ||
414 | #define copy_to_user(to,from,n) ({ \ | 415 | #define copy_to_user(to,from,n) ({ \ |
415 | void *__copy_to = (void *) (to); \ | 416 | void *__copy_to = (void *) (to); \ |
@@ -420,14 +421,6 @@ __copy_res = __copy_user(__copy_to, (void *) (from), __copy_size); \ | |||
420 | } else __copy_res = __copy_size; \ | 421 | } else __copy_res = __copy_size; \ |
421 | __copy_res; }) | 422 | __copy_res; }) |
422 | 423 | ||
423 | #define __copy_to_user(to,from,n) \ | ||
424 | __copy_user((void *)(to), \ | ||
425 | (void *)(from), n) | ||
426 | |||
427 | #define __copy_to_user_inatomic __copy_to_user | ||
428 | #define __copy_from_user_inatomic __copy_from_user | ||
429 | |||
430 | |||
431 | #define copy_from_user(to,from,n) ({ \ | 424 | #define copy_from_user(to,from,n) ({ \ |
432 | void *__copy_to = (void *) (to); \ | 425 | void *__copy_to = (void *) (to); \ |
433 | void *__copy_from = (void *) (from); \ | 426 | void *__copy_from = (void *) (from); \ |
@@ -438,9 +431,20 @@ __copy_res = __copy_user(__copy_to, __copy_from, __copy_size); \ | |||
438 | } else __copy_res = __copy_size; \ | 431 | } else __copy_res = __copy_size; \ |
439 | __copy_res; }) | 432 | __copy_res; }) |
440 | 433 | ||
441 | #define __copy_from_user(to,from,n) \ | 434 | static __always_inline unsigned long |
442 | __copy_user((void *)(to), \ | 435 | __copy_from_user(void *to, const void __user *from, unsigned long n) |
443 | (void *)(from), n) | 436 | { |
437 | return __copy_user(to, (__force void *)from, n); | ||
438 | } | ||
439 | |||
440 | static __always_inline unsigned long __must_check | ||
441 | __copy_to_user(void __user *to, const void *from, unsigned long n) | ||
442 | { | ||
443 | return __copy_user((__force void *)to, from, n); | ||
444 | } | ||
445 | |||
446 | #define __copy_to_user_inatomic __copy_to_user | ||
447 | #define __copy_from_user_inatomic __copy_from_user | ||
444 | 448 | ||
445 | /* | 449 | /* |
446 | * Clear the area and return remaining number of bytes | 450 | * Clear the area and return remaining number of bytes |
diff --git a/include/asm-sh/ubc.h b/include/asm-sh/ubc.h index ae9bbdeefbe1..38d46e01b846 100644 --- a/include/asm-sh/ubc.h +++ b/include/asm-sh/ubc.h | |||
@@ -51,9 +51,14 @@ | |||
51 | #define BRCR_UBDE (1 << 0) | 51 | #define BRCR_UBDE (1 << 0) |
52 | 52 | ||
53 | #ifndef __ASSEMBLY__ | 53 | #ifndef __ASSEMBLY__ |
54 | /* arch/sh/kernel/ubc.S */ | 54 | /* arch/sh/kernel/cpu/ubc.S */ |
55 | extern void ubc_wakeup(void); | ||
56 | extern void ubc_sleep(void); | 55 | extern void ubc_sleep(void); |
56 | |||
57 | #ifdef CONFIG_UBC_WAKEUP | ||
58 | extern void ubc_wakeup(void); | ||
59 | #else | ||
60 | #define ubc_wakeup() do { } while (0) | ||
61 | #endif | ||
57 | #endif | 62 | #endif |
58 | 63 | ||
59 | #endif /* __KERNEL__ */ | 64 | #endif /* __KERNEL__ */ |
diff --git a/mm/Kconfig b/mm/Kconfig index 40559cfd49f7..086af703da43 100644 --- a/mm/Kconfig +++ b/mm/Kconfig | |||
@@ -117,7 +117,7 @@ config MEMORY_HOTPLUG | |||
117 | bool "Allow for memory hot-add" | 117 | bool "Allow for memory hot-add" |
118 | depends on SPARSEMEM || X86_64_ACPI_NUMA | 118 | depends on SPARSEMEM || X86_64_ACPI_NUMA |
119 | depends on HOTPLUG && !SOFTWARE_SUSPEND && ARCH_ENABLE_MEMORY_HOTPLUG | 119 | depends on HOTPLUG && !SOFTWARE_SUSPEND && ARCH_ENABLE_MEMORY_HOTPLUG |
120 | depends on (IA64 || X86 || PPC64) | 120 | depends on (IA64 || X86 || PPC64 || SUPERH) |
121 | 121 | ||
122 | comment "Memory hotplug is currently incompatible with Software Suspend" | 122 | comment "Memory hotplug is currently incompatible with Software Suspend" |
123 | depends on SPARSEMEM && HOTPLUG && SOFTWARE_SUSPEND | 123 | depends on SPARSEMEM && HOTPLUG && SOFTWARE_SUSPEND |