1fb32e03fSMathieu Desnoyers# 2fb32e03fSMathieu Desnoyers# General architecture dependent options 3fb32e03fSMathieu Desnoyers# 4125e5645SMathieu Desnoyers 5125e5645SMathieu Desnoyersconfig OPROFILE 6b309a294SRobert Richter tristate "OProfile system profiling" 7125e5645SMathieu Desnoyers depends on PROFILING 8125e5645SMathieu Desnoyers depends on HAVE_OPROFILE 9d69d59f4SIngo Molnar select RING_BUFFER 109a5963ebSChristian Borntraeger select RING_BUFFER_ALLOW_SWAP 11125e5645SMathieu Desnoyers help 12125e5645SMathieu Desnoyers OProfile is a profiling system capable of profiling the 13125e5645SMathieu Desnoyers whole system, include the kernel, kernel modules, libraries, 14125e5645SMathieu Desnoyers and applications. 15125e5645SMathieu Desnoyers 16125e5645SMathieu Desnoyers If unsure, say N. 17125e5645SMathieu Desnoyers 184d4036e0SJason Yehconfig OPROFILE_EVENT_MULTIPLEX 194d4036e0SJason Yeh bool "OProfile multiplexing support (EXPERIMENTAL)" 204d4036e0SJason Yeh default n 214d4036e0SJason Yeh depends on OPROFILE && X86 224d4036e0SJason Yeh help 234d4036e0SJason Yeh The number of hardware counters is limited. The multiplexing 244d4036e0SJason Yeh feature enables OProfile to gather more events than counters 254d4036e0SJason Yeh are provided by the hardware. This is realized by switching 264d4036e0SJason Yeh between events at an user specified time interval. 274d4036e0SJason Yeh 284d4036e0SJason Yeh If unsure, say N. 294d4036e0SJason Yeh 30125e5645SMathieu Desnoyersconfig HAVE_OPROFILE 319ba16087SJan Beulich bool 32125e5645SMathieu Desnoyers 33125e5645SMathieu Desnoyersconfig KPROBES 34125e5645SMathieu Desnoyers bool "Kprobes" 35*05ed160eSMasami Hiramatsu depends on MODULES 36125e5645SMathieu Desnoyers depends on HAVE_KPROBES 37*05ed160eSMasami Hiramatsu select KALLSYMS 38125e5645SMathieu Desnoyers help 39125e5645SMathieu Desnoyers Kprobes allows you to trap at almost any kernel address and 40125e5645SMathieu Desnoyers execute a callback function. register_kprobe() establishes 41125e5645SMathieu Desnoyers a probepoint and specifies the callback. Kprobes is useful 42125e5645SMathieu Desnoyers for kernel debugging, non-intrusive instrumentation and testing. 43125e5645SMathieu Desnoyers If in doubt, say "N". 44125e5645SMathieu Desnoyers 45afd66255SMasami Hiramatsuconfig OPTPROBES 465cc718b9SMasami Hiramatsu def_bool y 475cc718b9SMasami Hiramatsu depends on KPROBES && HAVE_OPTPROBES 48afd66255SMasami Hiramatsu depends on !PREEMPT 49afd66255SMasami Hiramatsu 5058340a07SJohannes Bergconfig HAVE_EFFICIENT_UNALIGNED_ACCESS 519ba16087SJan Beulich bool 5258340a07SJohannes Berg help 5358340a07SJohannes Berg Some architectures are unable to perform unaligned accesses 5458340a07SJohannes Berg without the use of get_unaligned/put_unaligned. Others are 5558340a07SJohannes Berg unable to perform such accesses efficiently (e.g. trap on 5658340a07SJohannes Berg unaligned access and require fixing it up in the exception 5758340a07SJohannes Berg handler.) 5858340a07SJohannes Berg 5958340a07SJohannes Berg This symbol should be selected by an architecture if it can 6058340a07SJohannes Berg perform unaligned accesses efficiently to allow different 6158340a07SJohannes Berg code paths to be selected for these cases. Some network 6258340a07SJohannes Berg drivers, for example, could opt to not fix up alignment 6358340a07SJohannes Berg problems with received packets if doing so would not help 6458340a07SJohannes Berg much. 6558340a07SJohannes Berg 6658340a07SJohannes Berg See Documentation/unaligned-memory-access.txt for more 6758340a07SJohannes Berg information on the topic of unaligned memory accesses. 6858340a07SJohannes Berg 691a94bc34SHeiko Carstensconfig HAVE_SYSCALL_WRAPPERS 701a94bc34SHeiko Carstens bool 711a94bc34SHeiko Carstens 729edddaa2SAnanth N Mavinakayanahalliconfig KRETPROBES 739edddaa2SAnanth N Mavinakayanahalli def_bool y 749edddaa2SAnanth N Mavinakayanahalli depends on KPROBES && HAVE_KRETPROBES 759edddaa2SAnanth N Mavinakayanahalli 767c68af6eSAvi Kivityconfig USER_RETURN_NOTIFIER 777c68af6eSAvi Kivity bool 787c68af6eSAvi Kivity depends on HAVE_USER_RETURN_NOTIFIER 797c68af6eSAvi Kivity help 807c68af6eSAvi Kivity Provide a kernel-internal notification when a cpu is about to 817c68af6eSAvi Kivity switch to user mode. 827c68af6eSAvi Kivity 8328b2ee20SRik van Rielconfig HAVE_IOREMAP_PROT 849ba16087SJan Beulich bool 8528b2ee20SRik van Riel 86125e5645SMathieu Desnoyersconfig HAVE_KPROBES 879ba16087SJan Beulich bool 889edddaa2SAnanth N Mavinakayanahalli 899edddaa2SAnanth N Mavinakayanahalliconfig HAVE_KRETPROBES 909ba16087SJan Beulich bool 9174bc7ceeSArthur Kepner 92afd66255SMasami Hiramatsuconfig HAVE_OPTPROBES 93afd66255SMasami Hiramatsu bool 941f5a4ad9SRoland McGrath# 951f5a4ad9SRoland McGrath# An arch should select this if it provides all these things: 961f5a4ad9SRoland McGrath# 971f5a4ad9SRoland McGrath# task_pt_regs() in asm/processor.h or asm/ptrace.h 981f5a4ad9SRoland McGrath# arch_has_single_step() if there is hardware single-step support 991f5a4ad9SRoland McGrath# arch_has_block_step() if there is hardware block-step support 1001f5a4ad9SRoland McGrath# asm/syscall.h supplying asm-generic/syscall.h interface 1011f5a4ad9SRoland McGrath# linux/regset.h user_regset interfaces 1021f5a4ad9SRoland McGrath# CORE_DUMP_USE_REGSET #define'd in linux/elf.h 1031f5a4ad9SRoland McGrath# TIF_SYSCALL_TRACE calls tracehook_report_syscall_{entry,exit} 1041f5a4ad9SRoland McGrath# TIF_NOTIFY_RESUME calls tracehook_notify_resume() 1051f5a4ad9SRoland McGrath# signal delivery calls tracehook_signal_handler() 1061f5a4ad9SRoland McGrath# 1071f5a4ad9SRoland McGrathconfig HAVE_ARCH_TRACEHOOK 1089ba16087SJan Beulich bool 1091f5a4ad9SRoland McGrath 11074bc7ceeSArthur Kepnerconfig HAVE_DMA_ATTRS 1119ba16087SJan Beulich bool 1123d442233SJens Axboe 1133d442233SJens Axboeconfig USE_GENERIC_SMP_HELPERS 1149ba16087SJan Beulich bool 1159483a578SDavid Brownell 116f850c30cSHeiko Carstensconfig HAVE_REGS_AND_STACK_ACCESS_API 117f850c30cSHeiko Carstens bool 118e01292b1SHeiko Carstens help 119e01292b1SHeiko Carstens This symbol should be selected by an architecure if it supports 120e01292b1SHeiko Carstens the API needed to access registers and stack entries from pt_regs, 121e01292b1SHeiko Carstens declared in asm/ptrace.h 122e01292b1SHeiko Carstens For example the kprobes-based event tracer needs this API. 123f850c30cSHeiko Carstens 1249483a578SDavid Brownellconfig HAVE_CLK 1259ba16087SJan Beulich bool 1269483a578SDavid Brownell help 1279483a578SDavid Brownell The <linux/clk.h> calls support software clock gating and 1289483a578SDavid Brownell thus are a key power management tool on many systems. 1299483a578SDavid Brownell 1305ee00bd4SJoerg Roedelconfig HAVE_DMA_API_DEBUG 1315ee00bd4SJoerg Roedel bool 13236cd3c9fSHeiko Carstens 13336cd3c9fSHeiko Carstensconfig HAVE_DEFAULT_NO_SPIN_MUTEXES 13436cd3c9fSHeiko Carstens bool 13562a038d3SK.Prasad 13662a038d3SK.Prasadconfig HAVE_HW_BREAKPOINT 13762a038d3SK.Prasad bool 13899e8c5a3SFrederic Weisbecker depends on PERF_EVENTS 13962a038d3SK.Prasad 1400102752eSFrederic Weisbeckerconfig HAVE_MIXED_BREAKPOINTS_REGS 1410102752eSFrederic Weisbecker bool 1420102752eSFrederic Weisbecker depends on HAVE_HW_BREAKPOINT 1430102752eSFrederic Weisbecker help 1440102752eSFrederic Weisbecker Depending on the arch implementation of hardware breakpoints, 1450102752eSFrederic Weisbecker some of them have separate registers for data and instruction 1460102752eSFrederic Weisbecker breakpoints addresses, others have mixed registers to store 1470102752eSFrederic Weisbecker them but define the access type in a control register. 1480102752eSFrederic Weisbecker Select this option if your arch implements breakpoints under the 1490102752eSFrederic Weisbecker latter fashion. 1500102752eSFrederic Weisbecker 1517c68af6eSAvi Kivityconfig HAVE_USER_RETURN_NOTIFIER 1527c68af6eSAvi Kivity bool 153a1922ed6SIngo Molnar 154c01d4323SFrederic Weisbeckerconfig HAVE_PERF_EVENTS_NMI 155c01d4323SFrederic Weisbecker bool 15623637d47SFrederic Weisbecker help 15723637d47SFrederic Weisbecker System hardware can generate an NMI using the perf event 15823637d47SFrederic Weisbecker subsystem. Also has support for calculating CPU cycle events 15923637d47SFrederic Weisbecker to determine how many clock cycles in a given period. 160c01d4323SFrederic Weisbecker 1612521f2c2SPeter Oberparleitersource "kernel/gcov/Kconfig" 162