Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
  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
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
# 
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.txt.
#

config MMU
	bool
	default y

config UID16
	bool

config RWSEM_GENERIC_SPINLOCK
	bool

config RWSEM_XCHGADD_ALGORITHM
	bool
	default y

config GENERIC_ISA_DMA
	bool
	default y

config HAVE_DEC_LOCK
	bool
	default y

config EARLY_PRINTK
	bool
	default y

config COMPAT
	bool
	default y

config FRAME_POINTER
	bool
	default y

source "init/Kconfig"


menu "Platform support"

choice
	prompt "Platform Type"
	default PPC_PSERIES

config PPC_ISERIES
	bool "iSeries"

config PPC_PSERIES
	bool "pSeries"

endchoice

config PPC
	bool
	default y

config PPC64
	bool
	default y

config SMP
	bool "Symmetric multi-processing support"
	---help---
	  This enables support for systems with more than one CPU. If you have
	  a system with only one CPU, say N. If you have a system with more
	  than one CPU, say Y.

	  If you say N here, the kernel will run on single and multiprocessor
	  machines, but will use only one CPU of a multiprocessor machine. If
	  you say Y here, the kernel will run on single-processor machines.
	  On a single-processor machine, the kernel will run faster if you say
	  N here.

	  If you don't know what to do here, say Y.

config IRQ_ALL_CPUS
	bool "Distribute interrupts on all CPUs by default"
	depends on SMP && PPC_PSERIES
	help
	  This option gives the kernel permission to distribute IRQs across
	  multiple CPUs.  Saying N here will route all IRQs to the first
	  CPU.

config NR_CPUS
	int "Maximum number of CPUs (2-64)"
	depends on SMP
	default "32"

config HMT
	bool "Hardware multithreading"
	depends on SMP && PPC_PSERIES

config DISCONTIGMEM
	bool "Discontiguous Memory Support"
	depends on SMP && PPC_PSERIES

config NUMA
	bool "NUMA support"
	depends on DISCONTIGMEM

config PREEMPT
	bool
	help
	  This option reduces the latency of the kernel when reacting to
	  real-time or interactive events by allowing a low priority process to
	  be preempted even if it is in kernel mode executing a system call.
	  Unfortunately the kernel code has some race conditions if both
	  CONFIG_SMP and CONFIG_PREEMPT are enabled, so this option is
	  currently disabled if you are building an SMP kernel.

	  Say Y here if you are building a kernel for a desktop, embedded
	  or real-time system.  Say N if you are unsure.

config MSCHUNKS
	bool
	depends on PPC_ISERIES
	default y

config RTAS_FLASH
	tristate "Firmware flash interface"
	depends on !PPC_ISERIES

config SCANLOG
	tristate "Scanlog dump interface"
	depends on !PPC_ISERIES

config PPC_RTAS
	bool "Proc interface to RTAS"
	depends on !PPC_ISERIES

endmenu


menu "General setup"

config ISA
	bool
	help
	  Find out whether you have ISA slots on your motherboard.  ISA is the
	  name of a bus system, i.e. the way the CPU talks to the other stuff
	  inside your box.  If you have an Apple machine, say N here; if you
	  have an IBM RS/6000 or pSeries machine or a PReP machine, say Y.  If
	  you have an embedded board, consult your board documentation.

config SBUS
	bool

config MCA
	bool

config EISA
	bool

config PCI
	bool
	default y
	help
	  Find out whether your system includes a PCI bus. PCI is the name of
	  a bus system, i.e. the way the CPU talks to the other stuff inside
	  your box.  If you say Y here, the kernel will include drivers and
	  infrastructure code to support PCI bus devices.

# only elf supported, a.out is not -- Cort
config KCORE_ELF
	bool
	depends on PROC_FS
	default y
	help
	  If you enabled support for /proc file system then the file
	  /proc/kcore will contain the kernel core image in ELF format. This
	  can be used in gdb:

	  $ cd /usr/src/linux ; gdb vmlinux /proc/kcore

	  This is especially useful if you have compiled the kernel with the
	  "-g" option to preserve debugging information. It is mainly used
	  for examining kernel data structures on the live kernel.

config BINFMT_ELF
	bool "Kernel support for 64-bit ELF binaries"
	help
	  ELF (Executable and Linkable Format) is a format for libraries and
	  executables used across different architectures and operating
	  systems.

config BINFMT_MISC
	tristate "Kernel support for MISC binaries"
	---help---
	  If you say Y here, it will be possible to plug wrapper-driven binary
	  formats into the kernel. You will like this especially when you use
	  programs that need an interpreter to run like Java, Python or
	  Emacs-Lisp.  It's also useful if you often run DOS executables under
	  the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO, available from
	  <http://www.linuxdoc.org/docs.html#howto>).  Once you have
	  registered such a binary class with the kernel, you can start one of
	  those programs simply by typing in its name at a shell prompt; Linux
	  will automatically feed it to the correct interpreter.

	  You can do other nice things, too. Read the file
	  <file:Documentation/binfmt_misc.txt> to learn how to use this
	  feature, and <file:Documentation/java.txt> for information about how
	  to include Java support.

	  You must say Y to "/proc file system support" (CONFIG_PROC_FS) to
	  use this part of the kernel.

	  You may say M here for module support and later load the module when
	  you have use for it; the module is called binfmt_misc. If you
	  don't know what to answer at this point, say Y.

source "drivers/pci/Kconfig"

config HOTPLUG
	bool "Support for hot-pluggable devices"
	---help---
	  Say Y here if you want to plug devices into your computer while
	  the system is running, and be able to use them quickly.  In many
	  cases, the devices can likewise be unplugged at any time too.

	  One well known example of this is PCMCIA- or PC-cards, credit-card
	  size devices such as network cards, modems or hard drives which are
	  plugged into slots found on all modern laptop computers.  Another
	  example, used on modern desktops as well as laptops, is USB.

	  Enable HOTPLUG and KMOD, and build a modular kernel.  Get agent
	  software (at <http://linux-hotplug.sourceforge.net/>) and install it.
	  Then your kernel will automatically call out to a user mode "policy
	  agent" (/sbin/hotplug) to load modules and set up software needed
	  to use devices as you hotplug them.

source "drivers/pcmcia/Kconfig"

source "drivers/hotplug/Kconfig"

config PROC_DEVICETREE
	bool "Support for Open Firmware device tree in /proc"
	depends on !PPC_ISERIES
	help
	  This option adds a device-tree directory under /proc which contains
	  an image of the device tree that the kernel copies from Open
	  Firmware. If unsure, say Y here.

config CMDLINE_BOOL
	bool "Default bootloader kernel arguments"
	depends on !PPC_ISERIES

config CMDLINE
	string "Initial kernel command string"
	depends on CMDLINE_BOOL
	default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
	help
	  On some platforms, there is currently no way for the boot loader to
	  pass arguments to the kernel. For these platforms, you can supply
	  some command-line options at build time by entering them here.  In
	  most cases you will need to specify the root device here.

endmenu

source "drivers/mtd/Kconfig"

source "drivers/parport/Kconfig"

source "drivers/pnp/Kconfig"

source "drivers/block/Kconfig"


menu "ATA/ATAPI/MFM/RLL support"

config IDE
	tristate "ATA/ATAPI/MFM/RLL support"
	---help---
	  If you say Y here, your kernel will be able to manage low cost mass
	  storage units such as ATA/(E)IDE and ATAPI units. The most common
	  cases are IDE hard drives and ATAPI CD-ROM drives.

	  If your system is pure SCSI and doesn't use these interfaces, you
	  can say N here.

	  Integrated Disk Electronics (IDE aka ATA-1) is a connecting standard
	  for mass storage units such as hard disks. It was designed by
	  Western Digital and Compaq Computer in 1984.  Quite a number of
	  disks use the IDE interface.

	  Fast-IDE is ATA-2 (also named Fast ATA), Enhanced IDE (EIDE) is
	  ATA-3. It provides support for larger disks (up to 8.4GB by means of
	  the LBA standard), more disks (4 instead of 2) and for other mass
	  storage units such as tapes and cdrom. UDMA/33 (aka UltraDMA/33) is
	  ATA-4 and provides faster (and more CPU friendly) transfer modes
	  than previous PIO (Programmed processor Input/Output) from previous
	  ATA/IDE standards by means of fast DMA controllers.

	  ATA Packet Interface (ATAPI) is a protocol used by EIDE tape and
	  CD-ROM drives, similar in many respects to the SCSI protocol.

	  SMART IDE (Self Monitoring, Analysis and Reporting Technology) was
	  designed in order to prevent data corruption and disk crash by
	  detecting pre hardware failure conditions (heat, access time, and
	  the like...). Disks built since June 1995 may follow this standard.
	  The kernel itself don't manage this; however there are quite a
	  number of user programs such as smart that can query the status of
	  SMART parameters disk.

	  If you want to compile this driver as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want),
	  say M here and read <file:Documentation/modules.txt>. The module
	  will be called ide.

	  For further information, please read <file:Documentation/ide.txt>.

	  If unsure, say Y.

source "drivers/ide/Kconfig"

endmenu


menu "SCSI device support"

config SCSI
	tristate "SCSI device support"
	---help---
	  If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or
	  any other SCSI device under Linux, say Y and make sure that you know
	  the name of your SCSI host adapter (the card inside your computer
	  that "speaks" the SCSI protocol, also called SCSI controller),
	  because you will be asked for it.

	  You also need to say Y here if you want support for the parallel
	  port version of the 100 MB IOMEGA ZIP drive.

	  This driver is also available as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want).
	  The module will be called scsi_mod.  If you want to compile it as
	  a module, say M here and read <file:Documentation/modules.txt> and
	  <file:Documentation/scsi/scsi.txt>.  However, do not compile this as a
	  module if your root file system (the one containing the directory /)
	  is located on a SCSI device.

source "drivers/scsi/Kconfig"

endmenu

source "drivers/md/Kconfig"

source "drivers/message/fusion/Kconfig"

source "drivers/ieee1394/Kconfig"

source "drivers/message/i2o/Kconfig"

source "net/Kconfig"

source "net/ax25/Kconfig"

source "net/irda/Kconfig"

source "drivers/isdn/Kconfig"

source "drivers/telephony/Kconfig"

#
# input before char - char/joystick depends on it. As does USB.
#
source "drivers/input/Kconfig"

source "drivers/char/Kconfig"

source "drivers/media/Kconfig"

source "fs/Kconfig"

source "drivers/video/Kconfig"

menu "Sound"

config SOUND
	tristate "Sound card support"
	---help---
	  If you have a sound card in your computer, i.e. if it can say more
	  than an occasional beep, say Y.  Be sure to have all the information
	  about your sound card and its configuration down (I/O port,
	  interrupt and DMA channel), because you will be asked for it.

	  You want to read the Sound-HOWTO, available from
	  <http://www.linuxdoc.org/docs.html#howto>. General information about
	  the modular sound system is contained in the files
	  <file:Documentation/sound/Introduction>.  The file
	  <file:Documentation/sound/README.OSS> contains some slightly
	  outdated but still useful information as well.

	  If you have a PnP sound card and you want to configure it at boot
	  time using the ISA PnP tools (read
	  <http://www.roestock.demon.co.uk/isapnptools/>), then you need to
	  compile the sound card support as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want)
	  and load that module after the PnP configuration is finished.  To do
	  this, say M here and read <file:Documentation/modules.txt> as well
	  as <file:Documentation/sound/README.modules>; the module will be
	  called soundcore.

	  I'm told that even without a sound card, you can make your computer
	  say more than an occasional beep, by programming the PC speaker.
	  Kernel patches and supporting utilities to do that are in the pcsp
	  package, available at <ftp://ftp.infradead.org/pub/pcsp/>.

source "sound/Kconfig"

endmenu

source "drivers/usb/Kconfig"

source "net/bluetooth/Kconfig"


menu "iSeries device drivers"
	depends on PPC_ISERIES

config VIOCONS
	tristate "iSeries Virtual Console Support"

config VIODASD
	tristate "iSeries Virtual I/O disk support"
	help
	  If you are running on an iSeries system and you want to use
 	  virtual disks created and managed by OS/400, say Y.

config VIODASD_IDE
	bool "iSeries Virtual disk IDE emulation"
	depends on VIODASD
	help
	  This causes the iSeries virtual disks to look like IDE disks.
	  If you have programs or utilities that only support certain
	  kinds of disks, this option will cause iSeries virtual disks
	  to pretend to be IDE disks, which may satisfy the program.

config VIOCD
	tristate "iSeries Virtual I/O CD support"
	help
	  If you are running Linux on an IBM iSeries system and you want to
	  read a CD drive owned by OS/400, say Y here.

config VIOCD_AZTECH
	bool "iSeries Virtual CD Aztech emulation"
	depends on VIOCD

config VIOTAPE
	tristate "iSeries Virtual Tape Support"
	help
	  If you are running Linux on an iSeries system and you want Linux
	  to read and/or write a tape drive owned by OS/400, say Y here.

config VETH
	tristate "iSeries Virtual Ethernet driver support"

endmenu

config VIOPATH
	bool
	depends on PPC_ISERIES
	default y

source "arch/ppc64/oprofile/Kconfig"

menu "Kernel hacking"

config DEBUG_KERNEL
	bool "Kernel debugging"
	help
	  Say Y here if you are developing drivers or trying to debug and
	  identify kernel problems.

config DEBUG_SLAB
	bool "Debug memory allocations"
	depends on DEBUG_KERNEL
	help
	  Say Y here to have the kernel do limited verification on memory
	  allocation as well as poisoning memory on free to catch use of freed
	  memory.

config MAGIC_SYSRQ
	bool "Magic SysRq key"
	depends on DEBUG_KERNEL
	help
	  If you say Y here, you will have some control over the system even
	  if the system crashes for example during kernel debugging (e.g., you
	  will be able to flush the buffer cache to disk, reboot the system
	  immediately or dump some status information). This is accomplished
	  by pressing various keys while holding SysRq (Alt+PrintScreen). It
	  also works on a serial console (on PC hardware at least), if you
	  send a BREAK and then within 5 seconds a command keypress. The
	  keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
	  unless you really know what this hack does.

config XMON
	bool "Include xmon kernel debugger"
	depends on DEBUG_KERNEL
	help
	  Include in-kernel hooks for the xmon kernel monitor/debugger.
	  Unless you are intending to debug the kernel, say N here.

config XMON_DEFAULT
	bool "Enable xmon by default"
	depends on XMON

config PPCDBG
	bool "Include PPCDBG realtime debugging"
	depends on DEBUG_KERNEL

endmenu

source "security/Kconfig"

source "crypto/Kconfig"

source "lib/Kconfig"