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