linux/arch/Kconfig
<<
>>
Prefs
   1#
   2# General architecture dependent options
   3#
   4
   5config OPROFILE
   6        tristate "OProfile system profiling"
   7        depends on PROFILING
   8        depends on HAVE_OPROFILE
   9        select RING_BUFFER
  10        select RING_BUFFER_ALLOW_SWAP
  11        help
  12          OProfile is a profiling system capable of profiling the
  13          whole system, include the kernel, kernel modules, libraries,
  14          and applications.
  15
  16          If unsure, say N.
  17
  18config OPROFILE_EVENT_MULTIPLEX
  19        bool "OProfile multiplexing support (EXPERIMENTAL)"
  20        default n
  21        depends on OPROFILE && X86
  22        help
  23          The number of hardware counters is limited. The multiplexing
  24          feature enables OProfile to gather more events than counters
  25          are provided by the hardware. This is realized by switching
  26          between events at an user specified time interval.
  27
  28          If unsure, say N.
  29
  30config HAVE_OPROFILE
  31        bool
  32
  33config OPROFILE_NMI_TIMER
  34        def_bool y
  35        depends on PERF_EVENTS && HAVE_PERF_EVENTS_NMI
  36
  37config KPROBES
  38        bool "Kprobes"
  39        depends on MODULES
  40        depends on HAVE_KPROBES
  41        select KALLSYMS
  42        help
  43          Kprobes allows you to trap at almost any kernel address and
  44          execute a callback function.  register_kprobe() establishes
  45          a probepoint and specifies the callback.  Kprobes is useful
  46          for kernel debugging, non-intrusive instrumentation and testing.
  47          If in doubt, say "N".
  48
  49config JUMP_LABEL
  50       bool "Optimize very unlikely/likely branches"
  51       depends on HAVE_ARCH_JUMP_LABEL
  52       help
  53         This option enables a transparent branch optimization that
  54         makes certain almost-always-true or almost-always-false branch
  55         conditions even cheaper to execute within the kernel.
  56
  57         Certain performance-sensitive kernel code, such as trace points,
  58         scheduler functionality, networking code and KVM have such
  59         branches and include support for this optimization technique.
  60
  61         If it is detected that the compiler has support for "asm goto",
  62         the kernel will compile such branches with just a nop
  63         instruction. When the condition flag is toggled to true, the
  64         nop will be converted to a jump instruction to execute the
  65         conditional block of instructions.
  66
  67         This technique lowers overhead and stress on the branch prediction
  68         of the processor and generally makes the kernel faster. The update
  69         of the condition is slower, but those are always very rare.
  70
  71         ( On 32-bit x86, the necessary options added to the compiler
  72           flags may increase the size of the kernel slightly. )
  73
  74config OPTPROBES
  75        def_bool y
  76        depends on KPROBES && HAVE_OPTPROBES
  77        depends on !PREEMPT
  78
  79config HAVE_EFFICIENT_UNALIGNED_ACCESS
  80        bool
  81        help
  82          Some architectures are unable to perform unaligned accesses
  83          without the use of get_unaligned/put_unaligned. Others are
  84          unable to perform such accesses efficiently (e.g. trap on
  85          unaligned access and require fixing it up in the exception
  86          handler.)
  87
  88          This symbol should be selected by an architecture if it can
  89          perform unaligned accesses efficiently to allow different
  90          code paths to be selected for these cases. Some network
  91          drivers, for example, could opt to not fix up alignment
  92          problems with received packets if doing so would not help
  93          much.
  94
  95          See Documentation/unaligned-memory-access.txt for more
  96          information on the topic of unaligned memory accesses.
  97
  98config HAVE_SYSCALL_WRAPPERS
  99        bool
 100
 101config KRETPROBES
 102        def_bool y
 103        depends on KPROBES && HAVE_KRETPROBES
 104
 105config USER_RETURN_NOTIFIER
 106        bool
 107        depends on HAVE_USER_RETURN_NOTIFIER
 108        help
 109          Provide a kernel-internal notification when a cpu is about to
 110          switch to user mode.
 111
 112config HAVE_IOREMAP_PROT
 113        bool
 114
 115config HAVE_KPROBES
 116        bool
 117
 118config HAVE_KRETPROBES
 119        bool
 120
 121config HAVE_OPTPROBES
 122        bool
 123
 124config HAVE_NMI_WATCHDOG
 125        bool
 126#
 127# An arch should select this if it provides all these things:
 128#
 129#       task_pt_regs()          in asm/processor.h or asm/ptrace.h
 130#       arch_has_single_step()  if there is hardware single-step support
 131#       arch_has_block_step()   if there is hardware block-step support
 132#       asm/syscall.h           supplying asm-generic/syscall.h interface
 133#       linux/regset.h          user_regset interfaces
 134#       CORE_DUMP_USE_REGSET    #define'd in linux/elf.h
 135#       TIF_SYSCALL_TRACE       calls tracehook_report_syscall_{entry,exit}
 136#       TIF_NOTIFY_RESUME       calls tracehook_notify_resume()
 137#       signal delivery         calls tracehook_signal_handler()
 138#
 139config HAVE_ARCH_TRACEHOOK
 140        bool
 141
 142config HAVE_DMA_ATTRS
 143        bool
 144
 145config USE_GENERIC_SMP_HELPERS
 146        bool
 147
 148config HAVE_REGS_AND_STACK_ACCESS_API
 149        bool
 150        help
 151          This symbol should be selected by an architecure if it supports
 152          the API needed to access registers and stack entries from pt_regs,
 153          declared in asm/ptrace.h
 154          For example the kprobes-based event tracer needs this API.
 155
 156config HAVE_CLK
 157        bool
 158        help
 159          The <linux/clk.h> calls support software clock gating and
 160          thus are a key power management tool on many systems.
 161
 162config HAVE_DMA_API_DEBUG
 163        bool
 164
 165config HAVE_HW_BREAKPOINT
 166        bool
 167        depends on PERF_EVENTS
 168
 169config HAVE_MIXED_BREAKPOINTS_REGS
 170        bool
 171        depends on HAVE_HW_BREAKPOINT
 172        help
 173          Depending on the arch implementation of hardware breakpoints,
 174          some of them have separate registers for data and instruction
 175          breakpoints addresses, others have mixed registers to store
 176          them but define the access type in a control register.
 177          Select this option if your arch implements breakpoints under the
 178          latter fashion.
 179
 180config HAVE_USER_RETURN_NOTIFIER
 181        bool
 182
 183config HAVE_PERF_EVENTS_NMI
 184        bool
 185        help
 186          System hardware can generate an NMI using the perf event
 187          subsystem.  Also has support for calculating CPU cycle events
 188          to determine how many clock cycles in a given period.
 189
 190config HAVE_ARCH_JUMP_LABEL
 191        bool
 192
 193config HAVE_ARCH_MUTEX_CPU_RELAX
 194        bool
 195
 196config HAVE_RCU_TABLE_FREE
 197        bool
 198
 199config ARCH_HAVE_NMI_SAFE_CMPXCHG
 200        bool
 201
 202config HAVE_ALIGNED_STRUCT_PAGE
 203        bool
 204        help
 205          This makes sure that struct pages are double word aligned and that
 206          e.g. the SLUB allocator can perform double word atomic operations
 207          on a struct page for better performance. However selecting this
 208          might increase the size of a struct page by a word.
 209
 210config HAVE_CMPXCHG_LOCAL
 211        bool
 212
 213config HAVE_CMPXCHG_DOUBLE
 214        bool
 215
 216config ARCH_WANT_OLD_COMPAT_IPC
 217        bool
 218
 219source "kernel/gcov/Kconfig"
 220
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.