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