xref: /linux/arch/Kconfig (revision 9a5963eb494c8a7be65199e15854551df7d2d939)
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
12*9a5963ebSChristian 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
6058340a07SJohannes Bergconfig HAVE_EFFICIENT_UNALIGNED_ACCESS
619ba16087SJan Beulich	bool
6258340a07SJohannes Berg	help
6358340a07SJohannes Berg	  Some architectures are unable to perform unaligned accesses
6458340a07SJohannes Berg	  without the use of get_unaligned/put_unaligned. Others are
6558340a07SJohannes Berg	  unable to perform such accesses efficiently (e.g. trap on
6658340a07SJohannes Berg	  unaligned access and require fixing it up in the exception
6758340a07SJohannes Berg	  handler.)
6858340a07SJohannes Berg
6958340a07SJohannes Berg	  This symbol should be selected by an architecture if it can
7058340a07SJohannes Berg	  perform unaligned accesses efficiently to allow different
7158340a07SJohannes Berg	  code paths to be selected for these cases. Some network
7258340a07SJohannes Berg	  drivers, for example, could opt to not fix up alignment
7358340a07SJohannes Berg	  problems with received packets if doing so would not help
7458340a07SJohannes Berg	  much.
7558340a07SJohannes Berg
7658340a07SJohannes Berg	  See Documentation/unaligned-memory-access.txt for more
7758340a07SJohannes Berg	  information on the topic of unaligned memory accesses.
7858340a07SJohannes Berg
791a94bc34SHeiko Carstensconfig HAVE_SYSCALL_WRAPPERS
801a94bc34SHeiko Carstens	bool
811a94bc34SHeiko Carstens
829edddaa2SAnanth N Mavinakayanahalliconfig KRETPROBES
839edddaa2SAnanth N Mavinakayanahalli	def_bool y
849edddaa2SAnanth N Mavinakayanahalli	depends on KPROBES && HAVE_KRETPROBES
859edddaa2SAnanth N Mavinakayanahalli
8628b2ee20SRik van Rielconfig HAVE_IOREMAP_PROT
879ba16087SJan Beulich	bool
8828b2ee20SRik van Riel
89125e5645SMathieu Desnoyersconfig HAVE_KPROBES
909ba16087SJan Beulich	bool
919edddaa2SAnanth N Mavinakayanahalli
929edddaa2SAnanth N Mavinakayanahalliconfig HAVE_KRETPROBES
939ba16087SJan Beulich	bool
9474bc7ceeSArthur Kepner
951f5a4ad9SRoland McGrath#
961f5a4ad9SRoland McGrath# An arch should select this if it provides all these things:
971f5a4ad9SRoland McGrath#
981f5a4ad9SRoland McGrath#	task_pt_regs()		in asm/processor.h or asm/ptrace.h
991f5a4ad9SRoland McGrath#	arch_has_single_step()	if there is hardware single-step support
1001f5a4ad9SRoland McGrath#	arch_has_block_step()	if there is hardware block-step support
1011f5a4ad9SRoland McGrath#	asm/syscall.h		supplying asm-generic/syscall.h interface
1021f5a4ad9SRoland McGrath#	linux/regset.h		user_regset interfaces
1031f5a4ad9SRoland McGrath#	CORE_DUMP_USE_REGSET	#define'd in linux/elf.h
1041f5a4ad9SRoland McGrath#	TIF_SYSCALL_TRACE	calls tracehook_report_syscall_{entry,exit}
1051f5a4ad9SRoland McGrath#	TIF_NOTIFY_RESUME	calls tracehook_notify_resume()
1061f5a4ad9SRoland McGrath#	signal delivery		calls tracehook_signal_handler()
1071f5a4ad9SRoland McGrath#
1081f5a4ad9SRoland McGrathconfig HAVE_ARCH_TRACEHOOK
1099ba16087SJan Beulich	bool
1101f5a4ad9SRoland McGrath
11174bc7ceeSArthur Kepnerconfig HAVE_DMA_ATTRS
1129ba16087SJan Beulich	bool
1133d442233SJens Axboe
1143d442233SJens Axboeconfig USE_GENERIC_SMP_HELPERS
1159ba16087SJan Beulich	bool
1169483a578SDavid Brownell
1179483a578SDavid Brownellconfig HAVE_CLK
1189ba16087SJan Beulich	bool
1199483a578SDavid Brownell	help
1209483a578SDavid Brownell	  The <linux/clk.h> calls support software clock gating and
1219483a578SDavid Brownell	  thus are a key power management tool on many systems.
1229483a578SDavid Brownell
1235ee00bd4SJoerg Roedelconfig HAVE_DMA_API_DEBUG
1245ee00bd4SJoerg Roedel	bool
12536cd3c9fSHeiko Carstens
12636cd3c9fSHeiko Carstensconfig HAVE_DEFAULT_NO_SPIN_MUTEXES
12736cd3c9fSHeiko Carstens	bool
1282521f2c2SPeter Oberparleiter
1292521f2c2SPeter Oberparleitersource "kernel/gcov/Kconfig"
130