xref: /openbmc/linux/arch/Kconfig (revision 9ba16087)
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
9125e5645SMathieu Desnoyers	help
10125e5645SMathieu Desnoyers	  OProfile is a profiling system capable of profiling the
11125e5645SMathieu Desnoyers	  whole system, include the kernel, kernel modules, libraries,
12125e5645SMathieu Desnoyers	  and applications.
13125e5645SMathieu Desnoyers
14125e5645SMathieu Desnoyers	  If unsure, say N.
15125e5645SMathieu Desnoyers
16852402ccSRobert Richterconfig OPROFILE_IBS
17852402ccSRobert Richter	bool "OProfile AMD IBS support (EXPERIMENTAL)"
18852402ccSRobert Richter	default n
19852402ccSRobert Richter	depends on OPROFILE && SMP && X86
20852402ccSRobert Richter	help
21852402ccSRobert Richter          Instruction-Based Sampling (IBS) is a new profiling
22852402ccSRobert Richter          technique that provides rich, precise program performance
23852402ccSRobert Richter          information. IBS is introduced by AMD Family10h processors
24852402ccSRobert Richter          (AMD Opteron Quad-Core processor “Barcelona”) to overcome
25852402ccSRobert Richter          the limitations of conventional performance counter
26852402ccSRobert Richter          sampling.
27852402ccSRobert Richter
28852402ccSRobert Richter	  If unsure, say N.
29852402ccSRobert Richter
30125e5645SMathieu Desnoyersconfig HAVE_OPROFILE
319ba16087SJan Beulich	bool
32125e5645SMathieu Desnoyers
33125e5645SMathieu Desnoyersconfig KPROBES
34125e5645SMathieu Desnoyers	bool "Kprobes"
35125e5645SMathieu Desnoyers	depends on KALLSYMS && MODULES
36125e5645SMathieu Desnoyers	depends on HAVE_KPROBES
37125e5645SMathieu Desnoyers	help
38125e5645SMathieu Desnoyers	  Kprobes allows you to trap at almost any kernel address and
39125e5645SMathieu Desnoyers	  execute a callback function.  register_kprobe() establishes
40125e5645SMathieu Desnoyers	  a probepoint and specifies the callback.  Kprobes is useful
41125e5645SMathieu Desnoyers	  for kernel debugging, non-intrusive instrumentation and testing.
42125e5645SMathieu Desnoyers	  If in doubt, say "N".
43125e5645SMathieu Desnoyers
4458340a07SJohannes Bergconfig HAVE_EFFICIENT_UNALIGNED_ACCESS
459ba16087SJan Beulich	bool
4658340a07SJohannes Berg	help
4758340a07SJohannes Berg	  Some architectures are unable to perform unaligned accesses
4858340a07SJohannes Berg	  without the use of get_unaligned/put_unaligned. Others are
4958340a07SJohannes Berg	  unable to perform such accesses efficiently (e.g. trap on
5058340a07SJohannes Berg	  unaligned access and require fixing it up in the exception
5158340a07SJohannes Berg	  handler.)
5258340a07SJohannes Berg
5358340a07SJohannes Berg	  This symbol should be selected by an architecture if it can
5458340a07SJohannes Berg	  perform unaligned accesses efficiently to allow different
5558340a07SJohannes Berg	  code paths to be selected for these cases. Some network
5658340a07SJohannes Berg	  drivers, for example, could opt to not fix up alignment
5758340a07SJohannes Berg	  problems with received packets if doing so would not help
5858340a07SJohannes Berg	  much.
5958340a07SJohannes Berg
6058340a07SJohannes Berg	  See Documentation/unaligned-memory-access.txt for more
6158340a07SJohannes Berg	  information on the topic of unaligned memory accesses.
6258340a07SJohannes Berg
639edddaa2SAnanth N Mavinakayanahalliconfig KRETPROBES
649edddaa2SAnanth N Mavinakayanahalli	def_bool y
659edddaa2SAnanth N Mavinakayanahalli	depends on KPROBES && HAVE_KRETPROBES
669edddaa2SAnanth N Mavinakayanahalli
6728b2ee20SRik van Rielconfig HAVE_IOREMAP_PROT
689ba16087SJan Beulich	bool
6928b2ee20SRik van Riel
70125e5645SMathieu Desnoyersconfig HAVE_KPROBES
719ba16087SJan Beulich	bool
729edddaa2SAnanth N Mavinakayanahalli
739edddaa2SAnanth N Mavinakayanahalliconfig HAVE_KRETPROBES
749ba16087SJan Beulich	bool
7574bc7ceeSArthur Kepner
761f5a4ad9SRoland McGrath#
771f5a4ad9SRoland McGrath# An arch should select this if it provides all these things:
781f5a4ad9SRoland McGrath#
791f5a4ad9SRoland McGrath#	task_pt_regs()		in asm/processor.h or asm/ptrace.h
801f5a4ad9SRoland McGrath#	arch_has_single_step()	if there is hardware single-step support
811f5a4ad9SRoland McGrath#	arch_has_block_step()	if there is hardware block-step support
821f5a4ad9SRoland McGrath#	arch_ptrace()		and not #define __ARCH_SYS_PTRACE
831f5a4ad9SRoland McGrath#	compat_arch_ptrace()	and #define __ARCH_WANT_COMPAT_SYS_PTRACE
841f5a4ad9SRoland McGrath#	asm/syscall.h		supplying asm-generic/syscall.h interface
851f5a4ad9SRoland McGrath#	linux/regset.h		user_regset interfaces
861f5a4ad9SRoland McGrath#	CORE_DUMP_USE_REGSET	#define'd in linux/elf.h
871f5a4ad9SRoland McGrath#	TIF_SYSCALL_TRACE	calls tracehook_report_syscall_{entry,exit}
881f5a4ad9SRoland McGrath#	TIF_NOTIFY_RESUME	calls tracehook_notify_resume()
891f5a4ad9SRoland McGrath#	signal delivery		calls tracehook_signal_handler()
901f5a4ad9SRoland McGrath#
911f5a4ad9SRoland McGrathconfig HAVE_ARCH_TRACEHOOK
929ba16087SJan Beulich	bool
931f5a4ad9SRoland McGrath
9474bc7ceeSArthur Kepnerconfig HAVE_DMA_ATTRS
959ba16087SJan Beulich	bool
963d442233SJens Axboe
973d442233SJens Axboeconfig USE_GENERIC_SMP_HELPERS
989ba16087SJan Beulich	bool
999483a578SDavid Brownell
1009483a578SDavid Brownellconfig HAVE_CLK
1019ba16087SJan Beulich	bool
1029483a578SDavid Brownell	help
1039483a578SDavid Brownell	  The <linux/clk.h> calls support software clock gating and
1049483a578SDavid Brownell	  thus are a key power management tool on many systems.
1059483a578SDavid Brownell
106