aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2007-11-08 23:45:42 -0500
committerPaul Mundt <lethal@linux-sh.org>2008-01-27 23:18:41 -0500
commit4690bdc7c6e4f18fb58350ccde40df5fcd85a6d9 (patch)
treebef3ae2a5e2bae9d50d450fe094da48bf30fcc5e /arch/sh
parent114f132975ae8db3caa0c3420dc1083bae8d3757 (diff)
sh: Consolidate CPU features in Kconfig.cpu.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/Kconfig.cpu102
-rw-r--r--arch/sh/Kconfig.sh104
-rw-r--r--arch/sh/Kconfig.sh6416
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 @@
1menu "Processor features"
2
3choice
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
10config CPU_LITTLE_ENDIAN
11 bool "Little Endian"
12
13config CPU_BIG_ENDIAN
14 bool "Big Endian"
15
16endchoice
17
18config 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
28config 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
37config 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
47config 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
57config 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
64config 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
74config CPU_HAS_INTEVT
75 bool
76
77config CPU_HAS_MASKREG_IRQ
78 bool
79
80config CPU_HAS_IPR_IRQ
81 bool
82
83config 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
93config CPU_HAS_PTEA
94 bool
95
96config CPU_HAS_DSP
97 bool
98
99config CPU_HAS_FPU
100 bool
101
102endmenu
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
291endchoice 291endchoice
292 292
293source "arch/sh/mm/Kconfig" 293source "arch/sh/mm/Kconfig"
294 294source "arch/sh/Kconfig.cpu"
295menu "Processor features"
296
297choice
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
304config CPU_LITTLE_ENDIAN
305 bool "Little Endian"
306
307config CPU_BIG_ENDIAN
308 bool "Big Endian"
309
310endchoice
311
312config 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
322config 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
331config 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
341config 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
351config 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
358config 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
368config CPU_HAS_INTEVT
369 bool
370
371config CPU_HAS_MASKREG_IRQ
372 bool
373
374config CPU_HAS_IPR_IRQ
375 bool
376
377config 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
387config CPU_HAS_PTEA
388 bool
389
390config CPU_HAS_DSP
391 bool
392
393config CPU_HAS_FPU
394 bool
395
396endmenu
397 295
398menu "Board support" 296menu "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
100endchoice 100endchoice
101 101
102choice 102source "arch/sh/Kconfig.cpu"
103 prompt "Endianness"
104 default LITTLE_ENDIAN
105
106config LITTLE_ENDIAN
107 bool "Little-Endian"
108
109config BIG_ENDIAN
110 bool "Big-Endian"
111
112endchoice
113
114config SH_FPU
115 bool "FPU support"
116 default y
117 103
118config SH64_FPU_DENORM_FLUSH 104config SH64_FPU_DENORM_FLUSH
119 depends on SH_FPU 105 depends on SH_FPU