URL
https://opencores.org/ocsvn/test_project/test_project/trunk
Subversion Repositories test_project
[/] [test_project/] [trunk/] [linux_sd_driver/] [init/] [Kconfig] - Rev 62
Compare with Previous | Blame | View Log
config DEFCONFIG_LISTstringdepends on !UMLoption defconfig_listdefault "/lib/modules/$UNAME_RELEASE/.config"default "/etc/kernel-config"default "/boot/config-$UNAME_RELEASE"default "arch/$ARCH/defconfig"menu "General setup"config EXPERIMENTALbool "Prompt for development and/or incomplete code/drivers"---help---Some of the various things that Linux supports (such as networkdrivers, file systems, network protocols, etc.) can be in a stateof development where the functionality, stability, or the level oftesting is not yet high enough for general use. This is usuallyknown as the "alpha-test" phase among developers. If a feature iscurrently in alpha-test, then the developers usually discourageuninformed widespread use of this feature by the general public toavoid "Why doesn't this work?" type mail messages. However, activetesting and use of these systems is welcomed. Just be aware that itmay not meet the normal level of reliability or it may fail to workin some special cases. Detailed bug reports from people familiarwith the kernel internals are usually welcomed by the developers(before submitting bug reports, please read the documents<file:README>, <file:MAINTAINERS>, <file:REPORTING-BUGS>,<file:Documentation/BUG-HUNTING>, and<file:Documentation/oops-tracing.txt> in the kernel source).This option will also make obsoleted drivers available. These aredrivers that have been replaced by something else, and/or arescheduled to be removed in a future kernel release.Unless you intend to help test and develop a feature or driver thatfalls into this category, or you have a situation that requiresusing these features, you should probably say N here, which willcause the configurator to present you with fewer choices. Ifyou say Y here, you will be offered the choice of using features ordrivers that are currently considered to be in the alpha-test phase.config BROKENboolconfig BROKEN_ON_SMPbooldepends on BROKEN || !SMPdefault yconfig LOCK_KERNELbooldepends on SMP || PREEMPTdefault yconfig INIT_ENV_ARG_LIMITintdefault 32 if !UMLdefault 128 if UMLhelpMaximum of each of the number of arguments and environmentvariables passed to init from the kernel command line.config LOCALVERSIONstring "Local version - append to kernel release"helpAppend an extra string to the end of your kernel version.This will show up when you type uname, for example.The string you set here will be appended after the contents ofany files with a filename matching localversion* in yourobject and source tree, in that order. Your total string canbe a maximum of 64 characters.config LOCALVERSION_AUTObool "Automatically append version information to the version string"default yhelpThis will try to automatically determine if the current tree is arelease tree by looking for git tags that belong to the currenttop of tree revision.A string of the format -gxxxxxxxx will be added to the localversionif a git-based tree is found. The string generated by this will beappended after any matching localversion* files, and after the valueset in CONFIG_LOCALVERSION.(The actual string used here is the first eight characters producedby running the command:$ git rev-parse --verify HEADwhich is done within the script "scripts/setlocalversion".)config SWAPbool "Support for paging of anonymous memory (swap)"depends on MMU && BLOCKdefault yhelpThis option allows you to choose whether you want to have supportfor so called swap devices or swap files in your kernel that areused to provide more virtual memory than the actual RAM presentin your computer. If unsure say Y.config SYSVIPCbool "System V IPC"---help---Inter Process Communication is a suite of library functions andsystem calls which let processes (running programs) synchronize andexchange information. It is generally considered to be a good thing,and some programs won't run unless you say Y here. In particular, ifyou want to run the DOS emulator dosemu under Linux (read theDOSEMU-HOWTO, available from <http://www.tldp.org/docs.html#howto>),you'll need to say Y here.You can find documentation about IPC with "info ipc" and also insection 6.4 of the Linux Programmer's Guide, available from<http://www.tldp.org/guides.html>.config SYSVIPC_SYSCTLbooldepends on SYSVIPCdepends on SYSCTLdefault yconfig POSIX_MQUEUEbool "POSIX Message Queues"depends on NET && EXPERIMENTAL---help---POSIX variant of message queues is a part of IPC. In POSIX messagequeues every message has a priority which decides about successionof receiving it by a process. If you want to compile and runprograms written e.g. for Solaris with use of its POSIX messagequeues (functions mq_*) say Y here.POSIX message queues are visible as a filesystem called 'mqueue'and can be mounted somewhere if you want to do filesystemoperations on message queues.If unsure, say Y.config BSD_PROCESS_ACCTbool "BSD Process Accounting"helpIf you say Y here, a user level program will be able to instruct thekernel (via a special system call) to write process accountinginformation to a file: whenever a process exits, information aboutthat process will be appended to the file by the kernel. Theinformation includes things such as creation time, owning user,command name, memory usage, controlling terminal etc. (the completelist is in the struct acct in <file:include/linux/acct.h>). It isup to the user level program to do useful things with thisinformation. This is generally a good idea, so say Y.config BSD_PROCESS_ACCT_V3bool "BSD Process Accounting version 3 file format"depends on BSD_PROCESS_ACCTdefault nhelpIf you say Y here, the process accounting information is writtenin a new file format that also logs the process IDs of eachprocess and it's parent. Note that this file format is incompatiblewith previous v0/v1/v2 file formats, so you will need updated toolsfor processing it. A preliminary version of these tools is availableat <http://www.physik3.uni-rostock.de/tim/kernel/utils/acct/>.config TASKSTATSbool "Export task/process statistics through netlink (EXPERIMENTAL)"depends on NETdefault nhelpExport selected statistics for tasks/processes through thegeneric netlink interface. Unlike BSD process accounting, thestatistics are available during the lifetime of tasks/processes asresponses to commands. Like BSD accounting, they are sent to userspace on task exit.Say N if unsure.config TASK_DELAY_ACCTbool "Enable per-task delay accounting (EXPERIMENTAL)"depends on TASKSTATShelpCollect information on time spent by a task waiting for systemresources like cpu, synchronous block I/O completion and swappingin pages. Such statistics can help in setting a task's prioritiesrelative to other tasks for cpu, io, rss limits etc.Say N if unsure.config TASK_XACCTbool "Enable extended accounting over taskstats (EXPERIMENTAL)"depends on TASKSTATShelpCollect extended task accounting data and send the datato userland for processing over the taskstats interface.Say N if unsure.config TASK_IO_ACCOUNTINGbool "Enable per-task storage I/O accounting (EXPERIMENTAL)"depends on TASK_XACCThelpCollect information on the number of bytes of storage I/O which thistask has caused.Say N if unsure.config USER_NSbool "User Namespaces (EXPERIMENTAL)"default ndepends on EXPERIMENTALhelpSupport user namespaces. This allows containers, i.e.vservers, to use user namespaces to provide differentuser info for different servers. If unsure, say N.config PID_NSbool "PID Namespaces (EXPERIMENTAL)"default ndepends on EXPERIMENTALhelpSuport process id namespaces. This allows having multipleprocess with the same pid as long as they are in differentpid namespaces. This is a building block of containers.Unless you want to work with an experimental featuresay N here.config AUDITbool "Auditing support"depends on NEThelpEnable auditing infrastructure that can be used with anotherkernel subsystem, such as SELinux (which requires this forlogging of avc messages output). Does not do system-callauditing without CONFIG_AUDITSYSCALL.config AUDITSYSCALLbool "Enable system-call auditing support"depends on AUDIT && (X86 || PPC || PPC64 || S390 || IA64 || UML || SPARC64)default y if SECURITY_SELINUXhelpEnable low-overhead system-call auditing infrastructure thatcan be used independently or with another kernel subsystem,such as SELinux. To use audit's filesystem watch feature, pleaseensure that INOTIFY is configured.config AUDIT_TREEdef_bool ydepends on AUDITSYSCALL && INOTIFYconfig IKCONFIGtristate "Kernel .config support"---help---This option enables the complete Linux kernel ".config" filecontents to be saved in the kernel. It provides documentationof which kernel options are used in a running kernel or in anon-disk kernel. This information can be extracted from the kernelimage file with the script scripts/extract-ikconfig and used asinput to rebuild the current kernel or to build another kernel.It can also be extracted from a running kernel by reading/proc/config.gz if enabled (below).config IKCONFIG_PROCbool "Enable access to .config through /proc/config.gz"depends on IKCONFIG && PROC_FS---help---This option enables access to the kernel configuration filethrough /proc/config.gz.config LOG_BUF_SHIFTint "Kernel log buffer size (16 => 64KB, 17 => 128KB)"range 12 21default 17 if S390 || LOCKDEPdefault 16 if X86_NUMAQ || IA64default 15 if SMPdefault 14helpSelect kernel log buffer size as a power of 2.Defaults and Examples:17 => 128 KB for S/39016 => 64 KB for x86 NUMAQ or IA-6415 => 32 KB for SMP14 => 16 KB for uniprocessor13 => 8 KB12 => 4 KBconfig CGROUPSbool "Control Group support"helpThis option will let you use process cgroup subsystemssuch as CpusetsSay N if unsure.config CGROUP_DEBUGbool "Example debug cgroup subsystem"depends on CGROUPShelpThis option enables a simple cgroup subsystem thatexports useful debugging information about the cgroupsframeworkSay N if unsureconfig CGROUP_NSbool "Namespace cgroup subsystem"depends on CGROUPShelpProvides a simple namespace cgroup subsystem toprovide hierarchical naming of sets of namespaces,for instance virtual servers and checkpoint/restartjobs.config CPUSETSbool "Cpuset support"depends on SMP && CGROUPShelpThis option will let you create and manage CPUSETs whichallow dynamically partitioning a system into sets of CPUs andMemory Nodes and assigning tasks to run only within those sets.This is primarily useful on large SMP or NUMA systems.Say N if unsure.config FAIR_GROUP_SCHEDbool "Fair group CPU scheduler"default yhelpThis feature lets CPU scheduler recognize task groups and control CPUbandwidth allocation to such task groups.choicedepends on FAIR_GROUP_SCHEDprompt "Basis for grouping tasks"default FAIR_USER_SCHEDconfig FAIR_USER_SCHEDbool "user id"helpThis option will choose userid as the basis for groupingtasks, thus providing equal CPU bandwidth to each user.config FAIR_CGROUP_SCHEDbool "Control groups"depends on CGROUPShelpThis option allows you to create arbitrary task groupsusing the "cgroup" pseudo filesystem and controlthe cpu bandwidth allocated to each such task group.Refer to Documentation/cgroups.txt for more informationon "cgroup" pseudo filesystem.endchoiceconfig CGROUP_CPUACCTbool "Simple CPU accounting cgroup subsystem"depends on CGROUPShelpProvides a simple Resource Controller for monitoring thetotal CPU consumed by the tasks in a cgroupconfig SYSFS_DEPRECATEDbool "Create deprecated sysfs files"default yhelpThis option creates deprecated symlinks such as the"device"-link, the <subsystem>:<name>-link, and the"bus"-link. It may also add deprecated key in theuevent environment.None of these features or values should be used today, asthey export driver core implementation details to userspaceor export properties which can't be kept stable across kernelreleases.If enabled, this option will also move any device structuresthat belong to a class, back into the /sys/class hierarchy, inorder to support older versions of udev.If you are using a distro that was released in 2006 or later,it should be safe to say N here.config PROC_PID_CPUSETbool "Include legacy /proc/<pid>/cpuset file"depends on CPUSETSdefault yconfig RELAYbool "Kernel->user space relay support (formerly relayfs)"helpThis option enables support for relay interface support incertain file systems (such as debugfs).It is designed to provide an efficient mechanism for tools andfacilities to relay large amounts of data from kernel space touser space.If unsure, say N.config BLK_DEV_INITRDbool "Initial RAM filesystem and RAM disk (initramfs/initrd) support"depends on BROKEN || !FRVhelpThe initial RAM filesystem is a ramfs which is loaded by theboot loader (loadlin or lilo) and that is mounted as rootbefore the normal boot procedure. It is typically used toload modules needed to mount the "real" root file system,etc. See <file:Documentation/initrd.txt> for details.If RAM disk support (BLK_DEV_RAM) is also included, thisalso enables initial RAM disk (initrd) support and adds15 Kbytes (more on some other architectures) to the kernel size.If unsure say Y.if BLK_DEV_INITRDsource "usr/Kconfig"endifconfig CC_OPTIMIZE_FOR_SIZEbool "Optimize for size (Look out for broken compilers!)"default ydepends on ARM || H8300 || SUPERH || EXPERIMENTALhelpEnabling this option will pass "-Os" instead of "-O2" to gccresulting in a smaller kernel.WARNING: some versions of gcc may generate incorrect code with thisoption. If problems are observed, a gcc upgrade may be needed.If unsure, say N.config SYSCTLboolmenuconfig EMBEDDEDbool "Configure standard kernel features (for small systems)"helpThis option allows certain base kernel options and settingsto be disabled or tweaked. This is for specializedenvironments which can tolerate a "non-standard" kernel.Only use this if you really know what you are doing.config UID16bool "Enable 16-bit UID system calls" if EMBEDDEDdepends on ARM || BLACKFIN || CRIS || FRV || H8300 || X86_32 || M68K || (S390 && !64BIT) || SUPERH || SPARC32 || (SPARC64 && SPARC32_COMPAT) || UML || (X86_64 && IA32_EMULATION)default yhelpThis enables the legacy 16-bit UID syscall wrappers.config SYSCTL_SYSCALLbool "Sysctl syscall support" if EMBEDDEDdefault yselect SYSCTL---help---sys_sysctl uses binary paths that have been found challengingto properly maintain and use. The interface in /proc/sysusing paths with ascii names is now the primary path to thisinformation.Almost nothing using the binary sysctl interface so if you aretrying to save some space it is probably safe to disable this,making your kernel marginally smaller.If unsure say Y here.config KALLSYMSbool "Load all symbols for debugging/ksymoops" if EMBEDDEDdefault yhelpSay Y here to let the kernel print out symbolic crash information andsymbolic stack backtraces. This increases the size of the kernelsomewhat, as all symbols have to be loaded into the kernel image.config KALLSYMS_ALLbool "Include all symbols in kallsyms"depends on DEBUG_KERNEL && KALLSYMShelpNormally kallsyms only contains the symbols of functions, for nicerOOPS messages. Some debuggers can use kallsyms for othersymbols too: say Y here to include all symbols, if you need themand you don't care about adding 300k to the size of your kernel.Say N.config KALLSYMS_EXTRA_PASSbool "Do an extra kallsyms pass"depends on KALLSYMShelpIf kallsyms is not working correctly, the build will fail withinconsistent kallsyms data. If that occurs, log a bug report andturn on KALLSYMS_EXTRA_PASS which should result in a stable build.Always say N here unless you find a bug in kallsyms, which must bereported. KALLSYMS_EXTRA_PASS is only a temporary workaround whileyou wait for kallsyms to be fixed.config HOTPLUGbool "Support for hot-pluggable devices" if EMBEDDEDdefault yhelpThis option is provided for the case where no hotplug or ueventcapabilities is wanted by the kernel. You should only considerdisabling this option for embedded systems that do not use modules, adynamic /dev tree, or dynamic device discovery. Just say Y.config PRINTKdefault ybool "Enable support for printk" if EMBEDDEDhelpThis option enables normal printk support. Removing iteliminates most of the message strings from the kernel imageand makes the kernel more or less silent. As this makes itvery difficult to diagnose system problems, saying N here isstrongly discouraged.config BUGbool "BUG() support" if EMBEDDEDdefault yhelpDisabling this option eliminates support for BUG and WARN, reducingthe size of your kernel image and potentially quietly ignoringnumerous fatal conditions. You should only consider disabling thisoption for embedded systems with no facilities for reporting errors.Just say Y.config ELF_COREdefault ybool "Enable ELF core dumps" if EMBEDDEDhelpEnable support for generating core dumps. Disabling saves about 4k.config BASE_FULLdefault ybool "Enable full-sized data structures for core" if EMBEDDEDhelpDisabling this option reduces the size of miscellaneous corekernel data structures. This saves memory on small machines,but may reduce performance.config FUTEXbool "Enable futex support" if EMBEDDEDdefault yselect RT_MUTEXEShelpDisabling this option will cause the kernel to be built withoutsupport for "fast userspace mutexes". The resulting kernel may notrun glibc-based applications correctly.config ANON_INODESboolconfig EPOLLbool "Enable eventpoll support" if EMBEDDEDdefault yselect ANON_INODEShelpDisabling this option will cause the kernel to be built withoutsupport for epoll family of system calls.config SIGNALFDbool "Enable signalfd() system call" if EMBEDDEDselect ANON_INODESdefault yhelpEnable the signalfd() system call that allows to receive signalson a file descriptor.If unsure, say Y.config TIMERFDbool "Enable timerfd() system call" if EMBEDDEDselect ANON_INODESdepends on BROKENdefault yhelpEnable the timerfd() system call that allows to receive timerevents on a file descriptor.If unsure, say Y.config EVENTFDbool "Enable eventfd() system call" if EMBEDDEDselect ANON_INODESdefault yhelpEnable the eventfd() system call that allows to receive bothkernel notification (ie. KAIO) or userspace notifications.If unsure, say Y.config SHMEMbool "Use full shmem filesystem" if EMBEDDEDdefault ydepends on MMUhelpThe shmem is an internal filesystem used to manage shared memory.It is backed by swap and manages resource limits. It is also exportedto userspace as tmpfs if TMPFS is enabled. Disabling thisoption replaces shmem and tmpfs with the much simpler ramfs code,which may be appropriate on small systems without swap.config VM_EVENT_COUNTERSdefault ybool "Enable VM event counters for /proc/vmstat" if EMBEDDEDhelpVM event counters are needed for event counts to be shown.This option allows the disabling of the VM event counterson EMBEDDED systems. /proc/vmstat will only show page countsif VM event counters are disabled.config SLUB_DEBUGdefault ybool "Enable SLUB debugging support" if EMBEDDEDdepends on SLUBhelpSLUB has extensive debug support features. Disabling these canresult in significant savings in code size. This also disablesSLUB sysfs support. /sys/slab will not exist and there will beno support for cache validation etc.choiceprompt "Choose SLAB allocator"default SLUBhelpThis option allows to select a slab allocator.config SLABbool "SLAB"helpThe regular slab allocator that is established and known to workwell in all environments. It organizes cache hot objects inper cpu and per node queues. SLAB is the default choice fora slab allocator.config SLUBbool "SLUB (Unqueued Allocator)"helpSLUB is a slab allocator that minimizes cache line usageinstead of managing queues of cached objects (SLAB approach).Per cpu caching is realized using slabs of objects insteadof queues of objects. SLUB can use memory efficientlyand has enhanced diagnostics.config SLOBdepends on EMBEDDEDbool "SLOB (Simple Allocator)"helpSLOB replaces the SLAB allocator with a drastically simplerallocator. SLOB is more space efficient than SLAB but does notscale well (single lock for all operations) and is also highlysusceptible to fragmentation. SLUB can accomplish a higher objectdensity. It is usually better to use SLUB instead of SLOB.endchoiceendmenu # General setupconfig SLABINFObooldepends on PROC_FSdepends on SLAB || SLUBdefault yconfig RT_MUTEXESbooleanselect PLISTconfig TINY_SHMEMdefault !SHMEMboolconfig BASE_SMALLintdefault 0 if BASE_FULLdefault 1 if !BASE_FULLmenuconfig MODULESbool "Enable loadable module support"helpKernel modules are small pieces of compiled code which canbe inserted in the running kernel, rather than beingpermanently built into the kernel. You use the "modprobe"tool to add (and sometimes remove) them. If you say Y here,many parts of the kernel can be built as modules (byanswering M instead of Y where indicated): this is mostuseful for infrequently used options which are not requiredfor booting. For more information, see the man pages formodprobe, lsmod, modinfo, insmod and rmmod.If you say Y here, you will need to run "makemodules_install" to put the modules under /lib/modules/where modprobe can find them (you may need to be root to dothis).If unsure, say Y.config MODULE_UNLOADbool "Module unloading"depends on MODULEShelpWithout this option you will not be able to unload anymodules (note that some modules may not be unloadableanyway), which makes your kernel slightly smaller andsimpler. If unsure, say Y.config MODULE_FORCE_UNLOADbool "Forced module unloading"depends on MODULE_UNLOAD && EXPERIMENTALhelpThis option allows you to force a module to unload, even if thekernel believes it is unsafe: the kernel will remove the modulewithout waiting for anyone to stop using it (using the -f option tormmod). This is mainly for kernel developers and desperate users.If unsure, say N.config MODVERSIONSbool "Module versioning support"depends on MODULEShelpUsually, you have to use modules compiled with your kernel.Saying Y here makes it sometimes possible to use modulescompiled for different kernels, by adding enough informationto the modules to (hopefully) spot any changes which wouldmake them incompatible with the kernel you are running. Ifunsure, say N.config MODULE_SRCVERSION_ALLbool "Source checksum for all modules"depends on MODULEShelpModules which contain a MODULE_VERSION get an extra "srcversion"field inserted into their modinfo section, which contains asum of the source files which made it. This helps maintainerssee exactly which source was used to build a module (sinceothers sometimes change the module source without updatingthe version). With this option, such a "srcversion" fieldwill be created for all modules. If unsure, say N.config KMODbool "Automatic kernel module loading"depends on MODULEShelpNormally when you have selected some parts of the kernel tobe created as kernel modules, you must load them (using the"modprobe" command) before you can use them. If you say Yhere, some parts of the kernel will be able to load modulesautomatically: when a part of the kernel needs a module, itruns modprobe with the appropriate arguments, therebyloading the module if it is available. If unsure, say Y.config STOP_MACHINEbooldefault ydepends on (SMP && MODULE_UNLOAD) || HOTPLUG_CPUhelpNeed stop_machine() primitive.source "block/Kconfig"config PREEMPT_NOTIFIERSbool
