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 16125e5645SMathieu Desnoyersconfig HAVE_OPROFILE 17125e5645SMathieu Desnoyers def_bool n 18125e5645SMathieu Desnoyers 19125e5645SMathieu Desnoyersconfig KPROBES 20125e5645SMathieu Desnoyers bool "Kprobes" 21125e5645SMathieu Desnoyers depends on KALLSYMS && MODULES 22125e5645SMathieu Desnoyers depends on HAVE_KPROBES 23125e5645SMathieu Desnoyers help 24125e5645SMathieu Desnoyers Kprobes allows you to trap at almost any kernel address and 25125e5645SMathieu Desnoyers execute a callback function. register_kprobe() establishes 26125e5645SMathieu Desnoyers a probepoint and specifies the callback. Kprobes is useful 27125e5645SMathieu Desnoyers for kernel debugging, non-intrusive instrumentation and testing. 28125e5645SMathieu Desnoyers If in doubt, say "N". 29125e5645SMathieu Desnoyers 3058340a07SJohannes Bergconfig HAVE_EFFICIENT_UNALIGNED_ACCESS 3158340a07SJohannes Berg def_bool n 3258340a07SJohannes Berg help 3358340a07SJohannes Berg Some architectures are unable to perform unaligned accesses 3458340a07SJohannes Berg without the use of get_unaligned/put_unaligned. Others are 3558340a07SJohannes Berg unable to perform such accesses efficiently (e.g. trap on 3658340a07SJohannes Berg unaligned access and require fixing it up in the exception 3758340a07SJohannes Berg handler.) 3858340a07SJohannes Berg 3958340a07SJohannes Berg This symbol should be selected by an architecture if it can 4058340a07SJohannes Berg perform unaligned accesses efficiently to allow different 4158340a07SJohannes Berg code paths to be selected for these cases. Some network 4258340a07SJohannes Berg drivers, for example, could opt to not fix up alignment 4358340a07SJohannes Berg problems with received packets if doing so would not help 4458340a07SJohannes Berg much. 4558340a07SJohannes Berg 4658340a07SJohannes Berg See Documentation/unaligned-memory-access.txt for more 4758340a07SJohannes Berg information on the topic of unaligned memory accesses. 4858340a07SJohannes Berg 499edddaa2SAnanth N Mavinakayanahalliconfig KRETPROBES 509edddaa2SAnanth N Mavinakayanahalli def_bool y 519edddaa2SAnanth N Mavinakayanahalli depends on KPROBES && HAVE_KRETPROBES 529edddaa2SAnanth N Mavinakayanahalli 5328b2ee20SRik van Rielconfig HAVE_IOREMAP_PROT 5428b2ee20SRik van Riel def_bool n 5528b2ee20SRik van Riel 56125e5645SMathieu Desnoyersconfig HAVE_KPROBES 57125e5645SMathieu Desnoyers def_bool n 589edddaa2SAnanth N Mavinakayanahalli 599edddaa2SAnanth N Mavinakayanahalliconfig HAVE_KRETPROBES 609edddaa2SAnanth N Mavinakayanahalli def_bool n 6174bc7ceeSArthur Kepner 621f5a4ad9SRoland McGrath# 631f5a4ad9SRoland McGrath# An arch should select this if it provides all these things: 641f5a4ad9SRoland McGrath# 651f5a4ad9SRoland McGrath# task_pt_regs() in asm/processor.h or asm/ptrace.h 661f5a4ad9SRoland McGrath# arch_has_single_step() if there is hardware single-step support 671f5a4ad9SRoland McGrath# arch_has_block_step() if there is hardware block-step support 681f5a4ad9SRoland McGrath# arch_ptrace() and not #define __ARCH_SYS_PTRACE 691f5a4ad9SRoland McGrath# compat_arch_ptrace() and #define __ARCH_WANT_COMPAT_SYS_PTRACE 701f5a4ad9SRoland McGrath# asm/syscall.h supplying asm-generic/syscall.h interface 711f5a4ad9SRoland McGrath# linux/regset.h user_regset interfaces 721f5a4ad9SRoland McGrath# CORE_DUMP_USE_REGSET #define'd in linux/elf.h 731f5a4ad9SRoland McGrath# TIF_SYSCALL_TRACE calls tracehook_report_syscall_{entry,exit} 741f5a4ad9SRoland McGrath# TIF_NOTIFY_RESUME calls tracehook_notify_resume() 751f5a4ad9SRoland McGrath# signal delivery calls tracehook_signal_handler() 761f5a4ad9SRoland McGrath# 771f5a4ad9SRoland McGrathconfig HAVE_ARCH_TRACEHOOK 781f5a4ad9SRoland McGrath def_bool n 791f5a4ad9SRoland McGrath 8074bc7ceeSArthur Kepnerconfig HAVE_DMA_ATTRS 8174bc7ceeSArthur Kepner def_bool n 823d442233SJens Axboe 833d442233SJens Axboeconfig USE_GENERIC_SMP_HELPERS 843d442233SJens Axboe def_bool n 859483a578SDavid Brownell 869483a578SDavid Brownellconfig HAVE_CLK 879483a578SDavid Brownell def_bool n 889483a578SDavid Brownell help 899483a578SDavid Brownell The <linux/clk.h> calls support software clock gating and 909483a578SDavid Brownell thus are a key power management tool on many systems. 919483a578SDavid Brownell 92