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 659edddaa2SAnanth N Mavinakayanahalliconfig KRETPROBES 669edddaa2SAnanth N Mavinakayanahalli def_bool y 679edddaa2SAnanth N Mavinakayanahalli depends on KPROBES && HAVE_KRETPROBES 689edddaa2SAnanth N Mavinakayanahalli 6928b2ee20SRik van Rielconfig HAVE_IOREMAP_PROT 709ba16087SJan Beulich bool 7128b2ee20SRik van Riel 72125e5645SMathieu Desnoyersconfig HAVE_KPROBES 739ba16087SJan Beulich bool 749edddaa2SAnanth N Mavinakayanahalli 759edddaa2SAnanth N Mavinakayanahalliconfig HAVE_KRETPROBES 769ba16087SJan Beulich bool 7774bc7ceeSArthur Kepner 781f5a4ad9SRoland McGrath# 791f5a4ad9SRoland McGrath# An arch should select this if it provides all these things: 801f5a4ad9SRoland McGrath# 811f5a4ad9SRoland McGrath# task_pt_regs() in asm/processor.h or asm/ptrace.h 821f5a4ad9SRoland McGrath# arch_has_single_step() if there is hardware single-step support 831f5a4ad9SRoland McGrath# arch_has_block_step() if there is hardware block-step support 841f5a4ad9SRoland McGrath# asm/syscall.h supplying asm-generic/syscall.h interface 851f5a4ad9SRoland McGrath# linux/regset.h user_regset interfaces 861f5a4ad9SRoland McGrath# CORE_DUMP_USE_REGSET #define'd in linux/elf.h 871f5a4ad9SRoland McGrath# TIF_SYSCALL_TRACE calls tracehook_report_syscall_{entry,exit} 881f5a4ad9SRoland McGrath# TIF_NOTIFY_RESUME calls tracehook_notify_resume() 891f5a4ad9SRoland McGrath# signal delivery calls tracehook_signal_handler() 901f5a4ad9SRoland McGrath# 911f5a4ad9SRoland McGrathconfig HAVE_ARCH_TRACEHOOK 929ba16087SJan Beulich bool 931f5a4ad9SRoland McGrath 9474bc7ceeSArthur Kepnerconfig HAVE_DMA_ATTRS 959ba16087SJan Beulich bool 963d442233SJens Axboe 973d442233SJens Axboeconfig USE_GENERIC_SMP_HELPERS 989ba16087SJan Beulich bool 999483a578SDavid Brownell 1009483a578SDavid Brownellconfig HAVE_CLK 1019ba16087SJan Beulich bool 1029483a578SDavid Brownell help 1039483a578SDavid Brownell The <linux/clk.h> calls support software clock gating and 1049483a578SDavid Brownell thus are a key power management tool on many systems. 1059483a578SDavid Brownell 106