NetBSD/sys/uvm
thorpej 1da427a80a Change the pmap_enter() API slightly; pmap_enter() now returns an error
value (KERN_SUCCESS or KERN_RESOURCE_SHORTAGE) indicating if it succeeded
or failed.  Change the `wired' and `access_type' arguments to a single
`flags' argument, which includes the access type, and flags:

	PMAP_WIRED	the old `wired' boolean
	PMAP_CANFAIL	pmap_enter() is allowed to fail

If PMAP_CANFAIL is not specified, the pmap should behave as it always
has in the face of a drastic resource shortage: fall over dead.

Change the fault handler to deal with failure (which indicates resource
shortage) by unlocking everything, waiting for the pagedaemon to free
more memory, then retrying the fault.
1999-11-13 00:24:38 +00:00
..
Makefile Rework the way kernel include files are installed. In the new method, 1998-06-12 23:22:30 +00:00
uvm.h Always pass all arguments to uvm_sleep(). 1999-11-13 00:21:17 +00:00
uvm_amap.c eliminate the PMAP_NEW option by making it required for all ports. 1999-09-12 01:16:55 +00:00
uvm_amap.h Don't bother returning the "slot" number from amap_add(): 1999-07-07 05:31:40 +00:00
uvm_amap_i.h eliminate the PMAP_NEW option by making it required for all ports. 1999-09-12 01:16:55 +00:00
uvm_anon.c eliminate the PMAP_NEW option by making it required for all ports. 1999-09-12 01:16:55 +00:00
uvm_anon.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00
uvm_aobj.c eliminate the PMAP_NEW option by making it required for all ports. 1999-09-12 01:16:55 +00:00
uvm_aobj.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00
uvm_ddb.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00
uvm_device.c Change the pmap_enter() API slightly; pmap_enter() now returns an error 1999-11-13 00:24:38 +00:00
uvm_device.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00
uvm_extern.h Garbage collect thread_sleep()/thread_wakeup() left over from the old 1999-07-22 22:58:38 +00:00
uvm_fault.c Change the pmap_enter() API slightly; pmap_enter() now returns an error 1999-11-13 00:24:38 +00:00
uvm_fault.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00
uvm_fault_i.h Keep interrupt-safe maps on an additional queue. In uvm_fault(), if we're 1999-06-04 23:38:41 +00:00
uvm_glue.c Change the pmap_enter() API slightly; pmap_enter() now returns an error 1999-11-13 00:24:38 +00:00
uvm_glue.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00
uvm_init.c remove now >1 year old pre-release message. 1999-03-25 18:48:49 +00:00
uvm_io.c remove now >1 year old pre-release message. 1999-03-25 18:48:49 +00:00
uvm_km.c Change the pmap_enter() API slightly; pmap_enter() now returns an error 1999-11-13 00:24:38 +00:00
uvm_km.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00
uvm_loan.c eliminate the PMAP_NEW option by making it required for all ports. 1999-09-12 01:16:55 +00:00
uvm_loan.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00
uvm_map.c eliminate the PMAP_NEW option by making it required for all ports. 1999-09-12 01:16:55 +00:00
uvm_map.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00
uvm_map_i.h Fix a corner case locking error, which could lead to map corruption in 1999-07-01 20:07:05 +00:00
uvm_meter.c Turn the proclist lock into a read/write spinlock. Update proclist locking 1999-07-25 06:30:33 +00:00
uvm_mmap.c Change the pmap_enter() API slightly; pmap_enter() now returns an error 1999-11-13 00:24:38 +00:00
uvm_object.h Define a new kernel object type, "intrsafe", which are used for objects 1999-05-25 20:30:08 +00:00
uvm_page.c eliminate the PMAP_NEW option by making it required for all ports. 1999-09-12 01:16:55 +00:00
uvm_page.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00
uvm_page_i.h eliminate the PMAP_NEW option by making it required for all ports. 1999-09-12 01:16:55 +00:00
uvm_pager.c Change the pmap_enter() API slightly; pmap_enter() now returns an error 1999-11-13 00:24:38 +00:00
uvm_pager.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00
uvm_pager_i.h Change the pmap_extract() interface to: 1999-07-08 18:05:21 +00:00
uvm_pdaemon.c Const poison uvm_wait(). 1999-11-04 21:51:42 +00:00
uvm_pdaemon.h Const poison uvm_wait(). 1999-11-04 21:51:42 +00:00
uvm_pglist.c Garbage collect thread_sleep()/thread_wakeup() left over from the old 1999-07-22 22:58:38 +00:00
uvm_stat.c add uvmexp.swpgonly and use it to detect out-of-swap conditions. 1999-03-26 17:34:15 +00:00
uvm_stat.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00
uvm_swap.c In spec_close(), if we're not doing a non-blocking close and VXLOCK is 1999-10-16 23:53:26 +00:00
uvm_swap.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00
uvm_unix.c remove now >1 year old pre-release message. 1999-03-25 18:48:49 +00:00
uvm_user.c remove now >1 year old pre-release message. 1999-03-25 18:48:49 +00:00
uvm_vnode.c put various debugging printfs under #ifdef DEBUG. 1999-10-19 16:04:45 +00:00
uvm_vnode.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00