xref: /linux/arch/Kconfig (revision 4d4036e0e7299c6cbb2d2421b4b30b7a409ce61a)
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
12125e5645SMathieu Desnoyers	help
13125e5645SMathieu Desnoyers	  OProfile is a profiling system capable of profiling the
14125e5645SMathieu Desnoyers	  whole system, include the kernel, kernel modules, libraries,
15125e5645SMathieu Desnoyers	  and applications.
16125e5645SMathieu Desnoyers
17125e5645SMathieu Desnoyers	  If unsure, say N.
18125e5645SMathieu Desnoyers
19852402ccSRobert Richterconfig OPROFILE_IBS
20852402ccSRobert Richter	bool "OProfile AMD IBS support (EXPERIMENTAL)"
21852402ccSRobert Richter	default n
22852402ccSRobert Richter	depends on OPROFILE && SMP && X86
23852402ccSRobert Richter	help
24852402ccSRobert Richter          Instruction-Based Sampling (IBS) is a new profiling
25852402ccSRobert Richter          technique that provides rich, precise program performance
26852402ccSRobert Richter          information. IBS is introduced by AMD Family10h processors
27ba8b453dSJesper Dangaard Brouer          (AMD Opteron Quad-Core processor "Barcelona") to overcome
28852402ccSRobert Richter          the limitations of conventional performance counter
29852402ccSRobert Richter          sampling.
30852402ccSRobert Richter
31852402ccSRobert Richter	  If unsure, say N.
32852402ccSRobert Richter
33*4d4036e0SJason Yehconfig OPROFILE_EVENT_MULTIPLEX
34*4d4036e0SJason Yeh	bool "OProfile multiplexing support (EXPERIMENTAL)"
35*4d4036e0SJason Yeh	default n
36*4d4036e0SJason Yeh	depends on OPROFILE && X86
37*4d4036e0SJason Yeh	help
38*4d4036e0SJason Yeh	  The number of hardware counters is limited. The multiplexing
39*4d4036e0SJason Yeh	  feature enables OProfile to gather more events than counters
40*4d4036e0SJason Yeh	  are provided by the hardware. This is realized by switching
41*4d4036e0SJason Yeh	  between events at an user specified time interval.
42*4d4036e0SJason Yeh
43*4d4036e0SJason Yeh	  If unsure, say N.
44*4d4036e0SJason Yeh
45125e5645SMathieu Desnoyersconfig HAVE_OPROFILE
469ba16087SJan Beulich	bool
47125e5645SMathieu Desnoyers
48125e5645SMathieu Desnoyersconfig KPROBES
49125e5645SMathieu Desnoyers	bool "Kprobes"
50125e5645SMathieu Desnoyers	depends on KALLSYMS && MODULES
51125e5645SMathieu Desnoyers	depends on HAVE_KPROBES
52125e5645SMathieu Desnoyers	help
53125e5645SMathieu Desnoyers	  Kprobes allows you to trap at almost any kernel address and
54125e5645SMathieu Desnoyers	  execute a callback function.  register_kprobe() establishes
55125e5645SMathieu Desnoyers	  a probepoint and specifies the callback.  Kprobes is useful
56125e5645SMathieu Desnoyers	  for kernel debugging, non-intrusive instrumentation and testing.
57125e5645SMathieu Desnoyers	  If in doubt, say "N".
58125e5645SMathieu Desnoyers
5958340a07SJohannes Bergconfig HAVE_EFFICIENT_UNALIGNED_ACCESS
609ba16087SJan Beulich	bool
6158340a07SJohannes Berg	help
6258340a07SJohannes Berg	  Some architectures are unable to perform unaligned accesses
6358340a07SJohannes Berg	  without the use of get_unaligned/put_unaligned. Others are
6458340a07SJohannes Berg	  unable to perform such accesses efficiently (e.g. trap on
6558340a07SJohannes Berg	  unaligned access and require fixing it up in the exception
6658340a07SJohannes Berg	  handler.)
6758340a07SJohannes Berg
6858340a07SJohannes Berg	  This symbol should be selected by an architecture if it can
6958340a07SJohannes Berg	  perform unaligned accesses efficiently to allow different
7058340a07SJohannes Berg	  code paths to be selected for these cases. Some network
7158340a07SJohannes Berg	  drivers, for example, could opt to not fix up alignment
7258340a07SJohannes Berg	  problems with received packets if doing so would not help
7358340a07SJohannes Berg	  much.
7458340a07SJohannes Berg
7558340a07SJohannes Berg	  See Documentation/unaligned-memory-access.txt for more
7658340a07SJohannes Berg	  information on the topic of unaligned memory accesses.
7758340a07SJohannes Berg
781a94bc34SHeiko Carstensconfig HAVE_SYSCALL_WRAPPERS
791a94bc34SHeiko Carstens	bool
801a94bc34SHeiko Carstens
819edddaa2SAnanth N Mavinakayanahalliconfig KRETPROBES
829edddaa2SAnanth N Mavinakayanahalli	def_bool y
839edddaa2SAnanth N Mavinakayanahalli	depends on KPROBES && HAVE_KRETPROBES
849edddaa2SAnanth N Mavinakayanahalli
8528b2ee20SRik van Rielconfig HAVE_IOREMAP_PROT
869ba16087SJan Beulich	bool
8728b2ee20SRik van Riel
88125e5645SMathieu Desnoyersconfig HAVE_KPROBES
899ba16087SJan Beulich	bool
909edddaa2SAnanth N Mavinakayanahalli
919edddaa2SAnanth N Mavinakayanahalliconfig HAVE_KRETPROBES
929ba16087SJan Beulich	bool
9374bc7ceeSArthur Kepner
941f5a4ad9SRoland McGrath#
951f5a4ad9SRoland McGrath# An arch should select this if it provides all these things:
961f5a4ad9SRoland McGrath#
971f5a4ad9SRoland McGrath#	task_pt_regs()		in asm/processor.h or asm/ptrace.h
981f5a4ad9SRoland McGrath#	arch_has_single_step()	if there is hardware single-step support
991f5a4ad9SRoland McGrath#	arch_has_block_step()	if there is hardware block-step support
1001f5a4ad9SRoland McGrath#	asm/syscall.h		supplying asm-generic/syscall.h interface
1011f5a4ad9SRoland McGrath#	linux/regset.h		user_regset interfaces
1021f5a4ad9SRoland McGrath#	CORE_DUMP_USE_REGSET	#define'd in linux/elf.h
1031f5a4ad9SRoland McGrath#	TIF_SYSCALL_TRACE	calls tracehook_report_syscall_{entry,exit}
1041f5a4ad9SRoland McGrath#	TIF_NOTIFY_RESUME	calls tracehook_notify_resume()
1051f5a4ad9SRoland McGrath#	signal delivery		calls tracehook_signal_handler()
1061f5a4ad9SRoland McGrath#
1071f5a4ad9SRoland McGrathconfig HAVE_ARCH_TRACEHOOK
1089ba16087SJan Beulich	bool
1091f5a4ad9SRoland McGrath
11074bc7ceeSArthur Kepnerconfig HAVE_DMA_ATTRS
1119ba16087SJan Beulich	bool
1123d442233SJens Axboe
1133d442233SJens Axboeconfig USE_GENERIC_SMP_HELPERS
1149ba16087SJan Beulich	bool
1159483a578SDavid Brownell
1169483a578SDavid Brownellconfig HAVE_CLK
1179ba16087SJan Beulich	bool
1189483a578SDavid Brownell	help
1199483a578SDavid Brownell	  The <linux/clk.h> calls support software clock gating and
1209483a578SDavid Brownell	  thus are a key power management tool on many systems.
1219483a578SDavid Brownell
1225ee00bd4SJoerg Roedelconfig HAVE_DMA_API_DEBUG
1235ee00bd4SJoerg Roedel	bool
12436cd3c9fSHeiko Carstens
12536cd3c9fSHeiko Carstensconfig HAVE_DEFAULT_NO_SPIN_MUTEXES
12636cd3c9fSHeiko Carstens	bool
1272521f2c2SPeter Oberparleiter
1282521f2c2SPeter Oberparleitersource "kernel/gcov/Kconfig"
129