[PATCH] FRV: Implement futex operations for FRV
[linux-2.6] / arch / frv / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5 config FRV
6         bool
7         default y
8
9 config UID16
10         bool
11         default y
12
13 config RWSEM_GENERIC_SPINLOCK
14         bool
15         default y
16
17 config RWSEM_XCHGADD_ALGORITHM
18         bool
19
20 config GENERIC_FIND_NEXT_BIT
21         bool
22         default y
23
24 config GENERIC_CALIBRATE_DELAY
25         bool
26         default n
27
28 config GENERIC_HARDIRQS
29         bool
30         default n
31
32 mainmenu "Fujitsu FR-V Kernel Configuration"
33
34 source "init/Kconfig"
35
36
37 menu "Fujitsu FR-V system setup"
38
39 config MMU
40         bool "MMU support"
41         help
42           This options switches on and off support for the FR-V MMU
43           (effectively switching between vmlinux and uClinux). Not all FR-V
44           CPUs support this. Currently only the FR451 has a sufficiently
45           featured MMU.
46
47 config FRV_OUTOFLINE_ATOMIC_OPS
48         bool "Out-of-line the FRV atomic operations"
49         default n
50         help
51           Setting this option causes the FR-V atomic operations to be mostly
52           implemented out-of-line.
53
54           See Documentation/fujitsu/frv/atomic-ops.txt for more information.
55
56 config HIGHMEM
57         bool "High memory support"
58         depends on MMU
59         default y
60         help
61           If you wish to use more than 256MB of memory with your MMU based
62           system, you will need to select this option. The kernel can only see
63           the memory between 0xC0000000 and 0xD0000000 directly... everything
64           else must be kmapped.
65
66           The arch is, however, capable of supporting up to 3GB of SDRAM.
67
68 config HIGHPTE
69         bool "Allocate page tables in highmem"
70         depends on HIGHMEM
71         default y
72         help
73           The VM uses one page of memory for each page table.  For systems
74           with a lot of RAM, this can be wasteful of precious low memory.
75           Setting this option will put user-space page tables in high memory.
76
77 source "mm/Kconfig"
78
79 choice
80         prompt "uClinux kernel load address"
81         depends on !MMU
82         default UCPAGE_OFFSET_C0000000
83         help
84           This option sets the base address for the uClinux kernel. The kernel
85           will rearrange the SDRAM layout to start at this address, and move
86           itself to start there. It must be greater than 0, and it must be
87           sufficiently less than 0xE0000000 that the SDRAM does not intersect
88           the I/O region.
89
90           The base address must also be aligned such that the SDRAM controller
91           can decode it. For instance, a 512MB SDRAM bank must be 512MB aligned.
92
93 config UCPAGE_OFFSET_20000000
94        bool "0x20000000"
95
96 config UCPAGE_OFFSET_40000000
97        bool "0x40000000"
98
99 config UCPAGE_OFFSET_60000000
100        bool "0x60000000"
101
102 config UCPAGE_OFFSET_80000000
103        bool "0x80000000"
104
105 config UCPAGE_OFFSET_A0000000
106        bool "0xA0000000"
107
108 config UCPAGE_OFFSET_C0000000
109        bool "0xC0000000 (Recommended)"
110
111 endchoice
112
113 config PROTECT_KERNEL
114         bool "Protect core kernel against userspace"
115         depends on !MMU
116         default y
117         help
118           Selecting this option causes the uClinux kernel to change the
119           permittivity of DAMPR register covering the core kernel image to
120           prevent userspace accessing the underlying memory directly.
121
122 choice
123         prompt "CPU Caching mode"
124         default FRV_DEFL_CACHE_WBACK
125         help
126           This option determines the default caching mode for the kernel.
127
128           Write-Back caching mode involves the all reads and writes causing
129           the affected cacheline to be read into the cache first before being
130           operated upon. Memory is not then updated by a write until the cache
131           is filled and a cacheline needs to be displaced from the cache to
132           make room. Only at that point is it written back.
133
134           Write-Behind caching is similar to Write-Back caching, except that a
135           write won't fetch a cacheline into the cache if there isn't already
136           one there; it will write directly to memory instead.
137
138           Write-Through caching only fetches cachelines from memory on a
139           read. Writes always get written directly to memory. If the affected
140           cacheline is also in cache, it will be updated too.
141
142           The final option is to turn of caching entirely.
143
144           Note that not all CPUs support Write-Behind caching. If the CPU on
145           which the kernel is running doesn't, it'll fall back to Write-Back
146           caching.
147
148 config FRV_DEFL_CACHE_WBACK
149         bool "Write-Back"
150
151 config FRV_DEFL_CACHE_WBEHIND
152         bool "Write-Behind"
153
154 config FRV_DEFL_CACHE_WTHRU
155         bool "Write-Through"
156
157 config FRV_DEFL_CACHE_DISABLED
158         bool "Disabled"
159
160 endchoice
161
162 menu "CPU core support"
163
164 config CPU_FR401
165         bool "Include FR401 core support"
166         depends on !MMU
167         default y
168         help
169           This enables support for the FR401, FR401A and FR403 CPUs
170
171 config CPU_FR405
172         bool "Include FR405 core support"
173         depends on !MMU
174         default y
175         help
176           This enables support for the FR405 CPU
177
178 config CPU_FR451
179         bool "Include FR451 core support"
180         default y
181         help
182           This enables support for the FR451 CPU
183
184 config CPU_FR451_COMPILE
185         bool "Specifically compile for FR451 core"
186         depends on CPU_FR451 && !CPU_FR401 && !CPU_FR405 && !CPU_FR551
187         default y
188         help
189           This causes appropriate flags to be passed to the compiler to
190           optimise for the FR451 CPU
191
192 config CPU_FR551
193         bool "Include FR551 core support"
194         depends on !MMU
195         default y
196         help
197           This enables support for the FR555 CPU
198
199 config CPU_FR551_COMPILE
200         bool "Specifically compile for FR551 core"
201         depends on CPU_FR551 && !CPU_FR401 && !CPU_FR405 && !CPU_FR451
202         default y
203         help
204           This causes appropriate flags to be passed to the compiler to
205           optimise for the FR555 CPU
206
207 config FRV_L1_CACHE_SHIFT
208         int
209         default "5" if CPU_FR401 || CPU_FR405 || CPU_FR451
210         default "6" if CPU_FR551
211
212 endmenu
213
214 choice
215         prompt "System support"
216         default MB93091_VDK
217
218 config MB93091_VDK
219         bool "MB93091 CPU board with or without motherboard"
220
221 config MB93093_PDK
222         bool "MB93093 PDK unit"
223
224 endchoice
225
226 if MB93091_VDK
227 choice
228         prompt "Motherboard support"
229         default MB93090_MB00
230
231 config MB93090_MB00
232         bool "Use the MB93090-MB00 motherboard"
233         help
234           Select this option if the MB93091 CPU board is going to be used with
235           a MB93090-MB00 VDK motherboard
236
237 config MB93091_NO_MB
238         bool "Use standalone"
239         help
240           Select this option if the MB93091 CPU board is going to be used
241           without a motherboard
242
243 endchoice
244 endif
245
246 choice
247         prompt "GP-Relative data support"
248         default GPREL_DATA_8
249         help
250           This option controls what data, if any, should be placed in the GP
251           relative data sections. Using this means that the compiler can
252           generate accesses to the data using GR16-relative addressing which
253           is faster than absolute instructions and saves space (2 instructions
254           per access).
255
256           However, the GPREL region is limited in size because the immediate
257           value used in the load and store instructions is limited to a 12-bit
258           signed number.
259
260           So if the linker starts complaining that accesses to GPREL data are
261           out of range, try changing this option from the default.
262
263           Note that modules will always be compiled with this feature disabled
264           as the module data will not be in range of the GP base address.
265
266 config GPREL_DATA_8
267         bool "Put data objects of up to 8 bytes into GP-REL"
268
269 config GPREL_DATA_4
270         bool "Put data objects of up to 4 bytes into GP-REL"
271
272 config GPREL_DATA_NONE
273         bool "Don't use GP-REL"
274
275 endchoice
276
277 config PCI
278         bool "Use PCI"
279         depends on MB93090_MB00
280         default y
281         help
282           Some FR-V systems (such as the MB93090-MB00 VDK) have PCI
283           onboard. If you have one of these boards and you wish to use the PCI
284           facilities, say Y here.
285
286           The PCI-HOWTO, available from
287           <http://www.tldp.org/docs.html#howto>, contains valuable
288           information about which PCI hardware does work under Linux and which
289           doesn't.
290
291 config RESERVE_DMA_COHERENT
292         bool "Reserve DMA coherent memory"
293         depends on PCI && !MMU
294         default y
295         help
296           Many PCI drivers require access to uncached memory for DMA device
297           communications (such as is done with some Ethernet buffer rings). If
298           a fully featured MMU is available, this can be done through page
299           table settings, but if not, a region has to be set aside and marked
300           with a special DAMPR register.
301
302           Setting this option causes uClinux to set aside a portion of the
303           available memory for use in this manner. The memory will then be
304           unavailable for normal kernel use.
305
306 source "drivers/pci/Kconfig"
307
308 config PCMCIA
309         tristate "Use PCMCIA"
310         help
311           Say Y here if you want to attach PCMCIA- or PC-cards to your FR-V
312           board.  These are credit-card size devices such as network cards,
313           modems or hard drives often used with laptops computers.  There are
314           actually two varieties of these cards: the older 16 bit PCMCIA cards
315           and the newer 32 bit CardBus cards.  If you want to use CardBus
316           cards, you need to say Y here and also to "CardBus support" below.
317
318           To use your PC-cards, you will need supporting software from David
319           Hinds pcmcia-cs package (see the file <file:Documentation/Changes>
320           for location).  Please also read the PCMCIA-HOWTO, available from
321           <http://www.tldp.org/docs.html#howto>.
322
323           To compile this driver as modules, choose M here: the
324           modules will be called pcmcia_core and ds.
325
326 #config MATH_EMULATION
327 #       bool "Math emulation support (EXPERIMENTAL)"
328 #       depends on EXPERIMENTAL
329 #       help
330 #         At some point in the future, this will cause floating-point math
331 #         instructions to be emulated by the kernel on machines that lack a
332 #         floating-point math coprocessor.  Thrill-seekers and chronically
333 #         sleep-deprived psychotic hacker types can say Y now, everyone else
334 #         should probably wait a while.
335
336 menu "Power management options"
337 source kernel/power/Kconfig
338 endmenu
339
340 endmenu
341
342
343 menu "Executable formats"
344
345 source "fs/Kconfig.binfmt"
346
347 endmenu
348
349 source "net/Kconfig"
350
351 source "drivers/Kconfig"
352
353 source "fs/Kconfig"
354
355 source "arch/frv/Kconfig.debug"
356
357 source "security/Kconfig"
358
359 source "crypto/Kconfig"
360
361 source "lib/Kconfig"