]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/Kconfig
oprofile, s390: Add support for hardware based sampling on System z processors
[karo-tx-linux.git] / arch / Kconfig
1 #
2 # General architecture dependent options
3 #
4
5 config OPROFILE
6         tristate "OProfile system profiling"
7         depends on PROFILING
8         depends on HAVE_OPROFILE
9         select RING_BUFFER
10         select RING_BUFFER_ALLOW_SWAP
11         help
12           OProfile is a profiling system capable of profiling the
13           whole system, include the kernel, kernel modules, libraries,
14           and applications.
15
16           If unsure, say N.
17
18 config OPROFILE_EVENT_MULTIPLEX
19         bool "OProfile multiplexing support (EXPERIMENTAL)"
20         default n
21         depends on OPROFILE && X86
22         help
23           The number of hardware counters is limited. The multiplexing
24           feature enables OProfile to gather more events than counters
25           are provided by the hardware. This is realized by switching
26           between events at an user specified time interval.
27
28           If unsure, say N.
29
30 config HAVE_OPROFILE
31         bool
32
33 config HAVE_HWSAMPLER
34         bool
35
36 config KPROBES
37         bool "Kprobes"
38         depends on MODULES
39         depends on HAVE_KPROBES
40         select KALLSYMS
41         help
42           Kprobes allows you to trap at almost any kernel address and
43           execute a callback function.  register_kprobe() establishes
44           a probepoint and specifies the callback.  Kprobes is useful
45           for kernel debugging, non-intrusive instrumentation and testing.
46           If in doubt, say "N".
47
48 config JUMP_LABEL
49        bool "Optimize trace point call sites"
50        depends on HAVE_ARCH_JUMP_LABEL
51        help
52          If it is detected that the compiler has support for "asm goto",
53          the kernel will compile trace point locations with just a
54          nop instruction. When trace points are enabled, the nop will
55          be converted to a jump to the trace function. This technique
56          lowers overhead and stress on the branch prediction of the
57          processor.
58
59          On i386, options added to the compiler flags may increase
60          the size of the kernel slightly.
61
62 config OPTPROBES
63         def_bool y
64         depends on KPROBES && HAVE_OPTPROBES
65         depends on !PREEMPT
66
67 config HAVE_EFFICIENT_UNALIGNED_ACCESS
68         bool
69         help
70           Some architectures are unable to perform unaligned accesses
71           without the use of get_unaligned/put_unaligned. Others are
72           unable to perform such accesses efficiently (e.g. trap on
73           unaligned access and require fixing it up in the exception
74           handler.)
75
76           This symbol should be selected by an architecture if it can
77           perform unaligned accesses efficiently to allow different
78           code paths to be selected for these cases. Some network
79           drivers, for example, could opt to not fix up alignment
80           problems with received packets if doing so would not help
81           much.
82
83           See Documentation/unaligned-memory-access.txt for more
84           information on the topic of unaligned memory accesses.
85
86 config HAVE_SYSCALL_WRAPPERS
87         bool
88
89 config KRETPROBES
90         def_bool y
91         depends on KPROBES && HAVE_KRETPROBES
92
93 config USER_RETURN_NOTIFIER
94         bool
95         depends on HAVE_USER_RETURN_NOTIFIER
96         help
97           Provide a kernel-internal notification when a cpu is about to
98           switch to user mode.
99
100 config HAVE_IOREMAP_PROT
101         bool
102
103 config HAVE_KPROBES
104         bool
105
106 config HAVE_KRETPROBES
107         bool
108
109 config HAVE_OPTPROBES
110         bool
111 #
112 # An arch should select this if it provides all these things:
113 #
114 #       task_pt_regs()          in asm/processor.h or asm/ptrace.h
115 #       arch_has_single_step()  if there is hardware single-step support
116 #       arch_has_block_step()   if there is hardware block-step support
117 #       asm/syscall.h           supplying asm-generic/syscall.h interface
118 #       linux/regset.h          user_regset interfaces
119 #       CORE_DUMP_USE_REGSET    #define'd in linux/elf.h
120 #       TIF_SYSCALL_TRACE       calls tracehook_report_syscall_{entry,exit}
121 #       TIF_NOTIFY_RESUME       calls tracehook_notify_resume()
122 #       signal delivery         calls tracehook_signal_handler()
123 #
124 config HAVE_ARCH_TRACEHOOK
125         bool
126
127 config HAVE_DMA_ATTRS
128         bool
129
130 config USE_GENERIC_SMP_HELPERS
131         bool
132
133 config HAVE_REGS_AND_STACK_ACCESS_API
134         bool
135         help
136           This symbol should be selected by an architecure if it supports
137           the API needed to access registers and stack entries from pt_regs,
138           declared in asm/ptrace.h
139           For example the kprobes-based event tracer needs this API.
140
141 config HAVE_CLK
142         bool
143         help
144           The <linux/clk.h> calls support software clock gating and
145           thus are a key power management tool on many systems.
146
147 config HAVE_DMA_API_DEBUG
148         bool
149
150 config HAVE_DEFAULT_NO_SPIN_MUTEXES
151         bool
152
153 config HAVE_HW_BREAKPOINT
154         bool
155         depends on PERF_EVENTS
156
157 config HAVE_MIXED_BREAKPOINTS_REGS
158         bool
159         depends on HAVE_HW_BREAKPOINT
160         help
161           Depending on the arch implementation of hardware breakpoints,
162           some of them have separate registers for data and instruction
163           breakpoints addresses, others have mixed registers to store
164           them but define the access type in a control register.
165           Select this option if your arch implements breakpoints under the
166           latter fashion.
167
168 config HAVE_USER_RETURN_NOTIFIER
169         bool
170
171 config HAVE_PERF_EVENTS_NMI
172         bool
173         help
174           System hardware can generate an NMI using the perf event
175           subsystem.  Also has support for calculating CPU cycle events
176           to determine how many clock cycles in a given period.
177
178 config HAVE_ARCH_JUMP_LABEL
179         bool
180
181 config HAVE_ARCH_MUTEX_CPU_RELAX
182         bool
183
184 source "kernel/gcov/Kconfig"