opnsense-src/sys
Marcel Moolenaar 5bf2d2b6b4 Swap the syscall caller frame info (i.e. the return pointer and
frame marker) and the syscall stub frame info in the trap frame.
Previously we stored the stub frame info in (rp,pfs) and the
caller frame info in (iip,cfm). This ends up being suboptimal
for the following reasons:
1. When we create a new context, such as for an execve(2), we had
   to set the (rp,pfs) pair for the entry point when using the
   syscall path out of the kernel but we need to set the (iip,cfm)
   pair when we take the interrupt way out. This is mostly just
   an inconsistency from the kernel's point of view, but an ugly
   irregularity from gdb(1)'s point of view.
2. The getcontext(2) and setcontext(2) syscalls had to swap the
   (rp,pfs) and (iip,cfm) pairs to make the context compatible
   with one created purely in userland.

Swapping the (rp,pfs) and (iip,cfm) pairs is visible to signal
handlers that actually peek at the mcontext_t and to gdb(1).
Since this change is made for gdb(1) and we don't care about
signal handlers that peek at the mcontext_t because we're still
a tier 2 platform, this ABI breakage is academic at this moment
in time.

Note that there was no real reason to save the caller frame info
in (iip,cfm) and the stub frame info in (rp,pfs).
2003-10-03 03:50:29 +00:00
..
alpha OK, I messed up /dev/console with what I had hoped would be compat 2003-09-26 19:35:50 +00:00
amd64 Reimplement pagezero() using "movnti". 2003-10-02 05:08:13 +00:00
arm Add sysentvec->sv_fixlimits() hook so that we can catch cases on 64 bit 2003-09-25 01:10:26 +00:00
boot Don't repeat selected defines from ns16550.h or sioreg.h. Just 2003-09-16 11:24:23 +00:00
cam Be kind to 64bit architectures. 2003-10-02 08:56:14 +00:00
coda Move an overly verbose message under #ifdef CODA_VERBOSE. 2003-09-13 01:13:56 +00:00
compat Fix a (fortunately harmless) signed / unsigned bug. 2003-09-30 13:35:19 +00:00
conf Revert rev. 1.86, I've fixed make(1) (make/dir.c,v 1.32). 2003-10-02 21:34:06 +00:00
contrib o remove extraneous include of <net/pfil.h> 2003-09-24 05:08:58 +00:00
crypto one more opossite conditiion. 2003-09-18 17:26:56 +00:00
ddb Reworked rev.1.14. Use the ELF symbol type again to summarily reject 2003-09-28 06:02:33 +00:00
dev Make the i810 AGP device create a "drmsub" child device. This will be attached 2003-10-02 19:49:15 +00:00
fs Introduce a uiomove_frombuf helper routine that handles computing and 2003-10-02 15:00:55 +00:00
geom Return ENODEV in case the driver has no dump routine. 2003-09-29 07:44:23 +00:00
gnu - Clean-up comments that refer to the use of B_LOCKED. 2003-08-28 00:56:39 +00:00
i4b Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
i386 Commit Bosko's patch to clean up the PSE/PG_G initialization to and 2003-10-01 23:46:08 +00:00
ia64 Swap the syscall caller frame info (i.e. the return pointer and 2003-10-03 03:50:29 +00:00
isa Change fb_attach() and fb_detach() to take a integer unit number rather 2003-09-26 10:41:44 +00:00
isofs/cd9660 - Support for multibyte charsets in LIBICONV. 2003-09-26 20:26:25 +00:00
kern Introduce a uiomove_frombuf helper routine that handles computing and 2003-10-02 15:00:55 +00:00
libkern - Support for multibyte charsets in LIBICONV. 2003-09-26 20:26:25 +00:00
modules MFp4: Change struct fw_xfer to reduce memory copy in fwmem_*() functions. 2003-10-02 04:06:56 +00:00
net Create a tunable for net.isr.enable so that it may be set from 2003-10-02 02:54:10 +00:00
net80211 Try yet again to deal with timing out nodes. We cannot hold the 2003-09-26 17:00:44 +00:00
netatalk More checking of M_PREPEND() return values: pass through link-layer 2003-08-29 19:27:09 +00:00
netatm The number of prefixes can never be negative so use an u_int for this. 2003-07-29 13:46:43 +00:00
netgraph I don't know from where the notion that device driver should or 2003-09-28 20:48:13 +00:00
netinet By popular demand, added the "static ARP" per-interface option. 2003-10-01 08:32:37 +00:00
netinet6 add randomtab for ip6_randomflowlabel(). 2003-10-01 21:45:57 +00:00
netipsec MFp4: portability work, general cleanup, locking fixes 2003-09-29 22:57:43 +00:00
netipx Fix a bunch of off-by-one errors in the range checking code. 2003-09-11 21:40:21 +00:00
netkey Reduce diffs against KAME. No functional change. 2003-09-30 10:52:49 +00:00
netnatm Remove the last vestiges of ATM raw mode. This has not been useful for a 2003-08-06 14:34:38 +00:00
netncp The present defaults for the open and close for device drivers which 2003-09-27 12:01:01 +00:00
netsmb - Support for multibyte charsets in LIBICONV. 2003-09-26 20:26:25 +00:00
nfs Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
nfsclient - Remove interlock protection around VI_XLOCK. The interlock is not 2003-09-19 23:37:49 +00:00
nfsserver Change idle state sleep identifier to "-" for nfsd. 2003-07-02 08:08:32 +00:00
opencrypto The present defaults for the open and close for device drivers which 2003-09-27 12:01:01 +00:00
pc98 OK, I messed up /dev/console with what I had hoped would be compat 2003-09-26 19:35:50 +00:00
pccard More debug under boot verbose. 2003-08-29 23:25:00 +00:00
pci Make the i810 AGP device create a "drmsub" child device. This will be attached 2003-10-02 19:49:15 +00:00
posix4 sched_setscheduler: Return EINVAL when a invalid policy is specified, 2003-09-13 18:46:24 +00:00
powerpc DELAY must be a routine, not a macro definition. 2003-09-26 09:02:24 +00:00
rpc
security Use __BEGIN_DECLS and __END_DECLS around userland function prototypes 2003-10-02 03:07:51 +00:00
sparc64 Allow the compiler to micro-optimize byte swapping functions by 2003-09-30 22:35:27 +00:00
sys Introduce a uiomove_frombuf helper routine that handles computing and 2003-10-02 15:00:55 +00:00
tools Don't check the state of the vnode interlock if the specification says 2003-06-22 21:20:06 +00:00
ufs - Several of the callers to getdirtybuf() were erroneously changed to pass 2003-09-03 04:08:15 +00:00
vm In vm_page_remove(), assert that the vm object is locked, unless an Alpha. 2003-09-28 04:50:48 +00:00
Makefile Revert exclusion for amd64 that stopped boot/ being built. 2003-06-26 03:52:48 +00:00