xref: /openbmc/linux/arch/Kconfig (revision 1f5a4ad9)
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
16125e5645SMathieu Desnoyersconfig HAVE_OPROFILE
17125e5645SMathieu Desnoyers	def_bool n
18125e5645SMathieu Desnoyers
19125e5645SMathieu Desnoyersconfig KPROBES
20125e5645SMathieu Desnoyers	bool "Kprobes"
21125e5645SMathieu Desnoyers	depends on KALLSYMS && MODULES
22125e5645SMathieu Desnoyers	depends on HAVE_KPROBES
23125e5645SMathieu Desnoyers	help
24125e5645SMathieu Desnoyers	  Kprobes allows you to trap at almost any kernel address and
25125e5645SMathieu Desnoyers	  execute a callback function.  register_kprobe() establishes
26125e5645SMathieu Desnoyers	  a probepoint and specifies the callback.  Kprobes is useful
27125e5645SMathieu Desnoyers	  for kernel debugging, non-intrusive instrumentation and testing.
28125e5645SMathieu Desnoyers	  If in doubt, say "N".
29125e5645SMathieu Desnoyers
3058340a07SJohannes Bergconfig HAVE_EFFICIENT_UNALIGNED_ACCESS
3158340a07SJohannes Berg	def_bool n
3258340a07SJohannes Berg	help
3358340a07SJohannes Berg	  Some architectures are unable to perform unaligned accesses
3458340a07SJohannes Berg	  without the use of get_unaligned/put_unaligned. Others are
3558340a07SJohannes Berg	  unable to perform such accesses efficiently (e.g. trap on
3658340a07SJohannes Berg	  unaligned access and require fixing it up in the exception
3758340a07SJohannes Berg	  handler.)
3858340a07SJohannes Berg
3958340a07SJohannes Berg	  This symbol should be selected by an architecture if it can
4058340a07SJohannes Berg	  perform unaligned accesses efficiently to allow different
4158340a07SJohannes Berg	  code paths to be selected for these cases. Some network
4258340a07SJohannes Berg	  drivers, for example, could opt to not fix up alignment
4358340a07SJohannes Berg	  problems with received packets if doing so would not help
4458340a07SJohannes Berg	  much.
4558340a07SJohannes Berg
4658340a07SJohannes Berg	  See Documentation/unaligned-memory-access.txt for more
4758340a07SJohannes Berg	  information on the topic of unaligned memory accesses.
4858340a07SJohannes Berg
499edddaa2SAnanth N Mavinakayanahalliconfig KRETPROBES
509edddaa2SAnanth N Mavinakayanahalli	def_bool y
519edddaa2SAnanth N Mavinakayanahalli	depends on KPROBES && HAVE_KRETPROBES
529edddaa2SAnanth N Mavinakayanahalli
5328b2ee20SRik van Rielconfig HAVE_IOREMAP_PROT
5428b2ee20SRik van Riel	def_bool n
5528b2ee20SRik van Riel
56125e5645SMathieu Desnoyersconfig HAVE_KPROBES
57125e5645SMathieu Desnoyers	def_bool n
589edddaa2SAnanth N Mavinakayanahalli
599edddaa2SAnanth N Mavinakayanahalliconfig HAVE_KRETPROBES
609edddaa2SAnanth N Mavinakayanahalli	def_bool n
6174bc7ceeSArthur Kepner
621f5a4ad9SRoland McGrath#
631f5a4ad9SRoland McGrath# An arch should select this if it provides all these things:
641f5a4ad9SRoland McGrath#
651f5a4ad9SRoland McGrath#	task_pt_regs()		in asm/processor.h or asm/ptrace.h
661f5a4ad9SRoland McGrath#	arch_has_single_step()	if there is hardware single-step support
671f5a4ad9SRoland McGrath#	arch_has_block_step()	if there is hardware block-step support
681f5a4ad9SRoland McGrath#	arch_ptrace()		and not #define __ARCH_SYS_PTRACE
691f5a4ad9SRoland McGrath#	compat_arch_ptrace()	and #define __ARCH_WANT_COMPAT_SYS_PTRACE
701f5a4ad9SRoland McGrath#	asm/syscall.h		supplying asm-generic/syscall.h interface
711f5a4ad9SRoland McGrath#	linux/regset.h		user_regset interfaces
721f5a4ad9SRoland McGrath#	CORE_DUMP_USE_REGSET	#define'd in linux/elf.h
731f5a4ad9SRoland McGrath#	TIF_SYSCALL_TRACE	calls tracehook_report_syscall_{entry,exit}
741f5a4ad9SRoland McGrath#	TIF_NOTIFY_RESUME	calls tracehook_notify_resume()
751f5a4ad9SRoland McGrath#	signal delivery		calls tracehook_signal_handler()
761f5a4ad9SRoland McGrath#
771f5a4ad9SRoland McGrathconfig HAVE_ARCH_TRACEHOOK
781f5a4ad9SRoland McGrath	def_bool n
791f5a4ad9SRoland McGrath
8074bc7ceeSArthur Kepnerconfig HAVE_DMA_ATTRS
8174bc7ceeSArthur Kepner	def_bool n
823d442233SJens Axboe
833d442233SJens Axboeconfig USE_GENERIC_SMP_HELPERS
843d442233SJens Axboe	def_bool n
859483a578SDavid Brownell
869483a578SDavid Brownellconfig HAVE_CLK
879483a578SDavid Brownell	def_bool n
889483a578SDavid Brownell	help
899483a578SDavid Brownell	  The <linux/clk.h> calls support software clock gating and
909483a578SDavid Brownell	  thus are a key power management tool on many systems.
919483a578SDavid Brownell
92