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 9d69d59f4SIngo Molnar select TRACING 10d69d59f4SIngo Molnar select RING_BUFFER 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 18852402ccSRobert Richterconfig OPROFILE_IBS 19852402ccSRobert Richter bool "OProfile AMD IBS support (EXPERIMENTAL)" 20852402ccSRobert Richter default n 21852402ccSRobert Richter depends on OPROFILE && SMP && X86 22852402ccSRobert Richter help 23852402ccSRobert Richter Instruction-Based Sampling (IBS) is a new profiling 24852402ccSRobert Richter technique that provides rich, precise program performance 25852402ccSRobert Richter information. IBS is introduced by AMD Family10h processors 26ba8b453dSJesper Dangaard Brouer (AMD Opteron Quad-Core processor "Barcelona") to overcome 27852402ccSRobert Richter the limitations of conventional performance counter 28852402ccSRobert Richter sampling. 29852402ccSRobert Richter 30852402ccSRobert Richter If unsure, say N. 31852402ccSRobert Richter 32125e5645SMathieu Desnoyersconfig HAVE_OPROFILE 339ba16087SJan Beulich bool 34125e5645SMathieu Desnoyers 35125e5645SMathieu Desnoyersconfig KPROBES 36125e5645SMathieu Desnoyers bool "Kprobes" 37125e5645SMathieu Desnoyers depends on KALLSYMS && MODULES 38125e5645SMathieu Desnoyers depends on HAVE_KPROBES 39125e5645SMathieu Desnoyers help 40125e5645SMathieu Desnoyers Kprobes allows you to trap at almost any kernel address and 41125e5645SMathieu Desnoyers execute a callback function. register_kprobe() establishes 42125e5645SMathieu Desnoyers a probepoint and specifies the callback. Kprobes is useful 43125e5645SMathieu Desnoyers for kernel debugging, non-intrusive instrumentation and testing. 44125e5645SMathieu Desnoyers If in doubt, say "N". 45125e5645SMathieu Desnoyers 4658340a07SJohannes Bergconfig HAVE_EFFICIENT_UNALIGNED_ACCESS 479ba16087SJan Beulich bool 4858340a07SJohannes Berg help 4958340a07SJohannes Berg Some architectures are unable to perform unaligned accesses 5058340a07SJohannes Berg without the use of get_unaligned/put_unaligned. Others are 5158340a07SJohannes Berg unable to perform such accesses efficiently (e.g. trap on 5258340a07SJohannes Berg unaligned access and require fixing it up in the exception 5358340a07SJohannes Berg handler.) 5458340a07SJohannes Berg 5558340a07SJohannes Berg This symbol should be selected by an architecture if it can 5658340a07SJohannes Berg perform unaligned accesses efficiently to allow different 5758340a07SJohannes Berg code paths to be selected for these cases. Some network 5858340a07SJohannes Berg drivers, for example, could opt to not fix up alignment 5958340a07SJohannes Berg problems with received packets if doing so would not help 6058340a07SJohannes Berg much. 6158340a07SJohannes Berg 6258340a07SJohannes Berg See Documentation/unaligned-memory-access.txt for more 6358340a07SJohannes Berg information on the topic of unaligned memory accesses. 6458340a07SJohannes Berg 651a94bc34SHeiko Carstensconfig HAVE_SYSCALL_WRAPPERS 661a94bc34SHeiko Carstens bool 671a94bc34SHeiko Carstens 689edddaa2SAnanth N Mavinakayanahalliconfig KRETPROBES 699edddaa2SAnanth N Mavinakayanahalli def_bool y 709edddaa2SAnanth N Mavinakayanahalli depends on KPROBES && HAVE_KRETPROBES 719edddaa2SAnanth N Mavinakayanahalli 7228b2ee20SRik van Rielconfig HAVE_IOREMAP_PROT 739ba16087SJan Beulich bool 7428b2ee20SRik van Riel 75125e5645SMathieu Desnoyersconfig HAVE_KPROBES 769ba16087SJan Beulich bool 779edddaa2SAnanth N Mavinakayanahalli 789edddaa2SAnanth N Mavinakayanahalliconfig HAVE_KRETPROBES 799ba16087SJan Beulich bool 8074bc7ceeSArthur Kepner 811f5a4ad9SRoland McGrath# 821f5a4ad9SRoland McGrath# An arch should select this if it provides all these things: 831f5a4ad9SRoland McGrath# 841f5a4ad9SRoland McGrath# task_pt_regs() in asm/processor.h or asm/ptrace.h 851f5a4ad9SRoland McGrath# arch_has_single_step() if there is hardware single-step support 861f5a4ad9SRoland McGrath# arch_has_block_step() if there is hardware block-step support 871f5a4ad9SRoland McGrath# asm/syscall.h supplying asm-generic/syscall.h interface 881f5a4ad9SRoland McGrath# linux/regset.h user_regset interfaces 891f5a4ad9SRoland McGrath# CORE_DUMP_USE_REGSET #define'd in linux/elf.h 901f5a4ad9SRoland McGrath# TIF_SYSCALL_TRACE calls tracehook_report_syscall_{entry,exit} 911f5a4ad9SRoland McGrath# TIF_NOTIFY_RESUME calls tracehook_notify_resume() 921f5a4ad9SRoland McGrath# signal delivery calls tracehook_signal_handler() 931f5a4ad9SRoland McGrath# 941f5a4ad9SRoland McGrathconfig HAVE_ARCH_TRACEHOOK 959ba16087SJan Beulich bool 961f5a4ad9SRoland McGrath 9774bc7ceeSArthur Kepnerconfig HAVE_DMA_ATTRS 989ba16087SJan Beulich bool 993d442233SJens Axboe 1003d442233SJens Axboeconfig USE_GENERIC_SMP_HELPERS 1019ba16087SJan Beulich bool 1029483a578SDavid Brownell 1039483a578SDavid Brownellconfig HAVE_CLK 1049ba16087SJan Beulich bool 1059483a578SDavid Brownell help 1069483a578SDavid Brownell The <linux/clk.h> calls support software clock gating and 1079483a578SDavid Brownell thus are a key power management tool on many systems. 1089483a578SDavid Brownell 109