History log of /openbsd-current/sys/uvm/uvm_swap.h
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.20 27-Oct-2023 mpi

Make out-of-swap checks more robust.

Consider that the swap space is full when 99% of it is filled with pages that
are no longer present in memory. This prevents deadlocks when out-of-swap if
some swap ranges had I/O errors and have been marked as 'bad', or if some
pages are unreachable by the pagedaemon and still holding some slots.

Also introduce uvm_swapisfilled() to check if there are some free slots in
the swap. Note that we consider the swap space completly filled if it is not
possible to write a full cluster. This prevents deadlocks if a few slots are
never allocated.

ok miod@


Revision tags: OPENBSD_7_2_BASE OPENBSD_7_3_BASE OPENBSD_7_4_BASE
# 1.19 28-Jun-2022 mpi

Pre-allocate pages in DMA-reachable region to ensure progress in the swapper.

Currently swap encryption is not done in place and some architectures need to
bounce pages into a DMA-reachable region for I/Os, for that uvm_swap_io() needs
to allocate at most 64K to write a swap cluster to disk. Pre-allocate such
amount of memory to be sure the page daemon can make progress in OOM situation.

Also introduce a sleeping point to wait for the previous asynchronous I/O
holding the pre-allocated pages, there's no point in building clusters if no
progress can be made.

ok beck@, kettenis@


Revision tags: OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE
# 1.18 29-Sep-2020 mpi

Introduce a helper to check if all available swap is in use.

This reduces code duplication, reduces the diff with NetBSD and will help
to introduce locks around global variables.

ok cheloha@


Revision tags: OPENBSD_6_7_BASE OPENBSD_6_8_BASE
# 1.17 05-Dec-2019 mpi

Remove clause #3 from mrg@NetBSD license.

In May 29 2008, Matthew R. Green removed it in NetBSD:
github.com/IIJ-NetBSD/netbsd-src/commit/7ea20401d535da9996394136ef

ok deraadt@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.16 05-Nov-2013 deraadt

new function uvm_hibswap() finds a the largest free zone in swap, which
hibernate can use place the data.
ok mlarkin


Revision tags: OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.15 11-Jul-2012 mlarkin

#ifdef the uvm swap checker fn for hibernate only, to save space in kernels
that don't use hibernate

requested by and ok deraadt@


# 1.14 11-Jul-2012 mlarkin

add uvm_swap_check_range to scan for contig free space at end of swap.
will be needed shortly for hibernate.

ok deraadt@


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.13 01-Jul-2010 oga

Allow swapping to happen in the case where where we have more memory
than we can realistically dma to.

In the swap encrypt case we already bounce through a intermediate buffer
for pageout, so just make sure that that buffer is constrained to
dmaable memory. In the other cases we check to see if the memory is
dmaable, then if not we bounce it.

ok beck@, art@, thib@.


Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.12 12-Apr-2008 miod

Prune the in-use swap encryption keys in uvm_shutdown(), per deraadt@'s idea.


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A UBC_SYNC_B
# 1.11 14-Mar-2002 millert

First round of __P removal in sys


Revision tags: UBC_BASE
# 1.10 10-Nov-2001 art

branches: 1.10.2;
Merge in some parts of the ubc work that has been done in NetBSD that are not
UBC, but prerequsites for it.

- Create a daemon that processes async I/O (swap and paging in the future)
requests that need processing in process context and that were processed
in the pagedaemon before.
- Convert some ugly ifdef DIAGNOSTIC code to less intrusive KASSERTs.
- misc other cleanups.


# 1.9 07-Nov-2001 art

Another sync of uvm to NetBSD. Just minor fiddling, no major changes.


Revision tags: OPENBSD_3_0_BASE
# 1.8 26-Jul-2001 art

Add support for disabling swap devices (swapctl -d).
Improve error handling on I/O errors to swap.
From NetBSD


Revision tags: OPENBSD_2_9_BASE
# 1.7 22-Mar-2001 smart

Sync style, typo, and comments a little closer to NetBSD. art@ ok


# 1.6 09-Mar-2001 smart

Protect protypes, certain macros, and inlines from userland. Checked userland
with a 'make build'. From NetBSD. art@ ok


# 1.5 29-Jan-2001 niklas

$OpenBSD$


Revision tags: OPENBSD_2_7_BASE OPENBSD_2_8_BASE
# 1.4 18-Mar-2000 provos

postpone memory allocation for uvm swap encryption until it is turned on with
sysctl.


# 1.3 15-Mar-2000 art

Fix the NetBSD id strings.


Revision tags: OPENBSD_2_5_BASE OPENBSD_2_6_BASE SMP_BASE kame_19991208
# 1.2 26-Feb-1999 art

branches: 1.2.6;
add OpenBSD tags


# 1.1 26-Feb-1999 art

Import of uvm from NetBSD. Some local changes, some code disabled


# 1.19 28-Jun-2022 mpi

Pre-allocate pages in DMA-reachable region to ensure progress in the swapper.

Currently swap encryption is not done in place and some architectures need to
bounce pages into a DMA-reachable region for I/Os, for that uvm_swap_io() needs
to allocate at most 64K to write a swap cluster to disk. Pre-allocate such
amount of memory to be sure the page daemon can make progress in OOM situation.

Also introduce a sleeping point to wait for the previous asynchronous I/O
holding the pre-allocated pages, there's no point in building clusters if no
progress can be made.

ok beck@, kettenis@


Revision tags: OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE
# 1.18 29-Sep-2020 mpi

Introduce a helper to check if all available swap is in use.

This reduces code duplication, reduces the diff with NetBSD and will help
to introduce locks around global variables.

ok cheloha@


Revision tags: OPENBSD_6_7_BASE OPENBSD_6_8_BASE
# 1.17 05-Dec-2019 mpi

Remove clause #3 from mrg@NetBSD license.

In May 29 2008, Matthew R. Green removed it in NetBSD:
github.com/IIJ-NetBSD/netbsd-src/commit/7ea20401d535da9996394136ef

ok deraadt@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.16 05-Nov-2013 deraadt

new function uvm_hibswap() finds a the largest free zone in swap, which
hibernate can use place the data.
ok mlarkin


Revision tags: OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.15 11-Jul-2012 mlarkin

#ifdef the uvm swap checker fn for hibernate only, to save space in kernels
that don't use hibernate

requested by and ok deraadt@


# 1.14 11-Jul-2012 mlarkin

add uvm_swap_check_range to scan for contig free space at end of swap.
will be needed shortly for hibernate.

ok deraadt@


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.13 01-Jul-2010 oga

Allow swapping to happen in the case where where we have more memory
than we can realistically dma to.

In the swap encrypt case we already bounce through a intermediate buffer
for pageout, so just make sure that that buffer is constrained to
dmaable memory. In the other cases we check to see if the memory is
dmaable, then if not we bounce it.

ok beck@, art@, thib@.


Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.12 12-Apr-2008 miod

Prune the in-use swap encryption keys in uvm_shutdown(), per deraadt@'s idea.


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A UBC_SYNC_B
# 1.11 14-Mar-2002 millert

First round of __P removal in sys


Revision tags: UBC_BASE
# 1.10 10-Nov-2001 art

branches: 1.10.2;
Merge in some parts of the ubc work that has been done in NetBSD that are not
UBC, but prerequsites for it.

- Create a daemon that processes async I/O (swap and paging in the future)
requests that need processing in process context and that were processed
in the pagedaemon before.
- Convert some ugly ifdef DIAGNOSTIC code to less intrusive KASSERTs.
- misc other cleanups.


# 1.9 07-Nov-2001 art

Another sync of uvm to NetBSD. Just minor fiddling, no major changes.


Revision tags: OPENBSD_3_0_BASE
# 1.8 26-Jul-2001 art

Add support for disabling swap devices (swapctl -d).
Improve error handling on I/O errors to swap.
From NetBSD


Revision tags: OPENBSD_2_9_BASE
# 1.7 22-Mar-2001 smart

Sync style, typo, and comments a little closer to NetBSD. art@ ok


# 1.6 09-Mar-2001 smart

Protect protypes, certain macros, and inlines from userland. Checked userland
with a 'make build'. From NetBSD. art@ ok


# 1.5 29-Jan-2001 niklas

$OpenBSD$


Revision tags: OPENBSD_2_7_BASE OPENBSD_2_8_BASE
# 1.4 18-Mar-2000 provos

postpone memory allocation for uvm swap encryption until it is turned on with
sysctl.


# 1.3 15-Mar-2000 art

Fix the NetBSD id strings.


Revision tags: OPENBSD_2_5_BASE OPENBSD_2_6_BASE SMP_BASE kame_19991208
# 1.2 26-Feb-1999 art

branches: 1.2.6;
add OpenBSD tags


# 1.1 26-Feb-1999 art

Import of uvm from NetBSD. Some local changes, some code disabled


# 1.18 29-Sep-2020 mpi

Introduce a helper to check if all available swap is in use.

This reduces code duplication, reduces the diff with NetBSD and will help
to introduce locks around global variables.

ok cheloha@


Revision tags: OPENBSD_6_7_BASE OPENBSD_6_8_BASE
# 1.17 05-Dec-2019 mpi

Remove clause #3 from mrg@NetBSD license.

In May 29 2008, Matthew R. Green removed it in NetBSD:
github.com/IIJ-NetBSD/netbsd-src/commit/7ea20401d535da9996394136ef

ok deraadt@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.16 05-Nov-2013 deraadt

new function uvm_hibswap() finds a the largest free zone in swap, which
hibernate can use place the data.
ok mlarkin


Revision tags: OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.15 11-Jul-2012 mlarkin

#ifdef the uvm swap checker fn for hibernate only, to save space in kernels
that don't use hibernate

requested by and ok deraadt@


# 1.14 11-Jul-2012 mlarkin

add uvm_swap_check_range to scan for contig free space at end of swap.
will be needed shortly for hibernate.

ok deraadt@


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.13 01-Jul-2010 oga

Allow swapping to happen in the case where where we have more memory
than we can realistically dma to.

In the swap encrypt case we already bounce through a intermediate buffer
for pageout, so just make sure that that buffer is constrained to
dmaable memory. In the other cases we check to see if the memory is
dmaable, then if not we bounce it.

ok beck@, art@, thib@.


Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.12 12-Apr-2008 miod

Prune the in-use swap encryption keys in uvm_shutdown(), per deraadt@'s idea.


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A UBC_SYNC_B
# 1.11 14-Mar-2002 millert

First round of __P removal in sys


Revision tags: UBC_BASE
# 1.10 10-Nov-2001 art

branches: 1.10.2;
Merge in some parts of the ubc work that has been done in NetBSD that are not
UBC, but prerequsites for it.

- Create a daemon that processes async I/O (swap and paging in the future)
requests that need processing in process context and that were processed
in the pagedaemon before.
- Convert some ugly ifdef DIAGNOSTIC code to less intrusive KASSERTs.
- misc other cleanups.


# 1.9 07-Nov-2001 art

Another sync of uvm to NetBSD. Just minor fiddling, no major changes.


Revision tags: OPENBSD_3_0_BASE
# 1.8 26-Jul-2001 art

Add support for disabling swap devices (swapctl -d).
Improve error handling on I/O errors to swap.
From NetBSD


Revision tags: OPENBSD_2_9_BASE
# 1.7 22-Mar-2001 smart

Sync style, typo, and comments a little closer to NetBSD. art@ ok


# 1.6 09-Mar-2001 smart

Protect protypes, certain macros, and inlines from userland. Checked userland
with a 'make build'. From NetBSD. art@ ok


# 1.5 29-Jan-2001 niklas

$OpenBSD$


Revision tags: OPENBSD_2_7_BASE OPENBSD_2_8_BASE
# 1.4 18-Mar-2000 provos

postpone memory allocation for uvm swap encryption until it is turned on with
sysctl.


# 1.3 15-Mar-2000 art

Fix the NetBSD id strings.


Revision tags: OPENBSD_2_5_BASE OPENBSD_2_6_BASE SMP_BASE kame_19991208
# 1.2 26-Feb-1999 art

branches: 1.2.6;
add OpenBSD tags


# 1.1 26-Feb-1999 art

Import of uvm from NetBSD. Some local changes, some code disabled


# 1.17 05-Dec-2019 mpi

Remove clause #3 from mrg@NetBSD license.

In May 29 2008, Matthew R. Green removed it in NetBSD:
github.com/IIJ-NetBSD/netbsd-src/commit/7ea20401d535da9996394136ef

ok deraadt@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.16 05-Nov-2013 deraadt

new function uvm_hibswap() finds a the largest free zone in swap, which
hibernate can use place the data.
ok mlarkin


Revision tags: OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.15 11-Jul-2012 mlarkin

#ifdef the uvm swap checker fn for hibernate only, to save space in kernels
that don't use hibernate

requested by and ok deraadt@


# 1.14 11-Jul-2012 mlarkin

add uvm_swap_check_range to scan for contig free space at end of swap.
will be needed shortly for hibernate.

ok deraadt@


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.13 01-Jul-2010 oga

Allow swapping to happen in the case where where we have more memory
than we can realistically dma to.

In the swap encrypt case we already bounce through a intermediate buffer
for pageout, so just make sure that that buffer is constrained to
dmaable memory. In the other cases we check to see if the memory is
dmaable, then if not we bounce it.

ok beck@, art@, thib@.


Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.12 12-Apr-2008 miod

Prune the in-use swap encryption keys in uvm_shutdown(), per deraadt@'s idea.


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A UBC_SYNC_B
# 1.11 14-Mar-2002 millert

First round of __P removal in sys


Revision tags: UBC_BASE
# 1.10 10-Nov-2001 art

branches: 1.10.2;
Merge in some parts of the ubc work that has been done in NetBSD that are not
UBC, but prerequsites for it.

- Create a daemon that processes async I/O (swap and paging in the future)
requests that need processing in process context and that were processed
in the pagedaemon before.
- Convert some ugly ifdef DIAGNOSTIC code to less intrusive KASSERTs.
- misc other cleanups.


# 1.9 07-Nov-2001 art

Another sync of uvm to NetBSD. Just minor fiddling, no major changes.


Revision tags: OPENBSD_3_0_BASE
# 1.8 26-Jul-2001 art

Add support for disabling swap devices (swapctl -d).
Improve error handling on I/O errors to swap.
From NetBSD


Revision tags: OPENBSD_2_9_BASE
# 1.7 22-Mar-2001 smart

Sync style, typo, and comments a little closer to NetBSD. art@ ok


# 1.6 09-Mar-2001 smart

Protect protypes, certain macros, and inlines from userland. Checked userland
with a 'make build'. From NetBSD. art@ ok


# 1.5 29-Jan-2001 niklas

$OpenBSD$


Revision tags: OPENBSD_2_7_BASE OPENBSD_2_8_BASE
# 1.4 18-Mar-2000 provos

postpone memory allocation for uvm swap encryption until it is turned on with
sysctl.


# 1.3 15-Mar-2000 art

Fix the NetBSD id strings.


Revision tags: OPENBSD_2_5_BASE OPENBSD_2_6_BASE SMP_BASE kame_19991208
# 1.2 26-Feb-1999 art

branches: 1.2.6;
add OpenBSD tags


# 1.1 26-Feb-1999 art

Import of uvm from NetBSD. Some local changes, some code disabled


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.16 05-Nov-2013 deraadt

new function uvm_hibswap() finds a the largest free zone in swap, which
hibernate can use place the data.
ok mlarkin


Revision tags: OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.15 11-Jul-2012 mlarkin

#ifdef the uvm swap checker fn for hibernate only, to save space in kernels
that don't use hibernate

requested by and ok deraadt@


# 1.14 11-Jul-2012 mlarkin

add uvm_swap_check_range to scan for contig free space at end of swap.
will be needed shortly for hibernate.

ok deraadt@


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.13 01-Jul-2010 oga

Allow swapping to happen in the case where where we have more memory
than we can realistically dma to.

In the swap encrypt case we already bounce through a intermediate buffer
for pageout, so just make sure that that buffer is constrained to
dmaable memory. In the other cases we check to see if the memory is
dmaable, then if not we bounce it.

ok beck@, art@, thib@.


Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.12 12-Apr-2008 miod

Prune the in-use swap encryption keys in uvm_shutdown(), per deraadt@'s idea.


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A UBC_SYNC_B
# 1.11 14-Mar-2002 millert

First round of __P removal in sys


Revision tags: UBC_BASE
# 1.10 10-Nov-2001 art

branches: 1.10.2;
Merge in some parts of the ubc work that has been done in NetBSD that are not
UBC, but prerequsites for it.

- Create a daemon that processes async I/O (swap and paging in the future)
requests that need processing in process context and that were processed
in the pagedaemon before.
- Convert some ugly ifdef DIAGNOSTIC code to less intrusive KASSERTs.
- misc other cleanups.


# 1.9 07-Nov-2001 art

Another sync of uvm to NetBSD. Just minor fiddling, no major changes.


Revision tags: OPENBSD_3_0_BASE
# 1.8 26-Jul-2001 art

Add support for disabling swap devices (swapctl -d).
Improve error handling on I/O errors to swap.
From NetBSD


Revision tags: OPENBSD_2_9_BASE
# 1.7 22-Mar-2001 smart

Sync style, typo, and comments a little closer to NetBSD. art@ ok


# 1.6 09-Mar-2001 smart

Protect protypes, certain macros, and inlines from userland. Checked userland
with a 'make build'. From NetBSD. art@ ok


# 1.5 29-Jan-2001 niklas

$OpenBSD$


Revision tags: OPENBSD_2_7_BASE OPENBSD_2_8_BASE
# 1.4 18-Mar-2000 provos

postpone memory allocation for uvm swap encryption until it is turned on with
sysctl.


# 1.3 15-Mar-2000 art

Fix the NetBSD id strings.


Revision tags: OPENBSD_2_5_BASE OPENBSD_2_6_BASE SMP_BASE kame_19991208
# 1.2 26-Feb-1999 art

branches: 1.2.6;
add OpenBSD tags


# 1.1 26-Feb-1999 art

Import of uvm from NetBSD. Some local changes, some code disabled