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 9125e5645SMathieu Desnoyers help 10125e5645SMathieu Desnoyers OProfile is a profiling system capable of profiling the 11125e5645SMathieu Desnoyers whole system, include the kernel, kernel modules, libraries, 12125e5645SMathieu Desnoyers and applications. 13125e5645SMathieu Desnoyers 14125e5645SMathieu Desnoyers If unsure, say N. 15125e5645SMathieu Desnoyers 16852402ccSRobert Richterconfig OPROFILE_IBS 17852402ccSRobert Richter bool "OProfile AMD IBS support (EXPERIMENTAL)" 18852402ccSRobert Richter default n 19852402ccSRobert Richter depends on OPROFILE && SMP && X86 20852402ccSRobert Richter help 21852402ccSRobert Richter Instruction-Based Sampling (IBS) is a new profiling 22852402ccSRobert Richter technique that provides rich, precise program performance 23852402ccSRobert Richter information. IBS is introduced by AMD Family10h processors 24852402ccSRobert Richter (AMD Opteron Quad-Core processor “Barcelona”) to overcome 25852402ccSRobert Richter the limitations of conventional performance counter 26852402ccSRobert Richter sampling. 27852402ccSRobert Richter 28852402ccSRobert Richter If unsure, say N. 29852402ccSRobert Richter 30125e5645SMathieu Desnoyersconfig HAVE_OPROFILE 319ba16087SJan Beulich bool 32125e5645SMathieu Desnoyers 33125e5645SMathieu Desnoyersconfig KPROBES 34125e5645SMathieu Desnoyers bool "Kprobes" 35125e5645SMathieu Desnoyers depends on KALLSYMS && MODULES 36125e5645SMathieu Desnoyers depends on HAVE_KPROBES 37125e5645SMathieu Desnoyers help 38125e5645SMathieu Desnoyers Kprobes allows you to trap at almost any kernel address and 39125e5645SMathieu Desnoyers execute a callback function. register_kprobe() establishes 40125e5645SMathieu Desnoyers a probepoint and specifies the callback. Kprobes is useful 41125e5645SMathieu Desnoyers for kernel debugging, non-intrusive instrumentation and testing. 42125e5645SMathieu Desnoyers If in doubt, say "N". 43125e5645SMathieu Desnoyers 4458340a07SJohannes Bergconfig HAVE_EFFICIENT_UNALIGNED_ACCESS 459ba16087SJan Beulich bool 4658340a07SJohannes Berg help 4758340a07SJohannes Berg Some architectures are unable to perform unaligned accesses 4858340a07SJohannes Berg without the use of get_unaligned/put_unaligned. Others are 4958340a07SJohannes Berg unable to perform such accesses efficiently (e.g. trap on 5058340a07SJohannes Berg unaligned access and require fixing it up in the exception 5158340a07SJohannes Berg handler.) 5258340a07SJohannes Berg 5358340a07SJohannes Berg This symbol should be selected by an architecture if it can 5458340a07SJohannes Berg perform unaligned accesses efficiently to allow different 5558340a07SJohannes Berg code paths to be selected for these cases. Some network 5658340a07SJohannes Berg drivers, for example, could opt to not fix up alignment 5758340a07SJohannes Berg problems with received packets if doing so would not help 5858340a07SJohannes Berg much. 5958340a07SJohannes Berg 6058340a07SJohannes Berg See Documentation/unaligned-memory-access.txt for more 6158340a07SJohannes Berg information on the topic of unaligned memory accesses. 6258340a07SJohannes Berg 639edddaa2SAnanth N Mavinakayanahalliconfig KRETPROBES 649edddaa2SAnanth N Mavinakayanahalli def_bool y 659edddaa2SAnanth N Mavinakayanahalli depends on KPROBES && HAVE_KRETPROBES 669edddaa2SAnanth N Mavinakayanahalli 6728b2ee20SRik van Rielconfig HAVE_IOREMAP_PROT 689ba16087SJan Beulich bool 6928b2ee20SRik van Riel 70125e5645SMathieu Desnoyersconfig HAVE_KPROBES 719ba16087SJan Beulich bool 729edddaa2SAnanth N Mavinakayanahalli 739edddaa2SAnanth N Mavinakayanahalliconfig HAVE_KRETPROBES 749ba16087SJan Beulich bool 7574bc7ceeSArthur Kepner 761f5a4ad9SRoland McGrath# 771f5a4ad9SRoland McGrath# An arch should select this if it provides all these things: 781f5a4ad9SRoland McGrath# 791f5a4ad9SRoland McGrath# task_pt_regs() in asm/processor.h or asm/ptrace.h 801f5a4ad9SRoland McGrath# arch_has_single_step() if there is hardware single-step support 811f5a4ad9SRoland McGrath# arch_has_block_step() if there is hardware block-step support 821f5a4ad9SRoland McGrath# arch_ptrace() and not #define __ARCH_SYS_PTRACE 831f5a4ad9SRoland McGrath# compat_arch_ptrace() and #define __ARCH_WANT_COMPAT_SYS_PTRACE 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