blob: 4877a8c8ee1697599289f35107824f95ba8daf84 [file] [log] [blame]
Mathieu Desnoyersfb32e032008-02-02 15:10:33 -05001#
2# General architecture dependent options
3#
Mathieu Desnoyers125e5642008-02-02 15:10:36 -05004
5config OPROFILE
Robert Richterb309a292010-02-26 15:01:23 +01006 tristate "OProfile system profiling"
Mathieu Desnoyers125e5642008-02-02 15:10:36 -05007 depends on PROFILING
8 depends on HAVE_OPROFILE
Ingo Molnard69d59f2008-12-12 09:38:57 +01009 select RING_BUFFER
Christian Borntraeger9a5963e2009-09-16 21:56:49 +020010 select RING_BUFFER_ALLOW_SWAP
Mathieu Desnoyers125e5642008-02-02 15:10:36 -050011 help
12 OProfile is a profiling system capable of profiling the
13 whole system, include the kernel, kernel modules, libraries,
14 and applications.
15
16 If unsure, say N.
17
Jason Yeh4d4036e2009-07-08 13:49:38 +020018config OPROFILE_EVENT_MULTIPLEX
19 bool "OProfile multiplexing support (EXPERIMENTAL)"
20 default n
21 depends on OPROFILE && X86
22 help
23 The number of hardware counters is limited. The multiplexing
24 feature enables OProfile to gather more events than counters
25 are provided by the hardware. This is realized by switching
26 between events at an user specified time interval.
27
28 If unsure, say N.
29
Mathieu Desnoyers125e5642008-02-02 15:10:36 -050030config HAVE_OPROFILE
Jan Beulich9ba16082008-10-15 22:01:38 -070031 bool
Mathieu Desnoyers125e5642008-02-02 15:10:36 -050032
33config KPROBES
34 bool "Kprobes"
35 depends on KALLSYMS && MODULES
36 depends on HAVE_KPROBES
37 help
38 Kprobes allows you to trap at almost any kernel address and
39 execute a callback function. register_kprobe() establishes
40 a probepoint and specifies the callback. Kprobes is useful
41 for kernel debugging, non-intrusive instrumentation and testing.
42 If in doubt, say "N".
43
Masami Hiramatsuafd66252010-02-25 08:34:07 -050044config OPTPROBES
Masami Hiramatsu5cc718b2010-03-15 13:00:54 -040045 def_bool y
46 depends on KPROBES && HAVE_OPTPROBES
Masami Hiramatsuafd66252010-02-25 08:34:07 -050047 depends on !PREEMPT
Masami Hiramatsuafd66252010-02-25 08:34:07 -050048 select KALLSYMS_ALL
Masami Hiramatsuafd66252010-02-25 08:34:07 -050049
Johannes Berg58340a02008-07-25 01:45:33 -070050config HAVE_EFFICIENT_UNALIGNED_ACCESS
Jan Beulich9ba16082008-10-15 22:01:38 -070051 bool
Johannes Berg58340a02008-07-25 01:45:33 -070052 help
53 Some architectures are unable to perform unaligned accesses
54 without the use of get_unaligned/put_unaligned. Others are
55 unable to perform such accesses efficiently (e.g. trap on
56 unaligned access and require fixing it up in the exception
57 handler.)
58
59 This symbol should be selected by an architecture if it can
60 perform unaligned accesses efficiently to allow different
61 code paths to be selected for these cases. Some network
62 drivers, for example, could opt to not fix up alignment
63 problems with received packets if doing so would not help
64 much.
65
66 See Documentation/unaligned-memory-access.txt for more
67 information on the topic of unaligned memory accesses.
68
Heiko Carstens1a94bc32009-01-14 14:13:59 +010069config HAVE_SYSCALL_WRAPPERS
70 bool
71
Ananth N Mavinakayanahalli9edddaa2008-03-04 14:28:37 -080072config KRETPROBES
73 def_bool y
74 depends on KPROBES && HAVE_KRETPROBES
75
Avi Kivity7c68af62009-09-19 09:40:22 +030076config USER_RETURN_NOTIFIER
77 bool
78 depends on HAVE_USER_RETURN_NOTIFIER
79 help
80 Provide a kernel-internal notification when a cpu is about to
81 switch to user mode.
82
Rik van Riel28b2ee22008-07-23 21:27:05 -070083config HAVE_IOREMAP_PROT
Jan Beulich9ba16082008-10-15 22:01:38 -070084 bool
Rik van Riel28b2ee22008-07-23 21:27:05 -070085
Mathieu Desnoyers125e5642008-02-02 15:10:36 -050086config HAVE_KPROBES
Jan Beulich9ba16082008-10-15 22:01:38 -070087 bool
Ananth N Mavinakayanahalli9edddaa2008-03-04 14:28:37 -080088
89config HAVE_KRETPROBES
Jan Beulich9ba16082008-10-15 22:01:38 -070090 bool
Arthur Kepner74bc7ce2008-04-29 01:00:30 -070091
Masami Hiramatsuafd66252010-02-25 08:34:07 -050092config HAVE_OPTPROBES
93 bool
Roland McGrath1f5a4ad2008-07-25 19:45:57 -070094#
95# An arch should select this if it provides all these things:
96#
97# task_pt_regs() in asm/processor.h or asm/ptrace.h
98# arch_has_single_step() if there is hardware single-step support
99# arch_has_block_step() if there is hardware block-step support
Roland McGrath1f5a4ad2008-07-25 19:45:57 -0700100# asm/syscall.h supplying asm-generic/syscall.h interface
101# linux/regset.h user_regset interfaces
102# CORE_DUMP_USE_REGSET #define'd in linux/elf.h
103# TIF_SYSCALL_TRACE calls tracehook_report_syscall_{entry,exit}
104# TIF_NOTIFY_RESUME calls tracehook_notify_resume()
105# signal delivery calls tracehook_signal_handler()
106#
107config HAVE_ARCH_TRACEHOOK
Jan Beulich9ba16082008-10-15 22:01:38 -0700108 bool
Roland McGrath1f5a4ad2008-07-25 19:45:57 -0700109
Arthur Kepner74bc7ce2008-04-29 01:00:30 -0700110config HAVE_DMA_ATTRS
Jan Beulich9ba16082008-10-15 22:01:38 -0700111 bool
Jens Axboe3d442232008-06-26 11:21:34 +0200112
113config USE_GENERIC_SMP_HELPERS
Jan Beulich9ba16082008-10-15 22:01:38 -0700114 bool
David Brownell9483a572008-07-23 21:26:48 -0700115
Heiko Carstensf850c30c2010-02-10 17:25:17 +0100116config HAVE_REGS_AND_STACK_ACCESS_API
117 bool
Heiko Carstense01292b2010-02-18 14:25:21 +0100118 help
119 This symbol should be selected by an architecure if it supports
120 the API needed to access registers and stack entries from pt_regs,
121 declared in asm/ptrace.h
122 For example the kprobes-based event tracer needs this API.
Heiko Carstensf850c30c2010-02-10 17:25:17 +0100123
David Brownell9483a572008-07-23 21:26:48 -0700124config HAVE_CLK
Jan Beulich9ba16082008-10-15 22:01:38 -0700125 bool
David Brownell9483a572008-07-23 21:26:48 -0700126 help
127 The <linux/clk.h> calls support software clock gating and
128 thus are a key power management tool on many systems.
129
Joerg Roedel5ee00bd2009-01-09 12:14:24 +0100130config HAVE_DMA_API_DEBUG
131 bool
Heiko Carstens36cd3c92009-04-09 18:48:34 +0200132
133config HAVE_DEFAULT_NO_SPIN_MUTEXES
134 bool
K.Prasad62a038d2009-06-01 23:43:33 +0530135
136config HAVE_HW_BREAKPOINT
137 bool
Frederic Weisbecker99e8c5a2009-12-17 01:33:54 +0100138 depends on PERF_EVENTS
K.Prasad62a038d2009-06-01 23:43:33 +0530139
Frederic Weisbecker01027522010-04-11 18:55:56 +0200140config HAVE_MIXED_BREAKPOINTS_REGS
141 bool
142 depends on HAVE_HW_BREAKPOINT
143 help
144 Depending on the arch implementation of hardware breakpoints,
145 some of them have separate registers for data and instruction
146 breakpoints addresses, others have mixed registers to store
147 them but define the access type in a control register.
148 Select this option if your arch implements breakpoints under the
149 latter fashion.
150
Avi Kivity7c68af62009-09-19 09:40:22 +0300151config HAVE_USER_RETURN_NOTIFIER
152 bool
Ingo Molnara1922ed2009-09-07 08:19:51 +0200153
Frederic Weisbeckerc01d4322010-05-15 22:57:48 +0200154config HAVE_PERF_EVENTS_NMI
155 bool
Frederic Weisbecker23637d42010-05-15 23:15:20 +0200156 help
157 System hardware can generate an NMI using the perf event
158 subsystem. Also has support for calculating CPU cycle events
159 to determine how many clock cycles in a given period.
Frederic Weisbeckerc01d4322010-05-15 22:57:48 +0200160
Peter Oberparleiter2521f2c2009-06-17 16:28:08 -0700161source "kernel/gcov/Kconfig"