xref: /linux/arch/Kconfig (revision afd66255b9a48f5851326ddae50e2203fbf71dc9)
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
940ada30fSIngo Molnar	depends on TRACING_SUPPORT
10d69d59f4SIngo Molnar	select TRACING
11d69d59f4SIngo Molnar	select RING_BUFFER
129a5963ebSChristian Borntraeger	select RING_BUFFER_ALLOW_SWAP
13125e5645SMathieu Desnoyers	help
14125e5645SMathieu Desnoyers	  OProfile is a profiling system capable of profiling the
15125e5645SMathieu Desnoyers	  whole system, include the kernel, kernel modules, libraries,
16125e5645SMathieu Desnoyers	  and applications.
17125e5645SMathieu Desnoyers
18125e5645SMathieu Desnoyers	  If unsure, say N.
19125e5645SMathieu Desnoyers
20852402ccSRobert Richterconfig OPROFILE_IBS
21852402ccSRobert Richter	bool "OProfile AMD IBS support (EXPERIMENTAL)"
22852402ccSRobert Richter	default n
23852402ccSRobert Richter	depends on OPROFILE && SMP && X86
24852402ccSRobert Richter	help
25852402ccSRobert Richter          Instruction-Based Sampling (IBS) is a new profiling
26852402ccSRobert Richter          technique that provides rich, precise program performance
27852402ccSRobert Richter          information. IBS is introduced by AMD Family10h processors
28ba8b453dSJesper Dangaard Brouer          (AMD Opteron Quad-Core processor "Barcelona") to overcome
29852402ccSRobert Richter          the limitations of conventional performance counter
30852402ccSRobert Richter          sampling.
31852402ccSRobert Richter
32852402ccSRobert Richter	  If unsure, say N.
33852402ccSRobert Richter
344d4036e0SJason Yehconfig OPROFILE_EVENT_MULTIPLEX
354d4036e0SJason Yeh	bool "OProfile multiplexing support (EXPERIMENTAL)"
364d4036e0SJason Yeh	default n
374d4036e0SJason Yeh	depends on OPROFILE && X86
384d4036e0SJason Yeh	help
394d4036e0SJason Yeh	  The number of hardware counters is limited. The multiplexing
404d4036e0SJason Yeh	  feature enables OProfile to gather more events than counters
414d4036e0SJason Yeh	  are provided by the hardware. This is realized by switching
424d4036e0SJason Yeh	  between events at an user specified time interval.
434d4036e0SJason Yeh
444d4036e0SJason Yeh	  If unsure, say N.
454d4036e0SJason Yeh
46125e5645SMathieu Desnoyersconfig HAVE_OPROFILE
479ba16087SJan Beulich	bool
48125e5645SMathieu Desnoyers
49125e5645SMathieu Desnoyersconfig KPROBES
50125e5645SMathieu Desnoyers	bool "Kprobes"
51125e5645SMathieu Desnoyers	depends on KALLSYMS && MODULES
52125e5645SMathieu Desnoyers	depends on HAVE_KPROBES
53125e5645SMathieu Desnoyers	help
54125e5645SMathieu Desnoyers	  Kprobes allows you to trap at almost any kernel address and
55125e5645SMathieu Desnoyers	  execute a callback function.  register_kprobe() establishes
56125e5645SMathieu Desnoyers	  a probepoint and specifies the callback.  Kprobes is useful
57125e5645SMathieu Desnoyers	  for kernel debugging, non-intrusive instrumentation and testing.
58125e5645SMathieu Desnoyers	  If in doubt, say "N".
59125e5645SMathieu Desnoyers
60*afd66255SMasami Hiramatsuconfig OPTPROBES
61*afd66255SMasami Hiramatsu	bool "Kprobes jump optimization support (EXPERIMENTAL)"
62*afd66255SMasami Hiramatsu	default y
63*afd66255SMasami Hiramatsu	depends on KPROBES
64*afd66255SMasami Hiramatsu	depends on !PREEMPT
65*afd66255SMasami Hiramatsu	depends on HAVE_OPTPROBES
66*afd66255SMasami Hiramatsu	select KALLSYMS_ALL
67*afd66255SMasami Hiramatsu	help
68*afd66255SMasami Hiramatsu	  This option will allow kprobes to optimize breakpoint to
69*afd66255SMasami Hiramatsu	  a jump for reducing its overhead.
70*afd66255SMasami Hiramatsu
7158340a07SJohannes Bergconfig HAVE_EFFICIENT_UNALIGNED_ACCESS
729ba16087SJan Beulich	bool
7358340a07SJohannes Berg	help
7458340a07SJohannes Berg	  Some architectures are unable to perform unaligned accesses
7558340a07SJohannes Berg	  without the use of get_unaligned/put_unaligned. Others are
7658340a07SJohannes Berg	  unable to perform such accesses efficiently (e.g. trap on
7758340a07SJohannes Berg	  unaligned access and require fixing it up in the exception
7858340a07SJohannes Berg	  handler.)
7958340a07SJohannes Berg
8058340a07SJohannes Berg	  This symbol should be selected by an architecture if it can
8158340a07SJohannes Berg	  perform unaligned accesses efficiently to allow different
8258340a07SJohannes Berg	  code paths to be selected for these cases. Some network
8358340a07SJohannes Berg	  drivers, for example, could opt to not fix up alignment
8458340a07SJohannes Berg	  problems with received packets if doing so would not help
8558340a07SJohannes Berg	  much.
8658340a07SJohannes Berg
8758340a07SJohannes Berg	  See Documentation/unaligned-memory-access.txt for more
8858340a07SJohannes Berg	  information on the topic of unaligned memory accesses.
8958340a07SJohannes Berg
901a94bc34SHeiko Carstensconfig HAVE_SYSCALL_WRAPPERS
911a94bc34SHeiko Carstens	bool
921a94bc34SHeiko Carstens
939edddaa2SAnanth N Mavinakayanahalliconfig KRETPROBES
949edddaa2SAnanth N Mavinakayanahalli	def_bool y
959edddaa2SAnanth N Mavinakayanahalli	depends on KPROBES && HAVE_KRETPROBES
969edddaa2SAnanth N Mavinakayanahalli
977c68af6eSAvi Kivityconfig USER_RETURN_NOTIFIER
987c68af6eSAvi Kivity	bool
997c68af6eSAvi Kivity	depends on HAVE_USER_RETURN_NOTIFIER
1007c68af6eSAvi Kivity	help
1017c68af6eSAvi Kivity	  Provide a kernel-internal notification when a cpu is about to
1027c68af6eSAvi Kivity	  switch to user mode.
1037c68af6eSAvi Kivity
10428b2ee20SRik van Rielconfig HAVE_IOREMAP_PROT
1059ba16087SJan Beulich	bool
10628b2ee20SRik van Riel
107125e5645SMathieu Desnoyersconfig HAVE_KPROBES
1089ba16087SJan Beulich	bool
1099edddaa2SAnanth N Mavinakayanahalli
1109edddaa2SAnanth N Mavinakayanahalliconfig HAVE_KRETPROBES
1119ba16087SJan Beulich	bool
11274bc7ceeSArthur Kepner
113*afd66255SMasami Hiramatsuconfig HAVE_OPTPROBES
114*afd66255SMasami Hiramatsu	bool
1151f5a4ad9SRoland McGrath#
1161f5a4ad9SRoland McGrath# An arch should select this if it provides all these things:
1171f5a4ad9SRoland McGrath#
1181f5a4ad9SRoland McGrath#	task_pt_regs()		in asm/processor.h or asm/ptrace.h
1191f5a4ad9SRoland McGrath#	arch_has_single_step()	if there is hardware single-step support
1201f5a4ad9SRoland McGrath#	arch_has_block_step()	if there is hardware block-step support
1211f5a4ad9SRoland McGrath#	asm/syscall.h		supplying asm-generic/syscall.h interface
1221f5a4ad9SRoland McGrath#	linux/regset.h		user_regset interfaces
1231f5a4ad9SRoland McGrath#	CORE_DUMP_USE_REGSET	#define'd in linux/elf.h
1241f5a4ad9SRoland McGrath#	TIF_SYSCALL_TRACE	calls tracehook_report_syscall_{entry,exit}
1251f5a4ad9SRoland McGrath#	TIF_NOTIFY_RESUME	calls tracehook_notify_resume()
1261f5a4ad9SRoland McGrath#	signal delivery		calls tracehook_signal_handler()
1271f5a4ad9SRoland McGrath#
1281f5a4ad9SRoland McGrathconfig HAVE_ARCH_TRACEHOOK
1299ba16087SJan Beulich	bool
1301f5a4ad9SRoland McGrath
13174bc7ceeSArthur Kepnerconfig HAVE_DMA_ATTRS
1329ba16087SJan Beulich	bool
1333d442233SJens Axboe
1343d442233SJens Axboeconfig USE_GENERIC_SMP_HELPERS
1359ba16087SJan Beulich	bool
1369483a578SDavid Brownell
1379483a578SDavid Brownellconfig HAVE_CLK
1389ba16087SJan Beulich	bool
1399483a578SDavid Brownell	help
1409483a578SDavid Brownell	  The <linux/clk.h> calls support software clock gating and
1419483a578SDavid Brownell	  thus are a key power management tool on many systems.
1429483a578SDavid Brownell
1435ee00bd4SJoerg Roedelconfig HAVE_DMA_API_DEBUG
1445ee00bd4SJoerg Roedel	bool
14536cd3c9fSHeiko Carstens
14636cd3c9fSHeiko Carstensconfig HAVE_DEFAULT_NO_SPIN_MUTEXES
14736cd3c9fSHeiko Carstens	bool
14862a038d3SK.Prasad
14962a038d3SK.Prasadconfig HAVE_HW_BREAKPOINT
15062a038d3SK.Prasad	bool
15199e8c5a3SFrederic Weisbecker	depends on PERF_EVENTS
15262a038d3SK.Prasad
1537c68af6eSAvi Kivityconfig HAVE_USER_RETURN_NOTIFIER
1547c68af6eSAvi Kivity	bool
155a1922ed6SIngo Molnar
1562521f2c2SPeter Oberparleitersource "kernel/gcov/Kconfig"
157