diff options
author | Paul Mundt <lethal@linux-sh.org> | 2007-11-08 23:45:42 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-01-27 23:18:41 -0500 |
commit | 4690bdc7c6e4f18fb58350ccde40df5fcd85a6d9 (patch) | |
tree | bef3ae2a5e2bae9d50d450fe094da48bf30fcc5e | |
parent | 114f132975ae8db3caa0c3420dc1083bae8d3757 (diff) |
sh: Consolidate CPU features in Kconfig.cpu.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r-- | arch/sh/Kconfig.cpu | 102 | ||||
-rw-r--r-- | arch/sh/Kconfig.sh | 104 | ||||
-rw-r--r-- | arch/sh/Kconfig.sh64 | 16 |
3 files changed, 104 insertions, 118 deletions
diff --git a/arch/sh/Kconfig.cpu b/arch/sh/Kconfig.cpu new file mode 100644 index 000000000000..9f329dff88b1 --- /dev/null +++ b/arch/sh/Kconfig.cpu | |||
@@ -0,0 +1,102 @@ | |||
1 | menu "Processor features" | ||
2 | |||
3 | choice | ||
4 | prompt "Endianess selection" | ||
5 | default CPU_LITTLE_ENDIAN | ||
6 | help | ||
7 | Some SuperH machines can be configured for either little or big | ||
8 | endian byte order. These modes require different kernels. | ||
9 | |||
10 | config CPU_LITTLE_ENDIAN | ||
11 | bool "Little Endian" | ||
12 | |||
13 | config CPU_BIG_ENDIAN | ||
14 | bool "Big Endian" | ||
15 | |||
16 | endchoice | ||
17 | |||
18 | config SH_FPU | ||
19 | bool "FPU support" | ||
20 | depends on CPU_HAS_FPU | ||
21 | default y | ||
22 | help | ||
23 | Selecting this option will enable support for SH processors that | ||
24 | have FPU units (ie, SH77xx). | ||
25 | |||
26 | This option must be set in order to enable the FPU. | ||
27 | |||
28 | config SH_FPU_EMU | ||
29 | bool "FPU emulation support" | ||
30 | depends on !SH_FPU && EXPERIMENTAL | ||
31 | default n | ||
32 | help | ||
33 | Selecting this option will enable support for software FPU emulation. | ||
34 | Most SH-3 users will want to say Y here, whereas most SH-4 users will | ||
35 | want to say N. | ||
36 | |||
37 | config SH_DSP | ||
38 | bool "DSP support" | ||
39 | depends on CPU_HAS_DSP | ||
40 | default y | ||
41 | help | ||
42 | Selecting this option will enable support for SH processors that | ||
43 | have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP). | ||
44 | |||
45 | This option must be set in order to enable the DSP. | ||
46 | |||
47 | config SH_ADC | ||
48 | bool "ADC support" | ||
49 | depends on CPU_SH3 | ||
50 | default y | ||
51 | help | ||
52 | Selecting this option will allow the Linux kernel to use SH3 on-chip | ||
53 | ADC module. | ||
54 | |||
55 | If unsure, say N. | ||
56 | |||
57 | config SH_STORE_QUEUES | ||
58 | bool "Support for Store Queues" | ||
59 | depends on CPU_SH4 | ||
60 | help | ||
61 | Selecting this option will enable an in-kernel API for manipulating | ||
62 | the store queues integrated in the SH-4 processors. | ||
63 | |||
64 | config SPECULATIVE_EXECUTION | ||
65 | bool "Speculative subroutine return" | ||
66 | depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL | ||
67 | help | ||
68 | This enables support for a speculative instruction fetch for | ||
69 | subroutine return. There are various pitfalls associated with | ||
70 | this, as outlined in the SH7780 hardware manual. | ||
71 | |||
72 | If unsure, say N. | ||
73 | |||
74 | config CPU_HAS_INTEVT | ||
75 | bool | ||
76 | |||
77 | config CPU_HAS_MASKREG_IRQ | ||
78 | bool | ||
79 | |||
80 | config CPU_HAS_IPR_IRQ | ||
81 | bool | ||
82 | |||
83 | config CPU_HAS_SR_RB | ||
84 | bool | ||
85 | help | ||
86 | This will enable the use of SR.RB register bank usage. Processors | ||
87 | that are lacking this bit must have another method in place for | ||
88 | accomplishing what is taken care of by the banked registers. | ||
89 | |||
90 | See <file:Documentation/sh/register-banks.txt> for further | ||
91 | information on SR.RB and register banking in the kernel in general. | ||
92 | |||
93 | config CPU_HAS_PTEA | ||
94 | bool | ||
95 | |||
96 | config CPU_HAS_DSP | ||
97 | bool | ||
98 | |||
99 | config CPU_HAS_FPU | ||
100 | bool | ||
101 | |||
102 | endmenu | ||
diff --git a/arch/sh/Kconfig.sh b/arch/sh/Kconfig.sh index e6721b8e9dc1..23eea5cf4ca0 100644 --- a/arch/sh/Kconfig.sh +++ b/arch/sh/Kconfig.sh | |||
@@ -291,109 +291,7 @@ config CPU_SUBTYPE_SH7722 | |||
291 | endchoice | 291 | endchoice |
292 | 292 | ||
293 | source "arch/sh/mm/Kconfig" | 293 | source "arch/sh/mm/Kconfig" |
294 | 294 | source "arch/sh/Kconfig.cpu" | |
295 | menu "Processor features" | ||
296 | |||
297 | choice | ||
298 | prompt "Endianess selection" | ||
299 | default CPU_LITTLE_ENDIAN | ||
300 | help | ||
301 | Some SuperH machines can be configured for either little or big | ||
302 | endian byte order. These modes require different kernels. | ||
303 | |||
304 | config CPU_LITTLE_ENDIAN | ||
305 | bool "Little Endian" | ||
306 | |||
307 | config CPU_BIG_ENDIAN | ||
308 | bool "Big Endian" | ||
309 | |||
310 | endchoice | ||
311 | |||
312 | config SH_FPU | ||
313 | bool "FPU support" | ||
314 | depends on CPU_HAS_FPU | ||
315 | default y | ||
316 | help | ||
317 | Selecting this option will enable support for SH processors that | ||
318 | have FPU units (ie, SH77xx). | ||
319 | |||
320 | This option must be set in order to enable the FPU. | ||
321 | |||
322 | config SH_FPU_EMU | ||
323 | bool "FPU emulation support" | ||
324 | depends on !SH_FPU && EXPERIMENTAL | ||
325 | default n | ||
326 | help | ||
327 | Selecting this option will enable support for software FPU emulation. | ||
328 | Most SH-3 users will want to say Y here, whereas most SH-4 users will | ||
329 | want to say N. | ||
330 | |||
331 | config SH_DSP | ||
332 | bool "DSP support" | ||
333 | depends on CPU_HAS_DSP | ||
334 | default y | ||
335 | help | ||
336 | Selecting this option will enable support for SH processors that | ||
337 | have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP). | ||
338 | |||
339 | This option must be set in order to enable the DSP. | ||
340 | |||
341 | config SH_ADC | ||
342 | bool "ADC support" | ||
343 | depends on CPU_SH3 | ||
344 | default y | ||
345 | help | ||
346 | Selecting this option will allow the Linux kernel to use SH3 on-chip | ||
347 | ADC module. | ||
348 | |||
349 | If unsure, say N. | ||
350 | |||
351 | config SH_STORE_QUEUES | ||
352 | bool "Support for Store Queues" | ||
353 | depends on CPU_SH4 | ||
354 | help | ||
355 | Selecting this option will enable an in-kernel API for manipulating | ||
356 | the store queues integrated in the SH-4 processors. | ||
357 | |||
358 | config SPECULATIVE_EXECUTION | ||
359 | bool "Speculative subroutine return" | ||
360 | depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL | ||
361 | help | ||
362 | This enables support for a speculative instruction fetch for | ||
363 | subroutine return. There are various pitfalls associated with | ||
364 | this, as outlined in the SH7780 hardware manual. | ||
365 | |||
366 | If unsure, say N. | ||
367 | |||
368 | config CPU_HAS_INTEVT | ||
369 | bool | ||
370 | |||
371 | config CPU_HAS_MASKREG_IRQ | ||
372 | bool | ||
373 | |||
374 | config CPU_HAS_IPR_IRQ | ||
375 | bool | ||
376 | |||
377 | config CPU_HAS_SR_RB | ||
378 | bool | ||
379 | help | ||
380 | This will enable the use of SR.RB register bank usage. Processors | ||
381 | that are lacking this bit must have another method in place for | ||
382 | accomplishing what is taken care of by the banked registers. | ||
383 | |||
384 | See <file:Documentation/sh/register-banks.txt> for further | ||
385 | information on SR.RB and register banking in the kernel in general. | ||
386 | |||
387 | config CPU_HAS_PTEA | ||
388 | bool | ||
389 | |||
390 | config CPU_HAS_DSP | ||
391 | bool | ||
392 | |||
393 | config CPU_HAS_FPU | ||
394 | bool | ||
395 | |||
396 | endmenu | ||
397 | 295 | ||
398 | menu "Board support" | 296 | menu "Board support" |
399 | 297 | ||
diff --git a/arch/sh/Kconfig.sh64 b/arch/sh/Kconfig.sh64 index 20db5e0c1401..10f5d30d3184 100644 --- a/arch/sh/Kconfig.sh64 +++ b/arch/sh/Kconfig.sh64 | |||
@@ -99,21 +99,7 @@ config CPU_SUBTYPE_SH5_103 | |||
99 | 99 | ||
100 | endchoice | 100 | endchoice |
101 | 101 | ||
102 | choice | 102 | source "arch/sh/Kconfig.cpu" |
103 | prompt "Endianness" | ||
104 | default LITTLE_ENDIAN | ||
105 | |||
106 | config LITTLE_ENDIAN | ||
107 | bool "Little-Endian" | ||
108 | |||
109 | config BIG_ENDIAN | ||
110 | bool "Big-Endian" | ||
111 | |||
112 | endchoice | ||
113 | |||
114 | config SH_FPU | ||
115 | bool "FPU support" | ||
116 | default y | ||
117 | 103 | ||
118 | config SH64_FPU_DENORM_FLUSH | 104 | config SH64_FPU_DENORM_FLUSH |
119 | depends on SH_FPU | 105 | depends on SH_FPU |