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