xref: /linux/arch/Kconfig (revision a33f32244d8550da8b4a26e277ce07d5c6d158b5)
1#
2# General architecture dependent options
3#
4
5config OPROFILE
6	tristate "OProfile system profiling"
7	depends on PROFILING
8	depends on HAVE_OPROFILE
9	select RING_BUFFER
10	select RING_BUFFER_ALLOW_SWAP
11	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
18config 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
30config HAVE_OPROFILE
31	bool
32
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
44config OPTPROBES
45	bool "Kprobes jump optimization support (EXPERIMENTAL)"
46	default y
47	depends on KPROBES
48	depends on !PREEMPT
49	depends on HAVE_OPTPROBES
50	select KALLSYMS_ALL
51	help
52	  This option will allow kprobes to optimize breakpoint to
53	  a jump for reducing its overhead.
54
55config HAVE_EFFICIENT_UNALIGNED_ACCESS
56	bool
57	help
58	  Some architectures are unable to perform unaligned accesses
59	  without the use of get_unaligned/put_unaligned. Others are
60	  unable to perform such accesses efficiently (e.g. trap on
61	  unaligned access and require fixing it up in the exception
62	  handler.)
63
64	  This symbol should be selected by an architecture if it can
65	  perform unaligned accesses efficiently to allow different
66	  code paths to be selected for these cases. Some network
67	  drivers, for example, could opt to not fix up alignment
68	  problems with received packets if doing so would not help
69	  much.
70
71	  See Documentation/unaligned-memory-access.txt for more
72	  information on the topic of unaligned memory accesses.
73
74config HAVE_SYSCALL_WRAPPERS
75	bool
76
77config KRETPROBES
78	def_bool y
79	depends on KPROBES && HAVE_KRETPROBES
80
81config USER_RETURN_NOTIFIER
82	bool
83	depends on HAVE_USER_RETURN_NOTIFIER
84	help
85	  Provide a kernel-internal notification when a cpu is about to
86	  switch to user mode.
87
88config HAVE_IOREMAP_PROT
89	bool
90
91config HAVE_KPROBES
92	bool
93
94config HAVE_KRETPROBES
95	bool
96
97config HAVE_OPTPROBES
98	bool
99#
100# An arch should select this if it provides all these things:
101#
102#	task_pt_regs()		in asm/processor.h or asm/ptrace.h
103#	arch_has_single_step()	if there is hardware single-step support
104#	arch_has_block_step()	if there is hardware block-step support
105#	asm/syscall.h		supplying asm-generic/syscall.h interface
106#	linux/regset.h		user_regset interfaces
107#	CORE_DUMP_USE_REGSET	#define'd in linux/elf.h
108#	TIF_SYSCALL_TRACE	calls tracehook_report_syscall_{entry,exit}
109#	TIF_NOTIFY_RESUME	calls tracehook_notify_resume()
110#	signal delivery		calls tracehook_signal_handler()
111#
112config HAVE_ARCH_TRACEHOOK
113	bool
114
115config HAVE_DMA_ATTRS
116	bool
117
118config USE_GENERIC_SMP_HELPERS
119	bool
120
121config HAVE_REGS_AND_STACK_ACCESS_API
122	bool
123	help
124	  This symbol should be selected by an architecure if it supports
125	  the API needed to access registers and stack entries from pt_regs,
126	  declared in asm/ptrace.h
127	  For example the kprobes-based event tracer needs this API.
128
129config HAVE_CLK
130	bool
131	help
132	  The <linux/clk.h> calls support software clock gating and
133	  thus are a key power management tool on many systems.
134
135config HAVE_DMA_API_DEBUG
136	bool
137
138config HAVE_DEFAULT_NO_SPIN_MUTEXES
139	bool
140
141config HAVE_HW_BREAKPOINT
142	bool
143	depends on PERF_EVENTS
144
145config HAVE_USER_RETURN_NOTIFIER
146	bool
147
148source "kernel/gcov/Kconfig"
149