freebsd-skq/sys
Marcel Moolenaar 95f2dbba40 Consistently us the same metric to differentiate between kernel mode
and user mode. We need to take into account that the EPC syscall path
introduces a grey area in which one can argue either way, including a
third: neither.

We now use the region in which the IP address lies. Regions 5, 6 and 7
are kernel VA regions and if the IP lies any any of those regions we
assume we're in kernel mode. Hence, we can be in kernel mode even if
we're not on the kernel stack and/or have user privileges. There're
gremlins living in the twilight zone :-)

For the EPC syscall path this particularly means that the process
leaves user mode the moment it calls into the gateway page. This
makes the most sense because from a process' point of view the call
represents a request to the kernel for some service and that service
has been performed if the call returns. With the metric we picked,
this also means that we're back in user mode IFF the call returns.

Approved by: re@ (blanket)
2003-05-24 21:16:19 +00:00
..
alpha sys/sys/limits.h: 2003-05-19 20:29:07 +00:00
amd64 Stop profiled libc from exploding, matching gcc's generated code. 2003-05-24 18:24:03 +00:00
arm sys/sys/limits.h: 2003-05-19 20:29:07 +00:00
boot Fixed the markup and wording of the kern.ipc.nsfbufs tunable. 2003-05-17 22:17:23 +00:00
cam Add a quirk for OTi USB flash key. 2003-05-15 17:35:35 +00:00
coda - Move p->p_sigmask to td->td_sigmask. Signal masks will be per thread with 2003-03-31 22:49:17 +00:00
compat Deal with the user VM space expanding. 32 bit applications do not like 2003-05-23 05:07:33 +00:00
conf Major pmap rework to take advantage of the larger address space on amd64 2003-05-23 05:04:54 +00:00
contrib This commit was generated by cvs2svn to compensate for changes in r115013, 2003-05-15 05:04:44 +00:00
crypto Assembly files put thru the C preprocessor need to have C style comments. 2003-04-21 16:30:12 +00:00
ddb Move the _oncpu entry from the KSE to the thread. 2003-04-10 17:35:44 +00:00
dev Low risk amd64 fix. Use a vm_offset_t for the virtual location of the 2003-05-23 05:10:49 +00:00
fs Clean up proc locking in procfs: make sure the proc lock is held before 2003-05-05 15:12:51 +00:00
geom Return ENXIO if the softc pointer is NULL, in all likelyhood the 2003-05-21 18:52:29 +00:00
gnu This commit was generated by cvs2svn to compensate for changes in r113778, 2003-04-21 02:27:52 +00:00
i4b
i386 Make ciss usable under PAE 2003-05-21 07:17:06 +00:00
ia64 Consistently us the same metric to differentiate between kernel mode 2003-05-24 21:16:19 +00:00
isa Only use the pc bios stuff on i386's. I think this might even be unused 2003-05-01 04:23:15 +00:00
isofs/cd9660
kern Make the maximum number of vnodes a function of both the physical memory 2003-05-23 19:54:02 +00:00
libkern Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
modules Move the ips driver from ${MACHINE_ARCH} == "i386" to ${MACHINE} == "i386". 2003-05-13 11:26:08 +00:00
net Define a link layer MIB for ATM. Most fields of this MIB are needed by 2003-05-05 16:35:52 +00:00
netatalk
netatm Use __FBSDID rather than rcsid[]. 2003-04-03 21:36:33 +00:00
netgraph fix a cut-n-paste error. 2003-05-15 18:51:28 +00:00
netinet Correct a bug introduced with reduced TCP state handling; make 2003-05-07 05:26:27 +00:00
netinet6 Add definitions for IN6ADDR_LINKLOCAL_ALLMDNS_INIT and INADDR_ALLMDNS_GROUP. 2003-04-29 22:03:46 +00:00
netipsec Introduce an M_ASSERTPKTHDR() macro which performs the very common task 2003-04-08 14:25:47 +00:00
netipx
netkey Introduce an M_ASSERTPKTHDR() macro which performs the very common task 2003-04-08 14:25:47 +00:00
netnatm Introduce an M_ASSERTPKTHDR() macro which performs the very common task 2003-04-08 14:25:47 +00:00
netncp - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
netsmb - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
nfs
nfsclient Deal with the possibility of negative available space from the file server 2003-05-19 22:35:00 +00:00
nfsserver - Acquire the vm_object's lock when performing vm_object_page_clean(). 2003-04-24 04:31:25 +00:00
opencrypto
pc98 Clear up that COMPAT_43 may not do the same thing on every architecture 2003-05-15 02:10:30 +00:00
pccard 1. Allow drivers to query CIS strings from OLDCARD. 2003-04-23 23:39:21 +00:00
pci Only use a SIA/SYM media info block if no MII block is detected. 2003-05-15 16:53:29 +00:00
posix4
powerpc sys/sys/limits.h: 2003-05-19 20:29:07 +00:00
rpc
security Rename MAC_MAX_POLICIES to MAC_MAX_SLOTS, since the variables and 2003-05-08 19:49:42 +00:00
sparc64 sys/sys/limits.h: 2003-05-19 20:29:07 +00:00
sys Fix two misuses of __BSD_VISIBLE. 2003-05-22 17:07:57 +00:00
tools MFp4: 2003-03-28 06:43:50 +00:00
ufs Lock the vm object when performing vm_object_page_clean(). 2003-05-18 22:02:51 +00:00
vm If we seem to be out of VM, don't allow the pagedaemon to kill 2003-05-19 00:51:07 +00:00
Makefile Exclude sys/boot for amd64. There are still toolchain issues to deal 2003-05-08 06:35:39 +00:00