linux/arch/x86/include/asm
Frederic Weisbecker caf4b323b0 tracing, x86: add low level support for ftrace return tracing
Impact: add infrastructure for function-return tracing

Add low level support for ftrace return tracing.

This plug-in stores return addresses on the thread_info structure of
the current task.

The index of the current return address is initialized when the task
is the first one (init) and when a process forks (the child). It is
not needed when a task does a sys_execve because after this syscall,
it still needs to return on the kernel functions it called.

Note that the code of return_to_handler has been suggested by Steven
Rostedt as almost all of the ideas of improvements in this V3.

For purpose of security, arch/x86/kernel/process_32.c is not traced
because __switch_to() changes the current task during its execution.
That could cause inconsistency in the stored return address of this
function even if I didn't have any crash after testing with tracing on
this function enabled.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-11-11 10:29:11 +01:00
..
bigsmp
es7000
mach-default
mach-generic
mach-rdc321x
mach-voyager
numaq
summit
uv
visws
xen
Kbuild
a.out-core.h
a.out.h
acpi.h
agp.h
alternative-asm.h
alternative.h
amd_iommu.h
amd_iommu_types.h
apic.h
apicdef.h
arch_hooks.h
asm.h
atomic.h
atomic_32.h
atomic_64.h
auxvec.h
bios_ebda.h
bitops.h
boot.h
bootparam.h
bug.h
bugs.h
byteorder.h
cache.h
cacheflush.h
calgary.h
calling.h
checksum.h
checksum_32.h
checksum_64.h
cmpxchg.h
cmpxchg_32.h
cmpxchg_64.h
compat.h
cpu.h
cpufeature.h x86: fix AMDC1E and XTOPOLOGY conflict in cpufeature 2008-10-31 11:01:40 +01:00
cputime.h
current.h
debugreg.h
delay.h
desc.h
desc_defs.h
device.h
div64.h
dma-mapping.h
dma.h
dmi.h
ds.h
dwarf2.h
e820.h
edac.h
efi.h
elf.h
emergency-restart.h
errno.h
fb.h
fcntl.h
fixmap.h x86: add iomap_atomic*()/iounmap_atomic() on 32-bit using fixmaps 2008-10-31 10:12:38 +01:00
fixmap_32.h x86: add iomap_atomic*()/iounmap_atomic() on 32-bit using fixmaps 2008-10-31 10:12:38 +01:00
fixmap_64.h
floppy.h
frame.h
ftrace.h tracing, x86: add low level support for ftrace return tracing 2008-11-11 10:29:11 +01:00
futex.h
gart.h
genapic.h
genapic_32.h
genapic_64.h
geode.h
gpio.h
hardirq.h
hardirq_32.h
hardirq_64.h
highmem.h x86: add iomap_atomic*()/iounmap_atomic() on 32-bit using fixmaps 2008-10-31 10:12:38 +01:00
hpet.h
hugetlb.h
hw_irq.h
hypertransport.h
i387.h
i8253.h
i8259.h
ia32.h
ia32_unistd.h
idle.h
intel_arch_perfmon.h
io.h
io_32.h
io_64.h
io_apic.h
ioctl.h
ioctls.h
iommu.h
ipcbuf.h
ipi.h
irq.h
irq_regs.h
irq_regs_32.h
irq_regs_64.h
irq_remapping.h
irq_vectors.h x86: remove VISWS and PARAVIRT around NR_IRQS puzzle 2008-11-06 09:35:34 +01:00
irqflags.h
ist.h
k8.h
kdebug.h
kexec.h
kgdb.h
kmap_types.h
kprobes.h
kvm.h
kvm_host.h
kvm_para.h
kvm_x86_emulate.h
ldt.h
lguest.h
lguest_hcall.h
linkage.h
local.h
math_emu.h
mc146818rtc.h
mca.h
mca_dma.h
mce.h
microcode.h
mman.h
mmconfig.h
mmu.h
mmu_context.h
mmu_context_32.h
mmu_context_64.h
mmx.h
mmzone.h
mmzone_32.h
mmzone_64.h
module.h
mpspec.h
mpspec_def.h
msgbuf.h
msidef.h
msr-index.h
msr.h sched: improve sched_clock() performance 2008-11-08 16:48:19 +01:00
mtrr.h
mutex.h
mutex_32.h
mutex_64.h
nmi.h
nops.h
numa.h
numa_32.h
numa_64.h
numaq.h
olpc.h
page.h
page_32.h
page_64.h
param.h
paravirt.h
parport.h
pat.h
pci-direct.h
pci.h
pci_32.h
pci_64.h
pda.h
percpu.h
pgalloc.h
pgtable-2level-defs.h
pgtable-2level.h
pgtable-3level-defs.h
pgtable-3level.h
pgtable.h
pgtable_32.h
pgtable_64.h
poll.h
posix_types.h
posix_types_32.h
posix_types_64.h
prctl.h
processor-cyrix.h
processor-flags.h
processor.h
proto.h
ptrace-abi.h
ptrace.h
pvclock-abi.h
pvclock.h
reboot.h
reboot_fixups.h
required-features.h
resource.h
resume-trace.h
rio.h
rtc.h
rwlock.h
rwsem.h
scatterlist.h
seccomp.h
seccomp_32.h
seccomp_64.h
sections.h
segment.h
sembuf.h
serial.h
setup.h
shmbuf.h
shmparam.h
sigcontext.h
sigcontext32.h
siginfo.h
signal.h
smp.h
socket.h
sockios.h
sparsemem.h
spinlock.h
spinlock_types.h
srat.h
stacktrace.h
stat.h
statfs.h
string.h
string_32.h
string_64.h
suspend.h
suspend_32.h
suspend_64.h
swiotlb.h
sync_bitops.h
syscall.h
syscalls.h
system.h
system_64.h
tce.h
termbits.h
termios.h
therm_throt.h
thread_info.h tracing, x86: add low level support for ftrace return tracing 2008-11-11 10:29:11 +01:00
time.h
timer.h
timex.h
tlb.h
tlbflush.h
topology.h sched: re-tune balancing 2008-11-05 18:04:38 +01:00
trampoline.h
traps.h
tsc.h sched: improve sched_clock() performance 2008-11-08 16:48:19 +01:00
types.h
uaccess.h
uaccess_32.h
uaccess_64.h
ucontext.h
unaligned.h
unistd.h
unistd_32.h
unistd_64.h
unwind.h
user.h
user32.h
user_32.h
user_64.h
vdso.h
vga.h
vgtod.h
vic.h
vm86.h
vmi.h
vmi_time.h
voyager.h x86, voyager: fix smp_intr_init() compile breakage 2008-11-03 10:52:21 +01:00
vsyscall.h
xcr.h
xor.h
xor_32.h
xor_64.h
xsave.h