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 KPROBES 34 bool "Kprobes" 35 depends on KALLSYMS && MODULES 36 depends on HAVE_KPROBES 37 help 38 Kprobes allows you to trap at almost any kernel address and 39 execute a callback function. register_kprobe() establishes 40 a probepoint and specifies the callback. Kprobes is useful 41 for kernel debugging, non-intrusive instrumentation and testing. 42 If in doubt, say "N". 43 44config OPTPROBES 45 def_bool y 46 depends on KPROBES && HAVE_OPTPROBES 47 depends on !PREEMPT 48 select KALLSYMS_ALL 49 50config HAVE_EFFICIENT_UNALIGNED_ACCESS 51 bool 52 help 53 Some architectures are unable to perform unaligned accesses 54 without the use of get_unaligned/put_unaligned. Others are 55 unable to perform such accesses efficiently (e.g. trap on 56 unaligned access and require fixing it up in the exception 57 handler.) 58 59 This symbol should be selected by an architecture if it can 60 perform unaligned accesses efficiently to allow different 61 code paths to be selected for these cases. Some network 62 drivers, for example, could opt to not fix up alignment 63 problems with received packets if doing so would not help 64 much. 65 66 See Documentation/unaligned-memory-access.txt for more 67 information on the topic of unaligned memory accesses. 68 69config HAVE_SYSCALL_WRAPPERS 70 bool 71 72config KRETPROBES 73 def_bool y 74 depends on KPROBES && HAVE_KRETPROBES 75 76config USER_RETURN_NOTIFIER 77 bool 78 depends on HAVE_USER_RETURN_NOTIFIER 79 help 80 Provide a kernel-internal notification when a cpu is about to 81 switch to user mode. 82 83config HAVE_IOREMAP_PROT 84 bool 85 86config HAVE_KPROBES 87 bool 88 89config HAVE_KRETPROBES 90 bool 91 92config HAVE_OPTPROBES 93 bool 94# 95# An arch should select this if it provides all these things: 96# 97# task_pt_regs() in asm/processor.h or asm/ptrace.h 98# arch_has_single_step() if there is hardware single-step support 99# arch_has_block_step() if there is hardware block-step support 100# asm/syscall.h supplying asm-generic/syscall.h interface 101# linux/regset.h user_regset interfaces 102# CORE_DUMP_USE_REGSET #define'd in linux/elf.h 103# TIF_SYSCALL_TRACE calls tracehook_report_syscall_{entry,exit} 104# TIF_NOTIFY_RESUME calls tracehook_notify_resume() 105# signal delivery calls tracehook_signal_handler() 106# 107config HAVE_ARCH_TRACEHOOK 108 bool 109 110config HAVE_DMA_ATTRS 111 bool 112 113config USE_GENERIC_SMP_HELPERS 114 bool 115 116config HAVE_REGS_AND_STACK_ACCESS_API 117 bool 118 help 119 This symbol should be selected by an architecure if it supports 120 the API needed to access registers and stack entries from pt_regs, 121 declared in asm/ptrace.h 122 For example the kprobes-based event tracer needs this API. 123 124config HAVE_CLK 125 bool 126 help 127 The <linux/clk.h> calls support software clock gating and 128 thus are a key power management tool on many systems. 129 130config HAVE_DMA_API_DEBUG 131 bool 132 133config HAVE_DEFAULT_NO_SPIN_MUTEXES 134 bool 135 136config HAVE_HW_BREAKPOINT 137 bool 138 depends on PERF_EVENTS 139 140config HAVE_MIXED_BREAKPOINTS_REGS 141 bool 142 depends on HAVE_HW_BREAKPOINT 143 help 144 Depending on the arch implementation of hardware breakpoints, 145 some of them have separate registers for data and instruction 146 breakpoints addresses, others have mixed registers to store 147 them but define the access type in a control register. 148 Select this option if your arch implements breakpoints under the 149 latter fashion. 150 151config HAVE_USER_RETURN_NOTIFIER 152 bool 153 154config HAVE_PERF_EVENTS_NMI 155 bool 156 help 157 System hardware can generate an NMI using the perf event 158 subsystem. Also has support for calculating CPU cycle events 159 to determine how many clock cycles in a given period. 160 161source "kernel/gcov/Kconfig" 162