freebsd-nq/sys
Jake Burkholder 880a354a4a Implement a slightly different window spill/fill algorithm for dealing
with user windows in kernel mode.  We split the windows using %otherwin,
but instead of spilling user window directly to the pcb, we attempt to
spill to user space.  If this fails because a stack page is not resident
(or the stack is smashed), the fault handler at tl 2 will detect the
situation and resume at tl 1 again where recovery code can spill to the
pcb.  Any windows that have been saved to the pcb will be copied out to
the user stack on return from kernel mode.

Add a first stab at 32 bit window handling.  This uses much of the same
recovery code as above because the alignment of the stack pointer is used
to detect 32 bit code.  Attempting to spill a 32 bit window to a 64 bit
stack, or vice versa, will cause an alignment fault.  The recovery code
then changes the window state to vector to a 32 bit spill/fill handler
and retries the faulting instruction.

Add ktr traces in useful places during trap processing.

Adjust comments to reflect new code and add many more.
2001-09-03 23:10:45 +00:00
..
alpha Synchronize syscalls.master(s) with recent Giant pushdown work 2001-09-01 19:36:48 +00:00
amd64 Fix the argument specifier for the PnP BIOS function 2 2001-09-03 03:43:39 +00:00
arm o Remove some GCCisms in src/powerpc/include/endian.h. 2001-08-30 00:04:19 +00:00
boot Don't clobber the default for CFLAGS. 2001-08-31 11:01:20 +00:00
cam Attach to a CD device even when the SCSI status is 'busy'. 2001-09-03 05:04:47 +00:00
coda Warning fix: coda_fbsd.c:113: warning: unused variable `ret' 2001-06-15 00:02:27 +00:00
compat Synchronize syscalls.master(s) with recent Giant pushdown work 2001-09-01 19:36:48 +00:00
conf Add a working version of setjmp/longjmp. 2001-09-03 13:54:50 +00:00
contrib Nuke the Windows platform defines; we don't need them. 2001-08-26 22:46:28 +00:00
crypto properly check DES weak key. KAME PR 363. 2001-07-03 17:46:48 +00:00
ddb No tokens should follow #endif. 2001-08-15 03:38:49 +00:00
dev Sigh. There are actually two ioctls ranges that need to be watched on the 2001-09-03 07:50:14 +00:00
fs smbfs_advlock: simplify overflow checks (copy from kern_lockf.c) 2001-08-29 18:59:04 +00:00
geom Polish error handling with biofinish(). 2001-05-08 09:10:27 +00:00
gnu Do not depend on pcb_savefpu backwards compat #define. 2001-07-12 12:19:11 +00:00
i4b make driver compile under 4.3-STABLE 2001-07-22 19:55:05 +00:00
i386 Fix the argument specifier for the PnP BIOS function 2 2001-09-03 03:43:39 +00:00
ia64 Add a working version of setjmp/longjmp. 2001-09-03 13:54:50 +00:00
isa Add a new field, id_config_attr to the struct isa_device. 2001-09-03 09:45:41 +00:00
isofs/cd9660 - FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file 2001-05-23 09:42:29 +00:00
kern Unindent a if (1) { that was left behind in the last commit. 2001-09-03 04:39:38 +00:00
libkern Fixed some typos, verboseness and misformatting in comments. 2001-08-30 12:30:58 +00:00
modules Make the fe driver kernel object module to compile in default. 2001-09-02 06:43:45 +00:00
net Patches from Keiichi SHIMA <keiichi@iij.ad.jp> 2001-09-03 20:03:55 +00:00
netatalk
netatm Commited patch for uni signaling fix. 2001-07-11 16:31:50 +00:00
netgraph Fix kernel crash when VLANs are combined with ng_ether(4), by attaching 2001-08-30 19:09:10 +00:00
netinet Allow disabling of "arp moved" messages. 2001-09-03 21:53:15 +00:00
netinet6 Patches from Keiichi SHIMA <keiichi@iij.ad.jp> 2001-09-03 20:03:55 +00:00
netipx Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
netkey printed current sequence number of the SA. accordingly, changed 2001-08-06 19:40:01 +00:00
netnatm Change a couple of M_WAITOKs used in M_PREPEND() to M_TRYWAITs, which 2001-04-05 04:20:48 +00:00
netncp Mark some functions as __printflike() and/or taking const char * arguments 2001-08-20 12:53:36 +00:00
netns
netsmb Map errdos:67 to the ENOENT. 2001-08-21 09:16:57 +00:00
nfs Pushdown Giant for nfs syscalls (nfssvc()) 2001-08-31 22:39:36 +00:00
nfsclient Pushdown Giant for nfs syscalls (nfssvc()) 2001-08-31 22:39:36 +00:00
nfsserver Pushdown Giant for nfs syscalls (nfssvc()) 2001-08-31 22:39:36 +00:00
pc98 Always turned on 8bit access card support for the fe driver 2001-09-02 13:05:00 +00:00
pccard Add recognition for ToPIC95B 2001-09-03 08:20:52 +00:00
pci The fxp driver has lived in dev/fxp for some time, remove old files. 2001-08-31 02:21:03 +00:00
posix4 Protect pri_to_rtp() with sched_lock when needed. 2001-09-02 00:52:11 +00:00
powerpc Axe stale mp_fixme(). 2001-09-01 00:49:29 +00:00
rpc
sparc64 Implement a slightly different window spill/fill algorithm for dealing 2001-09-03 23:10:45 +00:00
svr4
sys add another prototype and a couple of stopgaps for the in_protosw variant. 2001-09-02 20:36:19 +00:00
tools replace calls to non-existant bail() subroutine with calls to 2001-03-23 11:48:50 +00:00
ufs Use ACL_PERM_NONE instead of hardcoding 0 when initializing 2001-09-01 23:18:15 +00:00
vm Process priority is locked by the sched_lock, not the proc lock. 2001-09-01 20:16:30 +00:00
Makefile