freebsd-dev/sys/i386
Yaroslav Tykhiy 042bbfae5a The i386 "call" instruction works as follows: it pushes
the return address on the stack and only then "dereferences" %pc.
Therefore, in the case of a call to an invalid address, we arrive
to the trap handler with the invalid value in tf_eip.  This used
to prevent db_backtrace() from assigning the most recent and interesting
frame on the stack to the right spot in the right function, from
which the invalid call was attempted.

Try to detect and work around that by recovering the return address
from the stack.

The work-around requires the fault address be passed to db_backtrace().
Smuggle it as tf_err.

MFC after:	1 month
Sponsored by:	RiNet (Cronyx Plus LLC)
2006-06-18 12:07:00 +00:00
..
acpica Unbreak tinderbox- fix device_printf arg to accomodate different sizes 2006-06-16 14:04:21 +00:00
bios APM was calling the suspend process from a timeout. This meant that 2006-05-25 23:06:38 +00:00
compile
conf Remove COMPAT_43 from GENERIC (and other kernel configs). For amd64 there's 2006-06-15 19:58:53 +00:00
cpufreq Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
i386 The i386 "call" instruction works as follows: it pushes 2006-06-18 12:07:00 +00:00
ibcs2 Regenerate. 2006-02-06 22:15:00 +00:00
include Use the method described in IA-32 Intel Architecture Software Developer's 2006-05-30 23:44:21 +00:00
isa Use the method described in IA-32 Intel Architecture Software Developer's 2006-05-30 23:44:21 +00:00
linux regen after MFP4 (soc2006/rdivacky_linuxolator) of syscalls.master 2006-06-13 18:48:30 +00:00
pci - Make pcib_devclass private to sys/dev/pci/pci_pci.c and change all the 2006-01-06 19:22:19 +00:00
svr4 Use svr4_si_{addr,code,errno,signo,trap} in preference to si_{...}. 2005-10-19 14:59:54 +00:00
xbox Committed the xbox syscons(8)-able console driver. 2006-03-03 14:52:57 +00:00
Makefile