diff options
Diffstat (limited to 'arch/sh/Kconfig')
-rw-r--r-- | arch/sh/Kconfig | 366 |
1 files changed, 251 insertions, 115 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 496d635f89b2..1cd9c8fd927d 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -6,8 +6,7 @@ | |||
6 | mainmenu "Linux/SuperH Kernel Configuration" | 6 | mainmenu "Linux/SuperH Kernel Configuration" |
7 | 7 | ||
8 | config SUPERH | 8 | config SUPERH |
9 | bool | 9 | def_bool y |
10 | default y | ||
11 | select EMBEDDED | 10 | select EMBEDDED |
12 | help | 11 | help |
13 | The SuperH is a RISC processor targeted for use in embedded systems | 12 | The SuperH is a RISC processor targeted for use in embedded systems |
@@ -15,36 +14,36 @@ config SUPERH | |||
15 | gaming console. The SuperH port has a home page at | 14 | gaming console. The SuperH port has a home page at |
16 | <http://www.linux-sh.org/>. | 15 | <http://www.linux-sh.org/>. |
17 | 16 | ||
17 | config SUPERH32 | ||
18 | def_bool !SUPERH64 | ||
19 | |||
20 | config SUPERH64 | ||
21 | def_bool y if CPU_SH5 | ||
22 | |||
18 | config RWSEM_GENERIC_SPINLOCK | 23 | config RWSEM_GENERIC_SPINLOCK |
19 | bool | 24 | def_bool y |
20 | default y | ||
21 | 25 | ||
22 | config RWSEM_XCHGADD_ALGORITHM | 26 | config RWSEM_XCHGADD_ALGORITHM |
23 | bool | 27 | bool |
24 | 28 | ||
25 | config GENERIC_BUG | 29 | config GENERIC_BUG |
26 | def_bool y | 30 | def_bool y |
27 | depends on BUG | 31 | depends on BUG && SUPERH32 |
28 | 32 | ||
29 | config GENERIC_FIND_NEXT_BIT | 33 | config GENERIC_FIND_NEXT_BIT |
30 | bool | 34 | def_bool y |
31 | default y | ||
32 | 35 | ||
33 | config GENERIC_HWEIGHT | 36 | config GENERIC_HWEIGHT |
34 | bool | 37 | def_bool y |
35 | default y | ||
36 | 38 | ||
37 | config GENERIC_HARDIRQS | 39 | config GENERIC_HARDIRQS |
38 | bool | 40 | def_bool y |
39 | default y | ||
40 | 41 | ||
41 | config GENERIC_IRQ_PROBE | 42 | config GENERIC_IRQ_PROBE |
42 | bool | 43 | def_bool y |
43 | default y | ||
44 | 44 | ||
45 | config GENERIC_CALIBRATE_DELAY | 45 | config GENERIC_CALIBRATE_DELAY |
46 | bool | 46 | def_bool y |
47 | default y | ||
48 | 47 | ||
49 | config GENERIC_IOMAP | 48 | config GENERIC_IOMAP |
50 | bool | 49 | bool |
@@ -75,20 +74,16 @@ config ARCH_MAY_HAVE_PC_FDC | |||
75 | bool | 74 | bool |
76 | 75 | ||
77 | config STACKTRACE_SUPPORT | 76 | config STACKTRACE_SUPPORT |
78 | bool | 77 | def_bool y |
79 | default y | ||
80 | 78 | ||
81 | config LOCKDEP_SUPPORT | 79 | config LOCKDEP_SUPPORT |
82 | bool | 80 | def_bool y |
83 | default y | ||
84 | 81 | ||
85 | config ARCH_HAS_ILOG2_U32 | 82 | config ARCH_HAS_ILOG2_U32 |
86 | bool | 83 | def_bool n |
87 | default n | ||
88 | 84 | ||
89 | config ARCH_HAS_ILOG2_U64 | 85 | config ARCH_HAS_ILOG2_U64 |
90 | bool | 86 | def_bool n |
91 | default n | ||
92 | 87 | ||
93 | config ARCH_NO_VIRT_TO_BUS | 88 | config ARCH_NO_VIRT_TO_BUS |
94 | def_bool y | 89 | def_bool y |
@@ -97,110 +92,234 @@ source "init/Kconfig" | |||
97 | 92 | ||
98 | menu "System type" | 93 | menu "System type" |
99 | 94 | ||
100 | source "arch/sh/mm/Kconfig" | 95 | # |
96 | # Processor families | ||
97 | # | ||
98 | config CPU_SH2 | ||
99 | bool | ||
101 | 100 | ||
102 | menu "Processor features" | 101 | config CPU_SH2A |
102 | bool | ||
103 | select CPU_SH2 | ||
104 | |||
105 | config CPU_SH3 | ||
106 | bool | ||
107 | select CPU_HAS_INTEVT | ||
108 | select CPU_HAS_SR_RB | ||
109 | |||
110 | config CPU_SH4 | ||
111 | bool | ||
112 | select CPU_HAS_INTEVT | ||
113 | select CPU_HAS_SR_RB | ||
114 | select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2 | ||
115 | select CPU_HAS_FPU if !CPU_SH4AL_DSP | ||
116 | |||
117 | config CPU_SH4A | ||
118 | bool | ||
119 | select CPU_SH4 | ||
120 | |||
121 | config CPU_SH4AL_DSP | ||
122 | bool | ||
123 | select CPU_SH4A | ||
124 | select CPU_HAS_DSP | ||
125 | |||
126 | config CPU_SH5 | ||
127 | bool | ||
128 | select CPU_HAS_FPU | ||
129 | |||
130 | config CPU_SHX2 | ||
131 | bool | ||
132 | |||
133 | config CPU_SHX3 | ||
134 | bool | ||
103 | 135 | ||
104 | choice | 136 | choice |
105 | prompt "Endianess selection" | 137 | prompt "Processor sub-type selection" |
106 | default CPU_LITTLE_ENDIAN | ||
107 | help | ||
108 | Some SuperH machines can be configured for either little or big | ||
109 | endian byte order. These modes require different kernels. | ||
110 | 138 | ||
111 | config CPU_LITTLE_ENDIAN | 139 | # |
112 | bool "Little Endian" | 140 | # Processor subtypes |
141 | # | ||
113 | 142 | ||
114 | config CPU_BIG_ENDIAN | 143 | # SH-2 Processor Support |
115 | bool "Big Endian" | ||
116 | 144 | ||
117 | endchoice | 145 | config CPU_SUBTYPE_SH7619 |
146 | bool "Support SH7619 processor" | ||
147 | select CPU_SH2 | ||
148 | |||
149 | # SH-2A Processor Support | ||
150 | |||
151 | config CPU_SUBTYPE_SH7203 | ||
152 | bool "Support SH7203 processor" | ||
153 | select CPU_SH2A | ||
154 | select CPU_HAS_FPU | ||
155 | |||
156 | config CPU_SUBTYPE_SH7206 | ||
157 | bool "Support SH7206 processor" | ||
158 | select CPU_SH2A | ||
118 | 159 | ||
119 | config SH_FPU | 160 | config CPU_SUBTYPE_SH7263 |
120 | bool "FPU support" | 161 | bool "Support SH7263 processor" |
121 | depends on CPU_HAS_FPU | 162 | select CPU_SH2A |
122 | default y | 163 | select CPU_HAS_FPU |
164 | |||
165 | # SH-3 Processor Support | ||
166 | |||
167 | config CPU_SUBTYPE_SH7705 | ||
168 | bool "Support SH7705 processor" | ||
169 | select CPU_SH3 | ||
170 | |||
171 | config CPU_SUBTYPE_SH7706 | ||
172 | bool "Support SH7706 processor" | ||
173 | select CPU_SH3 | ||
123 | help | 174 | help |
124 | Selecting this option will enable support for SH processors that | 175 | Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU. |
125 | have FPU units (ie, SH77xx). | ||
126 | 176 | ||
127 | This option must be set in order to enable the FPU. | 177 | config CPU_SUBTYPE_SH7707 |
178 | bool "Support SH7707 processor" | ||
179 | select CPU_SH3 | ||
180 | help | ||
181 | Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU. | ||
128 | 182 | ||
129 | config SH_FPU_EMU | 183 | config CPU_SUBTYPE_SH7708 |
130 | bool "FPU emulation support" | 184 | bool "Support SH7708 processor" |
131 | depends on !SH_FPU && EXPERIMENTAL | 185 | select CPU_SH3 |
132 | default n | ||
133 | help | 186 | help |
134 | Selecting this option will enable support for software FPU emulation. | 187 | Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or |
135 | Most SH-3 users will want to say Y here, whereas most SH-4 users will | 188 | if you have a 100 Mhz SH-3 HD6417708R CPU. |
136 | want to say N. | ||
137 | 189 | ||
138 | config SH_DSP | 190 | config CPU_SUBTYPE_SH7709 |
139 | bool "DSP support" | 191 | bool "Support SH7709 processor" |
140 | depends on CPU_HAS_DSP | 192 | select CPU_SH3 |
141 | default y | ||
142 | help | 193 | help |
143 | Selecting this option will enable support for SH processors that | 194 | Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU. |
144 | have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP). | ||
145 | 195 | ||
146 | This option must be set in order to enable the DSP. | 196 | config CPU_SUBTYPE_SH7710 |
197 | bool "Support SH7710 processor" | ||
198 | select CPU_SH3 | ||
199 | select CPU_HAS_DSP | ||
200 | help | ||
201 | Select SH7710 if you have a SH3-DSP SH7710 CPU. | ||
147 | 202 | ||
148 | config SH_ADC | 203 | config CPU_SUBTYPE_SH7712 |
149 | bool "ADC support" | 204 | bool "Support SH7712 processor" |
150 | depends on CPU_SH3 | 205 | select CPU_SH3 |
151 | default y | 206 | select CPU_HAS_DSP |
152 | help | 207 | help |
153 | Selecting this option will allow the Linux kernel to use SH3 on-chip | 208 | Select SH7712 if you have a SH3-DSP SH7712 CPU. |
154 | ADC module. | ||
155 | 209 | ||
156 | If unsure, say N. | 210 | config CPU_SUBTYPE_SH7720 |
211 | bool "Support SH7720 processor" | ||
212 | select CPU_SH3 | ||
213 | select CPU_HAS_DSP | ||
214 | help | ||
215 | Select SH7720 if you have a SH3-DSP SH7720 CPU. | ||
157 | 216 | ||
158 | config SH_STORE_QUEUES | 217 | config CPU_SUBTYPE_SH7721 |
159 | bool "Support for Store Queues" | 218 | bool "Support SH7721 processor" |
160 | depends on CPU_SH4 | 219 | select CPU_SH3 |
220 | select CPU_HAS_DSP | ||
161 | help | 221 | help |
162 | Selecting this option will enable an in-kernel API for manipulating | 222 | Select SH7721 if you have a SH3-DSP SH7721 CPU. |
163 | the store queues integrated in the SH-4 processors. | ||
164 | 223 | ||
165 | config SPECULATIVE_EXECUTION | 224 | # SH-4 Processor Support |
166 | bool "Speculative subroutine return" | 225 | |
167 | depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL | 226 | config CPU_SUBTYPE_SH7750 |
227 | bool "Support SH7750 processor" | ||
228 | select CPU_SH4 | ||
168 | help | 229 | help |
169 | This enables support for a speculative instruction fetch for | 230 | Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU. |
170 | subroutine return. There are various pitfalls associated with | ||
171 | this, as outlined in the SH7780 hardware manual. | ||
172 | 231 | ||
173 | If unsure, say N. | 232 | config CPU_SUBTYPE_SH7091 |
233 | bool "Support SH7091 processor" | ||
234 | select CPU_SH4 | ||
235 | help | ||
236 | Select SH7091 if you have an SH-4 based Sega device (such as | ||
237 | the Dreamcast, Naomi, and Naomi 2). | ||
174 | 238 | ||
175 | config CPU_HAS_INTEVT | 239 | config CPU_SUBTYPE_SH7750R |
176 | bool | 240 | bool "Support SH7750R processor" |
241 | select CPU_SH4 | ||
177 | 242 | ||
178 | config CPU_HAS_MASKREG_IRQ | 243 | config CPU_SUBTYPE_SH7750S |
179 | bool | 244 | bool "Support SH7750S processor" |
245 | select CPU_SH4 | ||
180 | 246 | ||
181 | config CPU_HAS_IPR_IRQ | 247 | config CPU_SUBTYPE_SH7751 |
182 | bool | 248 | bool "Support SH7751 processor" |
249 | select CPU_SH4 | ||
250 | help | ||
251 | Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU, | ||
252 | or if you have a HD6417751R CPU. | ||
183 | 253 | ||
184 | config CPU_HAS_SR_RB | 254 | config CPU_SUBTYPE_SH7751R |
185 | bool | 255 | bool "Support SH7751R processor" |
256 | select CPU_SH4 | ||
257 | |||
258 | config CPU_SUBTYPE_SH7760 | ||
259 | bool "Support SH7760 processor" | ||
260 | select CPU_SH4 | ||
261 | |||
262 | config CPU_SUBTYPE_SH4_202 | ||
263 | bool "Support SH4-202 processor" | ||
264 | select CPU_SH4 | ||
265 | |||
266 | # SH-4A Processor Support | ||
267 | |||
268 | config CPU_SUBTYPE_SH7763 | ||
269 | bool "Support SH7763 processor" | ||
270 | select CPU_SH4A | ||
186 | help | 271 | help |
187 | This will enable the use of SR.RB register bank usage. Processors | 272 | Select SH7763 if you have a SH4A SH7763(R5S77631) CPU. |
188 | that are lacking this bit must have another method in place for | ||
189 | accomplishing what is taken care of by the banked registers. | ||
190 | 273 | ||
191 | See <file:Documentation/sh/register-banks.txt> for further | 274 | config CPU_SUBTYPE_SH7770 |
192 | information on SR.RB and register banking in the kernel in general. | 275 | bool "Support SH7770 processor" |
276 | select CPU_SH4A | ||
193 | 277 | ||
194 | config CPU_HAS_PTEA | 278 | config CPU_SUBTYPE_SH7780 |
195 | bool | 279 | bool "Support SH7780 processor" |
280 | select CPU_SH4A | ||
196 | 281 | ||
197 | config CPU_HAS_DSP | 282 | config CPU_SUBTYPE_SH7785 |
198 | bool | 283 | bool "Support SH7785 processor" |
284 | select CPU_SH4A | ||
285 | select CPU_SHX2 | ||
286 | select ARCH_SPARSEMEM_ENABLE | ||
287 | select SYS_SUPPORTS_NUMA | ||
199 | 288 | ||
200 | config CPU_HAS_FPU | 289 | config CPU_SUBTYPE_SHX3 |
201 | bool | 290 | bool "Support SH-X3 processor" |
291 | select CPU_SH4A | ||
292 | select CPU_SHX3 | ||
293 | select ARCH_SPARSEMEM_ENABLE | ||
294 | select SYS_SUPPORTS_NUMA | ||
295 | select SYS_SUPPORTS_SMP | ||
202 | 296 | ||
203 | endmenu | 297 | # SH4AL-DSP Processor Support |
298 | |||
299 | config CPU_SUBTYPE_SH7343 | ||
300 | bool "Support SH7343 processor" | ||
301 | select CPU_SH4AL_DSP | ||
302 | |||
303 | config CPU_SUBTYPE_SH7722 | ||
304 | bool "Support SH7722 processor" | ||
305 | select CPU_SH4AL_DSP | ||
306 | select CPU_SHX2 | ||
307 | select ARCH_SPARSEMEM_ENABLE | ||
308 | select SYS_SUPPORTS_NUMA | ||
309 | |||
310 | # SH-5 Processor Support | ||
311 | |||
312 | config CPU_SUBTYPE_SH5_101 | ||
313 | bool "Support SH5-101 processor" | ||
314 | select CPU_SH5 | ||
315 | |||
316 | config CPU_SUBTYPE_SH5_103 | ||
317 | bool "Support SH5-103 processor" | ||
318 | |||
319 | endchoice | ||
320 | |||
321 | source "arch/sh/mm/Kconfig" | ||
322 | source "arch/sh/Kconfig.cpu" | ||
204 | 323 | ||
205 | menu "Board support" | 324 | menu "Board support" |
206 | 325 | ||
@@ -321,13 +440,6 @@ config SH_SECUREEDGE5410 | |||
321 | This includes both the OEM SecureEdge products as well as the | 440 | This includes both the OEM SecureEdge products as well as the |
322 | SME product line. | 441 | SME product line. |
323 | 442 | ||
324 | config SH_HS7751RVOIP | ||
325 | bool "HS7751RVOIP" | ||
326 | depends on CPU_SUBTYPE_SH7751R | ||
327 | help | ||
328 | Select HS7751RVOIP if configuring for a Renesas Technology | ||
329 | Sales VoIP board. | ||
330 | |||
331 | config SH_7710VOIPGW | 443 | config SH_7710VOIPGW |
332 | bool "SH7710-VOIP-GW" | 444 | bool "SH7710-VOIP-GW" |
333 | depends on CPU_SUBTYPE_SH7710 | 445 | depends on CPU_SUBTYPE_SH7710 |
@@ -343,6 +455,14 @@ config SH_RTS7751R2D | |||
343 | Select RTS7751R2D if configuring for a Renesas Technology | 455 | Select RTS7751R2D if configuring for a Renesas Technology |
344 | Sales SH-Graphics board. | 456 | Sales SH-Graphics board. |
345 | 457 | ||
458 | config SH_SDK7780 | ||
459 | bool "SDK7780R3" | ||
460 | depends on CPU_SUBTYPE_SH7780 | ||
461 | select SYS_SUPPORTS_PCI | ||
462 | help | ||
463 | Select SDK7780 if configuring for a Renesas SH7780 SDK7780R3 | ||
464 | evaluation board. | ||
465 | |||
346 | config SH_HIGHLANDER | 466 | config SH_HIGHLANDER |
347 | bool "Highlander" | 467 | bool "Highlander" |
348 | depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 | 468 | depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 |
@@ -399,41 +519,47 @@ config SH_MAGIC_PANEL_R2 | |||
399 | help | 519 | help |
400 | Select Magic Panel R2 if configuring for Magic Panel R2. | 520 | Select Magic Panel R2 if configuring for Magic Panel R2. |
401 | 521 | ||
522 | config SH_CAYMAN | ||
523 | bool "Hitachi Cayman" | ||
524 | depends on CPU_SUBTYPE_SH5_101 || CPU_SUBTYPE_SH5_103 | ||
525 | select SYS_SUPPORTS_PCI | ||
526 | |||
402 | endmenu | 527 | endmenu |
403 | 528 | ||
404 | source "arch/sh/boards/renesas/hs7751rvoip/Kconfig" | ||
405 | source "arch/sh/boards/renesas/rts7751r2d/Kconfig" | 529 | source "arch/sh/boards/renesas/rts7751r2d/Kconfig" |
406 | source "arch/sh/boards/renesas/r7780rp/Kconfig" | 530 | source "arch/sh/boards/renesas/r7780rp/Kconfig" |
531 | source "arch/sh/boards/renesas/sdk7780/Kconfig" | ||
407 | source "arch/sh/boards/magicpanelr2/Kconfig" | 532 | source "arch/sh/boards/magicpanelr2/Kconfig" |
408 | 533 | ||
409 | menu "Timer and clock configuration" | 534 | menu "Timer and clock configuration" |
410 | 535 | ||
411 | config SH_TMU | 536 | config SH_TMU |
412 | bool "TMU timer support" | 537 | def_bool y |
538 | prompt "TMU timer support" | ||
413 | depends on CPU_SH3 || CPU_SH4 | 539 | depends on CPU_SH3 || CPU_SH4 |
414 | select GENERIC_TIME | 540 | select GENERIC_TIME |
415 | select GENERIC_CLOCKEVENTS | 541 | select GENERIC_CLOCKEVENTS |
416 | default y | ||
417 | help | 542 | help |
418 | This enables the use of the TMU as the system timer. | 543 | This enables the use of the TMU as the system timer. |
419 | 544 | ||
420 | config SH_CMT | 545 | config SH_CMT |
421 | bool "CMT timer support" | 546 | def_bool y |
547 | prompt "CMT timer support" | ||
422 | depends on CPU_SH2 | 548 | depends on CPU_SH2 |
423 | default y | ||
424 | help | 549 | help |
425 | This enables the use of the CMT as the system timer. | 550 | This enables the use of the CMT as the system timer. |
426 | 551 | ||
427 | config SH_MTU2 | 552 | config SH_MTU2 |
428 | bool "MTU2 timer support" | 553 | def_bool n |
554 | prompt "MTU2 timer support" | ||
429 | depends on CPU_SH2A | 555 | depends on CPU_SH2A |
430 | default n | ||
431 | help | 556 | help |
432 | This enables the use of the MTU2 as the system timer. | 557 | This enables the use of the MTU2 as the system timer. |
433 | 558 | ||
434 | config SH_TIMER_IRQ | 559 | config SH_TIMER_IRQ |
435 | int | 560 | int |
436 | default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 | 561 | default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \ |
562 | CPU_SUBTYPE_SH7763 | ||
437 | default "86" if CPU_SUBTYPE_SH7619 | 563 | default "86" if CPU_SUBTYPE_SH7619 |
438 | default "140" if CPU_SUBTYPE_SH7206 | 564 | default "140" if CPU_SUBTYPE_SH7206 |
439 | default "16" | 565 | default "16" |
@@ -445,7 +571,8 @@ config SH_PCLK_FREQ | |||
445 | default "32000000" if CPU_SUBTYPE_SH7722 | 571 | default "32000000" if CPU_SUBTYPE_SH7722 |
446 | default "33333333" if CPU_SUBTYPE_SH7770 || \ | 572 | default "33333333" if CPU_SUBTYPE_SH7770 || \ |
447 | CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \ | 573 | CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \ |
448 | CPU_SUBTYPE_SH7206 | 574 | CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \ |
575 | CPU_SUBTYPE_SH7263 | ||
449 | default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R | 576 | default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R |
450 | default "66000000" if CPU_SUBTYPE_SH4_202 | 577 | default "66000000" if CPU_SUBTYPE_SH4_202 |
451 | default "50000000" | 578 | default "50000000" |
@@ -456,7 +583,7 @@ config SH_PCLK_FREQ | |||
456 | 583 | ||
457 | config SH_CLK_MD | 584 | config SH_CLK_MD |
458 | int "CPU Mode Pin Setting" | 585 | int "CPU Mode Pin Setting" |
459 | depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206 | 586 | depends on CPU_SH2 |
460 | default 6 if CPU_SUBTYPE_SH7206 | 587 | default 6 if CPU_SUBTYPE_SH7206 |
461 | default 5 if CPU_SUBTYPE_SH7619 | 588 | default 5 if CPU_SUBTYPE_SH7619 |
462 | default 0 | 589 | default 0 |
@@ -490,9 +617,8 @@ source "arch/sh/drivers/Kconfig" | |||
490 | endmenu | 617 | endmenu |
491 | 618 | ||
492 | config ISA_DMA_API | 619 | config ISA_DMA_API |
493 | bool | 620 | def_bool y |
494 | depends on SH_MPC1211 | 621 | depends on SH_MPC1211 |
495 | default y | ||
496 | 622 | ||
497 | menu "Kernel features" | 623 | menu "Kernel features" |
498 | 624 | ||
@@ -570,7 +696,7 @@ source "kernel/Kconfig.preempt" | |||
570 | 696 | ||
571 | config GUSA | 697 | config GUSA |
572 | def_bool y | 698 | def_bool y |
573 | depends on !SMP | 699 | depends on !SMP && SUPERH32 |
574 | help | 700 | help |
575 | This enables support for gUSA (general UserSpace Atomicity). | 701 | This enables support for gUSA (general UserSpace Atomicity). |
576 | This is the default implementation for both UP and non-ll/sc | 702 | This is the default implementation for both UP and non-ll/sc |
@@ -582,6 +708,16 @@ config GUSA | |||
582 | This should only be disabled for special cases where alternate | 708 | This should only be disabled for special cases where alternate |
583 | atomicity implementations exist. | 709 | atomicity implementations exist. |
584 | 710 | ||
711 | config GUSA_RB | ||
712 | bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)" | ||
713 | depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A) | ||
714 | help | ||
715 | Enabling this option will allow the kernel to implement some | ||
716 | atomic operations using a software implemention of load-locked/ | ||
717 | store-conditional (LLSC). On machines which do not have hardware | ||
718 | LLSC, this should be more efficient than the other alternative of | ||
719 | disabling insterrupts around the atomic sequence. | ||
720 | |||
585 | endmenu | 721 | endmenu |
586 | 722 | ||
587 | menu "Boot options" | 723 | menu "Boot options" |