⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kconfig

📁 linux 内核源代码
💻
📖 第 1 页 / 共 4 页
字号:
	  has the cost of more pagetable lookup overhead, and also	  consumes more pagetable space per process.# Common NUMA Featuresconfig NUMA	bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)"	depends on SMP	depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT || X86_GENERICARCH) && ACPI) && EXPERIMENTAL)	default n if X86_PC	default y if (X86_NUMAQ || X86_SUMMIT)	help	  Enable NUMA (Non Uniform Memory Access) support.	  The kernel will try to allocate memory used by a CPU on the	  local memory controller of the CPU and add some more	  NUMA awareness to the kernel.	  For i386 this is currently highly experimental and should be only	  used for kernel development. It might also cause boot failures.	  For x86_64 this is recommended on all multiprocessor Opteron systems.	  If the system is EM64T, you should say N unless your system is	  EM64T NUMA.comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"	depends on X86_32 && X86_SUMMIT && (!HIGHMEM64G || !ACPI)config K8_NUMA       bool "Old style AMD Opteron NUMA detection"       depends on X86_64 && NUMA && PCI       default y       help	 Enable K8 NUMA node topology detection.  You should say Y here if	 you have a multi processor AMD K8 system. This uses an old	 method to read the NUMA configuration directly from the builtin	 Northbridge of Opteron. It is recommended to use X86_64_ACPI_NUMA	 instead, which also takes priority if both are compiled in.config X86_64_ACPI_NUMA	bool "ACPI NUMA detection"	depends on X86_64 && NUMA && ACPI && PCI	select ACPI_NUMA	default y	help	  Enable ACPI SRAT based node topology detection.config NUMA_EMU	bool "NUMA emulation"	depends on X86_64 && NUMA	help	  Enable NUMA emulation. A flat machine will be split	  into virtual nodes when booted with "numa=fake=N", where N is the	  number of nodes. This is only useful for debugging.config NODES_SHIFT	int	default "6" if X86_64	default "4" if X86_NUMAQ	default "3"	depends on NEED_MULTIPLE_NODESconfig HAVE_ARCH_BOOTMEM_NODE	bool	depends on X86_32 && NUMA	default yconfig ARCH_HAVE_MEMORY_PRESENT	bool	depends on X86_32 && DISCONTIGMEM	default yconfig NEED_NODE_MEMMAP_SIZE	bool	depends on X86_32 && (DISCONTIGMEM || SPARSEMEM)	default yconfig HAVE_ARCH_ALLOC_REMAP	bool	depends on X86_32 && NUMA	default yconfig ARCH_FLATMEM_ENABLE	def_bool y	depends on (X86_32 && ARCH_SELECT_MEMORY_MODEL && X86_PC) || (X86_64 && !NUMA)config ARCH_DISCONTIGMEM_ENABLE	def_bool y	depends on NUMAconfig ARCH_DISCONTIGMEM_DEFAULT	def_bool y	depends on NUMAconfig ARCH_SPARSEMEM_ENABLE	def_bool y	depends on NUMA || (EXPERIMENTAL && (X86_PC || X86_64))	select SPARSEMEM_STATIC if X86_32	select SPARSEMEM_VMEMMAP_ENABLE if X86_64config ARCH_SELECT_MEMORY_MODEL	def_bool y	depends on X86_32 && ARCH_SPARSEMEM_ENABLEconfig ARCH_MEMORY_PROBE	def_bool X86_64	depends on MEMORY_HOTPLUGsource "mm/Kconfig"config HIGHPTE	bool "Allocate 3rd-level pagetables from highmem"	depends on X86_32 && (HIGHMEM4G || HIGHMEM64G)	help	  The VM uses one page table entry for each page of physical memory.	  For systems with a lot of RAM, this can be wasteful of precious	  low memory.  Setting this option will put user-space page table	  entries in high memory.config MATH_EMULATION	bool	prompt "Math emulation" if X86_32	---help---	  Linux can emulate a math coprocessor (used for floating point	  operations) if you don't have one. 486DX and Pentium processors have	  a math coprocessor built in, 486SX and 386 do not, unless you added	  a 487DX or 387, respectively. (The messages during boot time can	  give you some hints here ["man dmesg"].) Everyone needs either a	  coprocessor or this emulation.	  If you don't have a math coprocessor, you need to say Y here; if you	  say Y here even though you have a coprocessor, the coprocessor will	  be used nevertheless. (This behavior can be changed with the kernel	  command line option "no387", which comes handy if your coprocessor	  is broken. Try "man bootparam" or see the documentation of your boot	  loader (lilo or loadlin) about how to pass options to the kernel at	  boot time.) This means that it is a good idea to say Y here if you	  intend to use this kernel on different machines.	  More information about the internals of the Linux math coprocessor	  emulation can be found in <file:arch/x86/math-emu/README>.	  If you are not sure, say Y; apart from resulting in a 66 KB bigger	  kernel, it won't hurt.config MTRR	bool "MTRR (Memory Type Range Register) support"	---help---	  On Intel P6 family processors (Pentium Pro, Pentium II and later)	  the Memory Type Range Registers (MTRRs) may be used to control	  processor access to memory ranges. This is most useful if you have	  a video (VGA) card on a PCI or AGP bus. Enabling write-combining	  allows bus write transfers to be combined into a larger transfer	  before bursting over the PCI/AGP bus. This can increase performance	  of image write operations 2.5 times or more. Saying Y here creates a	  /proc/mtrr file which may be used to manipulate your processor's	  MTRRs. Typically the X server should use this.	  This code has a reasonably generic interface so that similar	  control registers on other processors can be easily supported	  as well:	  The Cyrix 6x86, 6x86MX and M II processors have Address Range	  Registers (ARRs) which provide a similar functionality to MTRRs. For	  these, the ARRs are used to emulate the MTRRs.	  The AMD K6-2 (stepping 8 and above) and K6-3 processors have two	  MTRRs. The Centaur C6 (WinChip) has 8 MCRs, allowing	  write-combining. All of these processors are supported by this code	  and it makes sense to say Y here if you have one of them.	  Saying Y here also fixes a problem with buggy SMP BIOSes which only	  set the MTRRs for the boot CPU and not for the secondary CPUs. This	  can lead to all sorts of problems, so it's good to say Y here.	  You can safely say Y even if your machine doesn't have MTRRs, you'll	  just add about 9 KB to your kernel.	  See <file:Documentation/mtrr.txt> for more information.config EFI	bool "Boot from EFI support"	depends on X86_32 && ACPI	default n	---help---	This enables the kernel to boot on EFI platforms using	system configuration information passed to it from the firmware.	This also enables the kernel to use any EFI runtime services that are	available (such as the EFI variable services).	This option is only useful on systems that have EFI firmware	and will result in a kernel image that is ~8k larger.  In addition,	you must use the latest ELILO loader available at	<http://elilo.sourceforge.net> in order to take advantage of	kernel initialization using EFI information (neither GRUB nor LILO know	anything about EFI).  However, even with this option, the resultant	kernel should continue to boot on existing non-EFI platforms.config IRQBALANCE	bool "Enable kernel irq balancing"	depends on X86_32 && SMP && X86_IO_APIC	default y	help	  The default yes will allow the kernel to do irq load balancing.	  Saying no will keep the kernel from doing irq load balancing.# turning this on wastes a bunch of space.# Summit needs it only when NUMA is onconfig BOOT_IOREMAP	bool	depends on X86_32 && (((X86_SUMMIT || X86_GENERICARCH) && NUMA) || (X86 && EFI))	default yconfig SECCOMP	bool "Enable seccomp to safely compute untrusted bytecode"	depends on PROC_FS	default y	help	  This kernel feature is useful for number crunching applications	  that may need to compute untrusted bytecode during their	  execution. By using pipes or other transports made available to	  the process as file descriptors supporting the read/write	  syscalls, it's possible to isolate those applications in	  their own address space using seccomp. Once seccomp is	  enabled via /proc/<pid>/seccomp, it cannot be disabled	  and the task is only allowed to execute a few safe syscalls	  defined by each seccomp mode.	  If unsure, say Y. Only embedded should say N here.config CC_STACKPROTECTOR	bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"	depends on X86_64 && EXPERIMENTAL	help         This option turns on the -fstack-protector GCC feature. This	  feature puts, at the beginning of critical functions, a canary	  value on the stack just before the return address, and validates	  the value just before actually returning.  Stack based buffer	  overflows (that need to overwrite this return address) now also	  overwrite the canary, which gets detected and the attack is then	  neutralized via a kernel panic.	  This feature requires gcc version 4.2 or above, or a distribution	  gcc with the feature backported. Older versions are automatically	  detected and for those versions, this configuration option is ignored.config CC_STACKPROTECTOR_ALL	bool "Use stack-protector for all functions"	depends on CC_STACKPROTECTOR	help	  Normally, GCC only inserts the canary value protection for	  functions that use large-ish on-stack buffers. By enabling	  this option, GCC will be asked to do this for ALL functions.source kernel/Kconfig.hzconfig KEXEC	bool "kexec system call"	help	  kexec is a system call that implements the ability to shutdown your	  current kernel, and to start another kernel.  It is like a reboot	  but it is independent of the system firmware.   And like a reboot	  you can start any kernel with it, not just Linux.	  The name comes from the similarity to the exec system call.	  It is an ongoing process to be certain the hardware in a machine	  is properly shutdown, so do not be surprised if this code does not	  initially work for you.  It may help to enable device hotplugging	  support.  As of this writing the exact hardware interface is	  strongly in flux, so no good recommendation can be made.config CRASH_DUMP	bool "kernel crash dumps (EXPERIMENTAL)"	depends on EXPERIMENTAL	depends on X86_64 || (X86_32 && HIGHMEM)	help	  Generate crash dump after being started by kexec.	  This should be normally only set in special crash dump kernels	  which are loaded in the main kernel with kexec-tools into	  a specially reserved region and then later executed after	  a crash by kdump/kexec. The crash dump kernel must be compiled	  to a memory address not used by the main kernel or BIOS using	  PHYSICAL_START, or it must be built as a relocatable image	  (CONFIG_RELOCATABLE=y).	  For more details see Documentation/kdump/kdump.txtconfig PHYSICAL_START	hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP)	default "0x1000000" if X86_NUMAQ	default "0x200000" if X86_64	default "0x100000"	help	  This gives the physical address where the kernel is loaded.	  If kernel is a not relocatable (CONFIG_RELOCATABLE=n) then	  bzImage will decompress itself to above physical address and	  run from there. Otherwise, bzImage will run from the address where	  it has been loaded by the boot loader and will ignore above physical	  address.	  In normal kdump cases one does not have to set/change this option	  as now bzImage can be compiled as a completely relocatable image	  (CONFIG_RELOCATABLE=y) and be used to load and run from a different	  address. This option is mainly useful for the folks who don't want	  to use a bzImage for capturing the crash dump and want to use a	  vmlinux instead. vmlinux is not relocatable hence a kernel needs	  to be specifically compiled to run from a specific memory area	  (normally a reserved region) and this option comes handy.	  So if you are using bzImage for capturing the crash dump, leave	  the value here unchanged to 0x100000 and set CONFIG_RELOCATABLE=y.	  Otherwise if you plan to use vmlinux for capturing the crash dump	  change this value to start of the reserved region (Typically 16MB	  0x1000000). In other words, it can be set based on the "X" value as	  specified in the "crashkernel=YM@XM" command line boot parameter	  passed to the panic-ed kernel. Typically this parameter is set as	  crashkernel=64M@16M. Please take a look at	  Documentation/kdump/kdump.txt for more details about crash dumps.	  Usage of bzImage for capturing the crash dump is recommended as	  one does not have to build two kernels. Same kernel can be used	  as production kernel and capture kernel. Above option should have	  gone away after relocatable bzImage support is introduced. But it	  is present because there are users out there who continue to use	  vmlinux for dump capture. This option should go away down the	  line.	  Don't change this unless you know what you are doing.config RELOCATABLE	bool "Build a relocatable kernel (EXPERIMENTAL)"	depends on EXPERIMENTAL	help	  This builds a kernel image that retains relocation information	  so it can be loaded someplace besides the default 1MB.	  The relocations tend to make the kernel binary about 10% larger,	  but are discarded at runtime.	  One use is for the kexec on panic case where the recovery kernel	  must live at a different physical address than the primary	  kernel.	  Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address	  it has been loaded at and the compile time physical address	  (CONFIG_PHYSICAL_START) is ignored.config PHYSICAL_ALIGN	hex	prompt "Alignment value to which kernel should be aligned" if X86_32	default "0x100000" if X86_32	default "0x200000" if X86_64	range 0x2000 0x400000	help	  This value puts the alignment restrictions on physical address	  where kernel is loaded and run from. Kernel is compiled for an	  address which meets above alignment restriction.	  If bootloader loads the kernel at a non-aligned address and	  CONFIG_RELOCATABLE is set, kernel will move itself to nearest	  address aligned to above value and run from there.	  If bootloader loads the kernel at a non-aligned address and	  CONFIG_RELOCATABLE is not set, kernel will ignore the run time	  load address and decompress itself to the address it has been	  compiled for and run from there. The address for which kernel is	  compiled already meets above alignment restrictions. Hence the	  end result is that kernel runs from a physical address meeting	  above alignment restrictions.	  Don't change this unless you know what you are doing.config HOTPLUG_CPU	bool "Support for suspend on SMP and hot-pluggable CPUs (EXPERIMENTAL)"	depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER	---help---	  Say Y here to experiment with turning CPUs off and on, and to	  enable suspend on SMP systems. CPUs can be controlled through	  /sys/devices/system/cpu.	  Say N if you want to disable CPU hotplug and don't need to	  suspend.config COMPAT_VDSO	bool "Compat VDSO support"	default y	depends on X86_32	help	  Map the VDSO to the predictable old-style address too.	---help---	  Say N here if you are running a sufficiently recent glibc	  version (2.3.3 or later), to remove the high-mapped	  VDSO mapping and to exclusively use the randomized VDSO.	  If unsure, say Y.endmenuconfig ARCH_ENABLE_MEMORY_HOTPLUG	def_bool y	depends on X86_64 || (X86_32 && HIGHMEM)config MEMORY_HOTPLUG_RESERVE	def_bool X86_64	depends on (MEMORY_HOTPLUG && DISCONTIGMEM)config HAVE_ARCH_EARLY_PFN_TO_NID	def_bool X86_64	depends on NUMAconfig OUT_OF_LINE_PFN_TO_PAGE

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -