linux/arch/x86/kernel
Arjan van de Ven 5bc27dc2f5 x86: pull bp calculation earlier into the backtrace path
Right now, we take the stack pointer early during the backtrace path, but
only calculate bp several functions deep later, making it hard to reconcile
the stack and bp backtraces (as well as showing several internal backtrace
functions on the stack with bp based backtracing).

This patch moves the bp taking to the same place we take the stack pointer;
sadly this ripples through several layers of the back tracing stack,
but it's not all that bad in the end I hope.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-01-30 13:33:07 +01:00
..
acpi x86: unify arch/x86/kernel/acpi/sleep*.c 2008-01-30 13:32:54 +01:00
cpu x86: change x86 machine check handler to use unlocked_ioctl instead 2008-01-30 13:32:59 +01:00
.gitignore
alternative.c x86: add set/clear_cpu_cap operations 2008-01-30 13:30:55 +01:00
aperture_64.c x86: clean up arch/x86/kernel/aperture_64.c printk()s 2008-01-30 13:30:10 +01:00
apic_32.c x86: preset apic clockevents multiplicator 2008-01-30 13:33:04 +01:00
apic_64.c x86: preset apic clockevents multiplicator 2008-01-30 13:33:04 +01:00
apm_32.c x86: get rid of checkpatch.pl complains on apm_32.c 2008-01-30 13:32:32 +01:00
asm-offsets_32.c x86: unify struct desc_ptr 2008-01-30 13:31:12 +01:00
asm-offsets_64.c x86: unify tss_struct 2008-01-30 13:31:31 +01:00
asm-offsets.c
audit_64.c
bootflag.c x86: coding style cleanup for kernel/bootflag.c 2008-01-30 13:32:31 +01:00
bugs_64.c
cpuid.c PM: Acquire device locks on suspend 2008-01-24 20:40:04 -08:00
crash_dump_32.c
crash_dump_64.c
crash.c
doublefault_32.c x86: unify tss_struct 2008-01-30 13:31:31 +01:00
ds.c x86, ptrace: support 32bit-cross-64bit BTS recording 2008-01-30 13:32:03 +01:00
e820_32.c x86 boot: use E820 memory map on EFI 32 platform 2008-01-30 13:31:19 +01:00
e820_64.c x86: prepare 64-bit architecture initialization for paravirt 2008-01-30 13:31:11 +01:00
early_printk.c
early-quirks.c x86: clean up arch/x86/kernel/early-quirks.c 2008-01-30 13:31:26 +01:00
efi_32.c x86: 32-bit EFI runtime service support: fixes in sync with 64-bit support 2008-01-30 13:32:11 +01:00
efi_64.c x86/efi: fix improper use of lvalue 2008-01-30 13:32:44 +01:00
efi_stub_32.S
efi_stub_64.S x86: EFI runtime service support 2008-01-30 13:31:19 +01:00
efi.c x86: 32-bit EFI runtime service support: fixes in sync with 64-bit support 2008-01-30 13:32:11 +01:00
entry_32.S x86: move to .rodata/.init.data 2008-01-30 13:31:23 +01:00
entry_64.S x86: replace privileged instructions with paravirt macros 2008-01-30 13:32:08 +01:00
genapic_64.c
genapic_flat_64.c
geode_32.c
head64.c x86: make early printk selectable on 64-bit as well 2008-01-30 13:33:06 +01:00
head_32.S
head_64.S x86: make early printk selectable on 64-bit as well 2008-01-30 13:33:06 +01:00
hpet.c x86: remove duplicate includes 2008-01-30 13:30:32 +01:00
i386_ksyms_32.c x86: unexport __{read,write}_lock_failed 2008-01-30 13:30:29 +01:00
i387.c x86: x86 user_regset cleanup 2008-01-30 13:31:55 +01:00
i8237.c Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
i8253.c mips, x86: optimize the i8259 code a bit 2008-01-30 13:30:47 +01:00
i8259_32.c x86: rename the struct pt_regs members for 32/64-bit consistency 2008-01-30 13:30:56 +01:00
i8259_64.c x86: move to .rodata/.init.data 2008-01-30 13:31:23 +01:00
init_task.c x86: nuke a ton of unused exports 2008-01-30 13:30:28 +01:00
io_apic_32.c arch/x86/kernel/io_apic_{64,32}.c: use time_before 2008-01-30 13:32:19 +01:00
io_apic_64.c arch/x86/kernel/io_apic_{64,32}.c: use time_before 2008-01-30 13:32:19 +01:00
io_delay.c x86: add DMI quirk for io-delay hangs on Compaq Presario V6000 laptops 2008-01-30 13:30:05 +01:00
ioport_32.c x86: rename the struct pt_regs members for 32/64-bit consistency 2008-01-30 13:30:56 +01:00
ioport_64.c x86: rename the struct pt_regs members for 32/64-bit consistency 2008-01-30 13:30:56 +01:00
irq_32.c x86: remove all definitions with fastcall 2008-01-30 13:31:17 +01:00
irq_64.c x86: rename the struct pt_regs members for 32/64-bit consistency 2008-01-30 13:30:56 +01:00
k8.c
kdebugfs.c x86 boot : export boot_params via debugfs for debugging 2008-01-30 13:32:51 +01:00
kprobes.c x86: trivial whitespace in kprobes.c 2008-01-30 13:33:01 +01:00
ldt.c x86: change write_ldt_entry signature 2008-01-30 13:31:13 +01:00
machine_kexec_32.c x86: unify struct desc_ptr 2008-01-30 13:31:12 +01:00
machine_kexec_64.c x86: 64-bit, make sparsemem vmemmap the only memory model 2008-01-30 13:30:47 +01:00
Makefile x86 boot : export boot_params via debugfs for debugging 2008-01-30 13:32:51 +01:00
mca_32.c
mfgpt_32.c x86: GEODE fix a race condition in the MFGPT timer tick 2008-01-22 23:30:16 +01:00
microcode.c cpu-hotplug: replace lock_cpu_hotplug() with get_online_cpus() 2008-01-25 21:08:02 +01:00
module_32.c
module_64.c
mpparse_32.c arch/x86/: spelling fixes 2008-01-30 13:31:42 +01:00
mpparse_64.c
msr.c PM: Acquire device locks on suspend 2008-01-24 20:40:04 -08:00
nmi_32.c x86: clean up nmi_32/64.c 2008-01-30 13:30:33 +01:00
nmi_64.c x86: clean up nmi_32/64.c 2008-01-30 13:30:33 +01:00
numaq_32.c
paravirt_patch_32.c x86: move patching code to arch-specific file. 2008-01-30 13:32:10 +01:00
paravirt_patch_64.c x86: patching functions on 64-bit 2008-01-30 13:32:10 +01:00
paravirt.c replace x86_read/write_per_cpu with a common function. 2008-01-30 13:32:11 +01:00
pci-calgary_64.c x86: remove duplicate includes 2008-01-30 13:30:32 +01:00
pci-dma_32.c
pci-dma_64.c x86: pci-dma_64.c: cleanups 2008-01-30 13:30:31 +01:00
pci-gart_64.c x86: add the capability to print fuzzy backtraces 2008-01-30 13:33:07 +01:00
pci-nommu_64.c
pci-swiotlb_64.c x86: nuke a ton of unused exports 2008-01-30 13:30:28 +01:00
pcspeaker.c
pmtimer_64.c x86: move pmtmr related declarations 2008-01-30 13:30:18 +01:00
process_32.c x86: pull bp calculation earlier into the backtrace path 2008-01-30 13:33:07 +01:00
process_64.c x86: add the capability to print fuzzy backtraces 2008-01-30 13:33:07 +01:00
ptrace.c x86, ptrace: add bts_struct size to status command 2008-01-30 13:32:54 +01:00
quirks.c
reboot_fixups_32.c
reboot.c x86: reboot_{32|64}.c unification 2008-01-30 13:32:51 +01:00
relocate_kernel_32.S
relocate_kernel_64.S
rtc.c x86: fix sched_clock() 2008-01-30 13:32:40 +01:00
scx200_32.c
setup64.c x86 boot : export boot_params via debugfs for debugging 2008-01-30 13:32:51 +01:00
setup_32.c i386: handle an initrd in highmem (version 2) 2008-01-30 13:32:51 +01:00
setup_64.c x86: discover_ebda section mismatch 2008-01-30 13:33:05 +01:00
sigframe_32.h
signal_32.c x86: remove all definitions with fastcall 2008-01-30 13:31:17 +01:00
signal_64.c x86: get rid of _MASK flags 2008-01-30 13:31:27 +01:00
smp_32.c x86: voluntary leave_mm before entering ACPI C3 2008-01-30 13:32:01 +01:00
smp_64.c x86: voluntary leave_mm before entering ACPI C3 2008-01-30 13:32:01 +01:00
smpboot_32.c x86: adjust enable_NMI_through_LVT0() 2008-01-30 13:31:24 +01:00
smpboot_64.c x86: provide 64-bit with a load_sp0 function. 2008-01-30 13:31:31 +01:00
smpcommon_32.c x86: change write_gdt_entry signature. 2008-01-30 13:31:13 +01:00
srat_32.c
stacktrace.c x86: pull bp calculation earlier into the backtrace path 2008-01-30 13:33:07 +01:00
step.c x86: move get_segment_eip() to step.c 2008-01-30 13:33:00 +01:00
summit_32.c
suspend_64.c x86: make __{save,restore}_processor_state static 2008-01-30 13:31:23 +01:00
suspend_asm_64.S x86: rename the struct pt_regs members for 32/64-bit consistency 2008-01-30 13:30:56 +01:00
sys_i386_32.c
sys_x86_64.c x86: PIE executable randomization, checkpatch fixes 2008-01-30 13:31:07 +01:00
syscall_64.c
syscall_table_32.S
tce_64.c
time_32.c x86: rename the struct pt_regs members for 32/64-bit consistency 2008-01-30 13:30:56 +01:00
time_64.c x86: remove get_cycles_sync 2008-01-30 13:32:39 +01:00
tls.c x86: x86 user_regset TLS 2008-01-30 13:31:52 +01:00
tls.h x86: x86 user_regset TLS 2008-01-30 13:31:52 +01:00
topology.c
trampoline_32.S
trampoline_64.S
traps_32.c x86: pull bp calculation earlier into the backtrace path 2008-01-30 13:33:07 +01:00
traps_64.c x86: add the capability to print fuzzy backtraces 2008-01-30 13:33:07 +01:00
tsc_32.c x86: allow TSC clock source on AMD Fam10h and some cleanup 2008-01-30 13:32:40 +01:00
tsc_64.c x86: remove explicit C3 TSC check on 64bit 2008-01-30 13:32:41 +01:00
tsc_sync.c x86: remove get_cycles_sync 2008-01-30 13:32:39 +01:00
verify_cpu_64.S
vm86_32.c arch/x86/: spelling fixes 2008-01-30 13:31:42 +01:00
vmi_32.c x86/vmi: fix compilation as a result of pte_t changes 2008-01-30 13:32:58 +01:00
vmiclock_32.c x86: move 8259 defines to i8259.h 2008-01-30 13:30:29 +01:00
vmlinux_32.lds.S x86: make arch/x86/kernel/acpi/wakeup_32.S use a separate 2008-01-30 13:32:50 +01:00
vmlinux_64.lds.S all archs: consolidate init and exit sections in vmlinux.lds.h 2008-01-28 23:21:17 +01:00
vmlinux.lds.S
vsmp_64.c x86: clean up arch/x86/kernel/vsmp_64.c 2008-01-30 13:30:24 +01:00
vsyscall_64.c x86: map vsyscalls early enough 2008-01-30 13:32:39 +01:00
x8664_ksyms_64.c x86: export cpu_gdt_descr 2008-01-30 13:31:10 +01:00