1fb32e03fSMathieu Desnoyers# 2fb32e03fSMathieu Desnoyers# General architecture dependent options 3fb32e03fSMathieu Desnoyers# 4125e5645SMathieu Desnoyers 5125e5645SMathieu Desnoyersconfig OPROFILE 6125e5645SMathieu Desnoyers tristate "OProfile system profiling (EXPERIMENTAL)" 7125e5645SMathieu Desnoyers depends on PROFILING 8125e5645SMathieu Desnoyers depends on HAVE_OPROFILE 940ada30fSIngo Molnar depends on TRACING_SUPPORT 10d69d59f4SIngo Molnar select TRACING 11d69d59f4SIngo Molnar select RING_BUFFER 12125e5645SMathieu Desnoyers help 13125e5645SMathieu Desnoyers OProfile is a profiling system capable of profiling the 14125e5645SMathieu Desnoyers whole system, include the kernel, kernel modules, libraries, 15125e5645SMathieu Desnoyers and applications. 16125e5645SMathieu Desnoyers 17125e5645SMathieu Desnoyers If unsure, say N. 18125e5645SMathieu Desnoyers 19852402ccSRobert Richterconfig OPROFILE_IBS 20852402ccSRobert Richter bool "OProfile AMD IBS support (EXPERIMENTAL)" 21852402ccSRobert Richter default n 22852402ccSRobert Richter depends on OPROFILE && SMP && X86 23852402ccSRobert Richter help 24852402ccSRobert Richter Instruction-Based Sampling (IBS) is a new profiling 25852402ccSRobert Richter technique that provides rich, precise program performance 26852402ccSRobert Richter information. IBS is introduced by AMD Family10h processors 27ba8b453dSJesper Dangaard Brouer (AMD Opteron Quad-Core processor "Barcelona") to overcome 28852402ccSRobert Richter the limitations of conventional performance counter 29852402ccSRobert Richter sampling. 30852402ccSRobert Richter 31852402ccSRobert Richter If unsure, say N. 32852402ccSRobert Richter 33125e5645SMathieu Desnoyersconfig HAVE_OPROFILE 349ba16087SJan Beulich bool 35125e5645SMathieu Desnoyers 36125e5645SMathieu Desnoyersconfig KPROBES 37125e5645SMathieu Desnoyers bool "Kprobes" 38125e5645SMathieu Desnoyers depends on KALLSYMS && MODULES 39125e5645SMathieu Desnoyers depends on HAVE_KPROBES 40125e5645SMathieu Desnoyers help 41125e5645SMathieu Desnoyers Kprobes allows you to trap at almost any kernel address and 42125e5645SMathieu Desnoyers execute a callback function. register_kprobe() establishes 43125e5645SMathieu Desnoyers a probepoint and specifies the callback. Kprobes is useful 44125e5645SMathieu Desnoyers for kernel debugging, non-intrusive instrumentation and testing. 45125e5645SMathieu Desnoyers If in doubt, say "N". 46125e5645SMathieu Desnoyers 4758340a07SJohannes Bergconfig HAVE_EFFICIENT_UNALIGNED_ACCESS 489ba16087SJan Beulich bool 4958340a07SJohannes Berg help 5058340a07SJohannes Berg Some architectures are unable to perform unaligned accesses 5158340a07SJohannes Berg without the use of get_unaligned/put_unaligned. Others are 5258340a07SJohannes Berg unable to perform such accesses efficiently (e.g. trap on 5358340a07SJohannes Berg unaligned access and require fixing it up in the exception 5458340a07SJohannes Berg handler.) 5558340a07SJohannes Berg 5658340a07SJohannes Berg This symbol should be selected by an architecture if it can 5758340a07SJohannes Berg perform unaligned accesses efficiently to allow different 5858340a07SJohannes Berg code paths to be selected for these cases. Some network 5958340a07SJohannes Berg drivers, for example, could opt to not fix up alignment 6058340a07SJohannes Berg problems with received packets if doing so would not help 6158340a07SJohannes Berg much. 6258340a07SJohannes Berg 6358340a07SJohannes Berg See Documentation/unaligned-memory-access.txt for more 6458340a07SJohannes Berg information on the topic of unaligned memory accesses. 6558340a07SJohannes Berg 661a94bc34SHeiko Carstensconfig HAVE_SYSCALL_WRAPPERS 671a94bc34SHeiko Carstens bool 681a94bc34SHeiko Carstens 699edddaa2SAnanth N Mavinakayanahalliconfig KRETPROBES 709edddaa2SAnanth N Mavinakayanahalli def_bool y 719edddaa2SAnanth N Mavinakayanahalli depends on KPROBES && HAVE_KRETPROBES 729edddaa2SAnanth N Mavinakayanahalli 7328b2ee20SRik van Rielconfig HAVE_IOREMAP_PROT 749ba16087SJan Beulich bool 7528b2ee20SRik van Riel 76125e5645SMathieu Desnoyersconfig HAVE_KPROBES 779ba16087SJan Beulich bool 789edddaa2SAnanth N Mavinakayanahalli 799edddaa2SAnanth N Mavinakayanahalliconfig HAVE_KRETPROBES 809ba16087SJan Beulich bool 8174bc7ceeSArthur Kepner 821f5a4ad9SRoland McGrath# 831f5a4ad9SRoland McGrath# An arch should select this if it provides all these things: 841f5a4ad9SRoland McGrath# 851f5a4ad9SRoland McGrath# task_pt_regs() in asm/processor.h or asm/ptrace.h 861f5a4ad9SRoland McGrath# arch_has_single_step() if there is hardware single-step support 871f5a4ad9SRoland McGrath# arch_has_block_step() if there is hardware block-step support 881f5a4ad9SRoland McGrath# asm/syscall.h supplying asm-generic/syscall.h interface 891f5a4ad9SRoland McGrath# linux/regset.h user_regset interfaces 901f5a4ad9SRoland McGrath# CORE_DUMP_USE_REGSET #define'd in linux/elf.h 911f5a4ad9SRoland McGrath# TIF_SYSCALL_TRACE calls tracehook_report_syscall_{entry,exit} 921f5a4ad9SRoland McGrath# TIF_NOTIFY_RESUME calls tracehook_notify_resume() 931f5a4ad9SRoland McGrath# signal delivery calls tracehook_signal_handler() 941f5a4ad9SRoland McGrath# 951f5a4ad9SRoland McGrathconfig HAVE_ARCH_TRACEHOOK 969ba16087SJan Beulich bool 971f5a4ad9SRoland McGrath 9874bc7ceeSArthur Kepnerconfig HAVE_DMA_ATTRS 999ba16087SJan Beulich bool 1003d442233SJens Axboe 1013d442233SJens Axboeconfig USE_GENERIC_SMP_HELPERS 1029ba16087SJan Beulich bool 1039483a578SDavid Brownell 1049483a578SDavid Brownellconfig HAVE_CLK 1059ba16087SJan Beulich bool 1069483a578SDavid Brownell help 1079483a578SDavid Brownell The <linux/clk.h> calls support software clock gating and 1089483a578SDavid Brownell thus are a key power management tool on many systems. 1099483a578SDavid Brownell 1105ee00bd4SJoerg Roedelconfig HAVE_DMA_API_DEBUG 1115ee00bd4SJoerg Roedel bool 11236cd3c9fSHeiko Carstens 11336cd3c9fSHeiko Carstensconfig HAVE_DEFAULT_NO_SPIN_MUTEXES 11436cd3c9fSHeiko Carstens bool 11562a038d3SK.Prasad 11662a038d3SK.Prasadconfig HAVE_HW_BREAKPOINT 11762a038d3SK.Prasad bool 11862a038d3SK.Prasad 119