# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.txt.
config [31mCONFIG_TILE[0m
def_bool y
select [31mCONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED[0m
select [31mCONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG[0m
select [31mCONFIG_ARCH_WANT_FRAME_POINTERS[0m
select [31mCONFIG_CC_OPTIMIZE_FOR_SIZE[0m
select [31mCONFIG_EDAC_SUPPORT[0m
select [31mCONFIG_GENERIC_CLOCKEVENTS[0m
select [31mCONFIG_GENERIC_FIND_FIRST_BIT[0m
select [31mCONFIG_GENERIC_IRQ_PROBE[0m
select [31mCONFIG_GENERIC_IRQ_SHOW[0m
select [31mCONFIG_GENERIC_PENDING_IRQ[0m if [31mCONFIG_SMP[0m
select [31mCONFIG_GENERIC_STRNCPY_FROM_USER[0m
select [31mCONFIG_GENERIC_STRNLEN_USER[0m
select [31mCONFIG_HAVE_ARCH_SECCOMP_FILTER[0m
select [31mCONFIG_HAVE_ARCH_TRACEHOOK[0m
select [31mCONFIG_HAVE_CONTEXT_TRACKING[0m
select [31mCONFIG_HAVE_DEBUG_BUGVERBOSE[0m
select [31mCONFIG_HAVE_DEBUG_KMEMLEAK[0m
select [31mCONFIG_HAVE_DEBUG_STACKOVERFLOW[0m
select [31mCONFIG_HAVE_DMA_API_DEBUG[0m
select [31mCONFIG_HAVE_EXIT_THREAD[0m
select [31mCONFIG_HAVE_KVM[0m if ![31mCONFIG_TILEGX[0m
select [31mCONFIG_HAVE_NMI[0m if [31mCONFIG_USE_PMC[0m
select [31mCONFIG_HAVE_PERF_EVENTS[0m
select [31mCONFIG_HAVE_SYSCALL_TRACEPOINTS[0m
select [31mCONFIG_MODULES_USE_ELF_RELA[0m
select [31mCONFIG_SYSCTL_EXCEPTION_TRACE[0m
select [31mCONFIG_SYS_HYPERVISOR[0m
select [31mCONFIG_USER_STACKTRACE_SUPPORT[0m
select [31mCONFIG_USE_PMC[0m if [31mCONFIG_PERF_EVENTS[0m
select [31mCONFIG_VIRT_TO_BUS[0m
config [31mCONFIG_MMU[0m
def_bool y
config [31mCONFIG_GENERIC_CSUM[0m
def_bool y
config [31mCONFIG_HAVE_ARCH_ALLOC_REMAP[0m
def_bool y
config [31mCONFIG_HAVE_SETUP_PER_CPU_AREA[0m
def_bool y
config [31mCONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK[0m
def_bool y
config [31mCONFIG_SYS_SUPPORTS_HUGETLBFS[0m
def_bool y
# Support for additional huge page sizes besides HPAGE_SIZE.
# The software support is currently only present in the [31mCONFIG_TILE[0m-Gx
# hypervisor. TILEPro in any case does not support page sizes
# larger than the default HPAGE_SIZE.
config [31mCONFIG_HUGETLB_SUPER_PAGES[0m
depends on [31mCONFIG_HUGETLB_PAGE[0m && [31mCONFIG_TILEGX[0m
def_bool y
config [31mCONFIG_GENERIC_TIME_VSYSCALL[0m
def_bool y
# Enable PMC if [31mCONFIG_PERF_EVENTS[0m, [31mCONFIG_OPROFILE[0m, or WATCHPOINTS are enabled.
config [31mCONFIG_USE_PMC[0m
bool
# FIXME: tilegx can implement a more efficient rwsem.
config [31mCONFIG_RWSEM_GENERIC_SPINLOCK[0m
def_bool y
# We only support gcc 4.4 and above, so this should work.
config [31mCONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING[0m
def_bool y
config [31mCONFIG_ARCH_PHYS_ADDR_T_64BIT[0m
def_bool y
config [31mCONFIG_ARCH_DMA_ADDR_T_64BIT[0m
def_bool y
config [31mCONFIG_NEED_DMA_MAP_STATE[0m
def_bool y
config [31mCONFIG_ARCH_HAS_DMA_SET_COHERENT_MASK[0m
bool
config [31mCONFIG_LOCKDEP_SUPPORT[0m
def_bool y
config [31mCONFIG_STACKTRACE_SUPPORT[0m
def_bool y
select [31mCONFIG_STACKTRACE[0m
# We use discontigmem for now; at some point we may want to switch
# to sparsemem (Tilera bug 7996).
config [31mCONFIG_ARCH_DISCONTIGMEM_ENABLE[0m
def_bool y
config [31mCONFIG_ARCH_DISCONTIGMEM_DEFAULT[0m
def_bool y
config [31mCONFIG_TRACE_IRQFLAGS_SUPPORT[0m
def_bool y
# [31mCONFIG_SMP[0m is required for Tilera Linux.
config [31mCONFIG_SMP[0m
def_bool y
config [31mCONFIG_HVC_TILE[0m
depends on [31mCONFIG_TTY[0m
select [31mCONFIG_HVC_DRIVER[0m
select [31mCONFIG_HVC_IRQ[0m if [31mCONFIG_TILEGX[0m
def_bool y
# Building with [31mCONFIG_ARCH[0m=tilegx (or [31mCONFIG_ARCH[0m=tile) implies using the
# 64-bit [31mCONFIG_TILE[0m-Gx toolchain, so force CONFIG_TILEGX on.
config [31mCONFIG_TILEGX[0m
def_bool [31mCONFIG_ARCH[0m != "tilepro"
select [31mCONFIG_ARCH_SUPPORTS_ATOMIC_RMW[0m
select [31mCONFIG_GENERIC_IRQ_LEGACY_ALLOC_HWIRQ[0m
select [31mCONFIG_HAVE_ARCH_JUMP_LABEL[0m
select [31mCONFIG_HAVE_ARCH_KGDB[0m
select [31mCONFIG_HAVE_DYNAMIC_FTRACE[0m
select [31mCONFIG_HAVE_FTRACE_MCOUNT_RECORD[0m
select [31mCONFIG_HAVE_FUNCTION_GRAPH_TRACER[0m
select [31mCONFIG_HAVE_FUNCTION_TRACER[0m
select [31mCONFIG_HAVE_KPROBES[0m
select [31mCONFIG_HAVE_KRETPROBES[0m
select [31mCONFIG_SPARSE_IRQ[0m
config [31mCONFIG_TILEPRO[0m
def_bool ![31mCONFIG_TILEGX[0m
config [31mCONFIG_64BIT[0m
def_bool [31mCONFIG_TILEGX[0m
config [31mCONFIG_ARCH_DEFCONFIG[0m
string
default "arch/tile/configs/tilepro_defconfig" if ![31mCONFIG_TILEGX[0m
default "arch/tile/configs/tilegx_defconfig" if [31mCONFIG_TILEGX[0m
config [31mCONFIG_PGTABLE_LEVELS[0m
int
default 3 if [31mCONFIG_64BIT[0m
default 2
source "init/Kconfig"
source "kernel/Kconfig.freezer"
menu "Tilera-specific configuration"
config [31mCONFIG_NR_CPUS[0m
int "Maximum number of tiles (2-255)"
range 2 255
depends on [31mCONFIG_SMP[0m
default "64"
---help---
Building with 64 is the recommended value, but a slightly
smaller kernel memory footprint results from using a smaller
value on chips with fewer tiles.
choice
prompt "Kernel page size"
default [31mCONFIG_PAGE_SIZE_64KB[0m
help
This lets you select the page size of the kernel. For best
performance on memory-intensive applications, a page size of 64KB
is recommended. For workloads involving many small files, many
connections, etc., it may be better to select 16KB, which uses
memory more efficiently at some cost in TLB performance.
Note that for TILEPro, you must also rebuild the hypervisor
with a matching page size.
config [31mCONFIG_PAGE_SIZE_4KB[0m
bool "4KB" if [31mCONFIG_TILEPRO[0m
config [31mCONFIG_PAGE_SIZE_16KB[0m
bool "16KB"
config [31mCONFIG_PAGE_SIZE_64KB[0m
bool "64KB"
endchoice
source "kernel/Kconfig.hz"
config [31mCONFIG_KEXEC[0m
bool "kexec system call"
select [31mCONFIG_KEXEC_CORE[0m
---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. It is used
to implement the "mboot" Tilera booter.
The name comes from the similarity to the exec system call.
config [31mCONFIG_COMPAT[0m
bool "Support 32-bit TILE-Gx binaries in addition to 64-bit"
depends on [31mCONFIG_TILEGX[0m
select [31mCONFIG_COMPAT_BINFMT_ELF[0m
default y
---help---
If enabled, the kernel will support running [31mCONFIG_TILE[0m-Gx binaries
that were built with the -m32 option.
config [31mCONFIG_SECCOMP[0m
bool "Enable seccomp to safely compute untrusted bytecode"
depends on [31mCONFIG_PROC_FS[0m
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 prctl, it cannot be disabled and the task is only
allowed to execute a few safe syscalls defined by each seccomp
mode.
If unsure, say N.
config [31mCONFIG_SYSVIPC_COMPAT[0m
def_bool y
depends on [31mCONFIG_COMPAT[0m && [31mCONFIG_SYSVIPC[0m
# We do not currently support disabling [31mCONFIG_HIGHMEM[0m on tilepro.
config [31mCONFIG_HIGHMEM[0m
bool # "Support for more than 512 MB of RAM"
default ![31mCONFIG_TILEGX[0m
---help---
Linux can use the full amount of RAM in the system by
default. However, the address space of [31mCONFIG_TILE[0m processors is
only 4 Gigabytes large. That means that, if you have a large
amount of physical memory, not all of it can be "permanently
mapped" by the kernel. The physical memory that's not
permanently mapped is called "high memory".
If you are compiling a kernel which will never run on a
machine with more than 512 MB total physical RAM, answer
"false" here. This will result in the kernel mapping all of
physical memory into the top 1 GB of virtual memory space.
If unsure, say "true".
config [31mCONFIG_ZONE_DMA[0m
def_bool y
config [31mCONFIG_IOMMU_HELPER[0m
bool
config [31mCONFIG_NEED_SG_DMA_LENGTH[0m
bool
config [31mCONFIG_SWIOTLB[0m
bool
default [31mCONFIG_TILEGX[0m
select [31mCONFIG_IOMMU_HELPER[0m
select [31mCONFIG_NEED_SG_DMA_LENGTH[0m
select [31mCONFIG_ARCH_HAS_DMA_SET_COHERENT_MASK[0m
# We do not currently support disabling [31mCONFIG_NUMA[0m.
config [31mCONFIG_NUMA[0m
bool # "NUMA Memory Allocation and Scheduler Support"
depends on [31mCONFIG_SMP[0m && [31mCONFIG_DISCONTIGMEM[0m
default y
---help---
[31mCONFIG_NUMA[0m memory allocation is required for [31mCONFIG_TILE[0m processors
unless booting with memory striping enabled in the
hypervisor, or with only a single memory controller.
It is recommended that this option always be enabled.
config [31mCONFIG_NODES_SHIFT[0m
int "Log base 2 of the max number of memory controllers"
default 2
depends on [31mCONFIG_NEED_MULTIPLE_NODES[0m
---help---
By default, 2, i.e. 2^2 == 4 DDR2 controllers.
In a system with more controllers, this value should be raised.
choice
depends on ![31mCONFIG_TILEGX[0m
prompt "Memory split" if [31mCONFIG_EXPERT[0m
default [31mCONFIG_VMSPLIT_3G[0m
---help---
Select the desired split between kernel and user memory.
If the address range available to the kernel is less than the
physical memory installed, the remaining memory will be available
as "high memory". Accessing high memory is a little more costly
than low memory, as it needs to be mapped into the kernel first.
Note that increasing the kernel address space limits the range
available to user programs, making the address space there
tighter. Selecting anything other than the default 3G/1G split
will also likely make your kernel incompatible with binary-only
kernel modules.
If you are not absolutely sure what you are doing, leave this
option alone!
config [31mCONFIG_VMSPLIT_3_75G[0m
bool "3.75G/0.25G user/kernel split (no kernel networking)"
config [31mCONFIG_VMSPLIT_3_5G[0m
bool "3.5G/0.5G user/kernel split"
config [31mCONFIG_VMSPLIT_3G[0m
bool "3G/1G user/kernel split"
config [31mCONFIG_VMSPLIT_2_75G[0m
bool "2.75G/1.25G user/kernel split (for full 1G low memory)"
config [31mCONFIG_VMSPLIT_2_5G[0m
bool "2.5G/1.5G user/kernel split"
config [31mCONFIG_VMSPLIT_2_25G[0m
bool "2.25G/1.75G user/kernel split"
config [31mCONFIG_VMSPLIT_2G[0m
bool "2G/2G user/kernel split"
config [31mCONFIG_VMSPLIT_1G[0m
bool "1G/3G user/kernel split"
endchoice
config [31mCONFIG_PAGE_OFFSET[0m
hex
depends on ![31mCONFIG_64BIT[0m
default 0xF0000000 if [31mCONFIG_VMSPLIT_3_75G[0m
default 0xE0000000 if [31mCONFIG_VMSPLIT_3_5G[0m
default 0xB0000000 if [31mCONFIG_VMSPLIT_2_75G[0m
default 0xA0000000 if [31mCONFIG_VMSPLIT_2_5G[0m
default 0x90000000 if [31mCONFIG_VMSPLIT_2_25G[0m
default 0x80000000 if [31mCONFIG_VMSPLIT_2G[0m
default 0x40000000 if [31mCONFIG_VMSPLIT_1G[0m
default 0xC0000000
source "mm/Kconfig"
source "kernel/Kconfig.preempt"
config [31mCONFIG_CMDLINE_BOOL[0m
bool "Built-in kernel command line"
default n
---help---
Allow for specifying boot arguments to the kernel at
build time. On some systems (e.g. embedded ones), it is
necessary or convenient to provide some or all of the
kernel boot arguments with the kernel itself (that is,
to not rely on the boot loader to provide them.)
To compile command line arguments into the kernel,
set this option to 'Y', then fill in the
the boot arguments in CONFIG_CMDLINE.
Systems with fully functional boot loaders (e.g. mboot, or
if booting over [31mCONFIG_PCI[0m) should leave this option set to 'N'.
config [31mCONFIG_CMDLINE[0m
string "Built-in kernel command string"
depends on [31mCONFIG_CMDLINE_BOOL[0m
default ""
---help---
Enter arguments here that should be compiled into the kernel
image and used at boot time. If the boot loader provides a
command line at boot time, it is appended to this string to
form the full kernel command line, when the system boots.
However, you can use the CONFIG_CMDLINE_OVERRIDE option to
change this behavior.
In most cases, the command line (whether built-in or provided
by the boot loader) should specify the device for the root
file system.
config [31mCONFIG_CMDLINE_OVERRIDE[0m
bool "Built-in command line overrides boot loader arguments"
default n
depends on [31mCONFIG_CMDLINE_BOOL[0m
---help---
Set this option to 'Y' to have the kernel ignore the boot loader
command line, and use ONLY the built-in command line.
This is used to work around broken boot loaders. This should
be set to 'N' under normal conditions.
config [31mCONFIG_VMALLOC_RESERVE[0m
hex
default 0x2000000
config [31mCONFIG_HARDWALL[0m
bool "Hardwall support to allow access to user dynamic network"
default y
config [31mCONFIG_KERNEL_PL[0m
int "Processor protection level for kernel"
range 1 2
default 2 if [31mCONFIG_TILEGX[0m
default 1 if ![31mCONFIG_TILEGX[0m
---help---
Since MDE 4.2, the Tilera hypervisor runs the kernel
at PL2 by default. If running under an older hypervisor,
or as a [31mCONFIG_KVM[0m guest, you must run at PL1. (The current
hypervisor may also be recompiled with "make HV_PL=2" to
allow it to run a kernel at PL1, but clients running at PL1
are not expected to be supported indefinitely.)
If you're not sure, don't change the default.
source "arch/tile/gxio/Kconfig"
endmenu # Tilera-specific configuration
menu "Bus options"
config [31mCONFIG_PCI[0m
bool "PCI support"
default y
select [31mCONFIG_PCI_DOMAINS[0m
select [31mCONFIG_GENERIC_PCI_IOMAP[0m
select [31mCONFIG_TILE_GXIO_TRIO[0m if [31mCONFIG_TILEGX[0m
select [31mCONFIG_PCI_MSI[0m if [31mCONFIG_TILEGX[0m
---help---
Enable [31mCONFIG_PCI[0m root complex support, so PCIe endpoint devices can
be attached to the Tile chip. Many, but not all, [31mCONFIG_PCI[0m devices
are supported under Tilera's root complex driver.
config [31mCONFIG_PCI_DOMAINS[0m
bool
config [31mCONFIG_NO_IOMEM[0m
def_bool ![31mCONFIG_PCI[0m
config [31mCONFIG_NO_IOPORT_MAP[0m
def_bool ![31mCONFIG_PCI[0m
config [31mCONFIG_TILE_PCI_IO[0m
bool "PCI I/O space support"
default n
depends on [31mCONFIG_PCI[0m
depends on [31mCONFIG_TILEGX[0m
---help---
Enable [31mCONFIG_PCI[0m I/O space support on TILEGx. Since the [31mCONFIG_PCI[0m I/O space
is used by few modern PCIe endpoint devices, its support is disabled
by default to save the TRIO PIO Region resource for other purposes.
source "drivers/pci/Kconfig"
config [31mCONFIG_TILE_USB[0m
tristate "Tilera USB host adapter support"
default y
depends on [31mCONFIG_USB[0m
depends on [31mCONFIG_TILEGX[0m
select [31mCONFIG_TILE_GXIO_USB_HOST[0m
---help---
Provides [31mCONFIG_USB[0m host adapter support for the built-in EHCI and OHCI
interfaces on [31mCONFIG_TILE[0m-Gx chips.
endmenu
menu "Executable file formats"
source "fs/Kconfig.binfmt"
endmenu
source "net/Kconfig"
source "drivers/Kconfig"
source "fs/Kconfig"
source "arch/tile/Kconfig.debug"
source "security/Kconfig"
source "crypto/Kconfig"
source "lib/Kconfig"
source "arch/tile/kvm/Kconfig"