Commit Graph

393 Commits

Author SHA1 Message Date
thorpej f5108f64e7 Add an optional pmap hook, pmap_fork(), to be called at the end of
uvmspace_fork().

pmap_fork() is used to "fork a pmap", that is copy data from one pmap
to the other that is NOT related to actual mappings in the pmap, but is
otherwise logically coupled to the address space.
1999-05-12 19:11:23 +00:00
simonb e3a5c2451c Check to see if TRUE and FALSE are already defined before blindly
trying to define them ourselves.

Fixes PRs kern/2813 and misc/7356.
1999-04-11 00:59:07 +00:00
drochner d79282e281 rip out some old-vm specific definitions and prototypes for address space
sanity
1999-04-10 13:52:11 +00:00
mrg 920344b9c2 put back #ifdef _KERNEL that broken xosview build. 1999-03-31 12:29:51 +00:00
mycroft e7ad33406b Nuke at least a few files which are clearly not used any more. 1999-03-30 13:08:55 +00:00
mycroft 31a2536cd0 Add a new `access type' argument to pmap_enter(). This indicates what type of
memory access a mapping was caused by.  This is passed through from uvm_fault()
and udv_fault(), and in most other cases is 0.
The pmap module may use this to preset R/M information.  On MMUs which require
R/M emulation, the implementation may preset the bits and avoid taking another
fault.  On MMUs which keep R/M information in hardware, the implementation may
preset its cached bits to speed up the next call to pmap_is_modified() or
pmap_is_referenced().
1999-03-26 21:58:39 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
kleink b0fe22c29d Have unimplemented/unsupported system calls (madvise(), mincore(), sbrk(),
sstk()) fail with ENOSYS.
1999-03-09 12:18:22 +00:00
hubertf dcd5f59c0a RCS ID police 1999-02-15 04:14:54 +00:00
chuck d22647b17e remove old (dead) non-MNN code 1999-01-16 20:00:28 +00:00
cgd 2690e920cb patch from chuck:
remove bogus permission check in uvm_map_clean().   fixes mmap/msync
problem discussed/reported by jonathan and Andreas Wrede <andreas@planix.com>.
1998-11-29 06:15:58 +00:00
mrg b4f6a27f69 comment how a diag test is possible broken. 1998-11-19 05:23:46 +00:00
mycroft 967a4693f2 Set the B_NOCACHE bit so that NFSv3 will not try to do async writes. 1998-11-08 19:45:17 +00:00
jonathan 9a06d5e2a6 Compute compile-time value of old-VM parameter MAX_KMAPENT from NPROC
(2x NPROC plus slop) unless expclitly set. Use current constant value
(100) as a lower bound, as suggested by Chuck Cranor.

Move NPROC and other parameter definitions from param.c to param.h so
they are visible to vm/vm_map.h.

Systems with hand-tuned NPROC should now support that many processes.
1998-10-23 19:37:32 +00:00
tron 39876df951 Defopt SYSVMSG, SYSVSEM and SYSVSHM. 1998-10-19 22:14:54 +00:00
ws 03de6ac37b Physical addresses are paddr_t, not vaddr_t 1998-10-14 11:45:16 +00:00
chuck 1449d78fd3 remove the following if UVM is defined:
- share_map in vm_map_object.   UVM doesn't use share maps, so drop unused
	partial support for them to simplify the code.
 - is_main_map in vm_map.   no longer needed once share maps are gone.
 - vm_map_version_t.   map versions are handled elsewhere in UVM.
1998-10-11 22:56:42 +00:00
mrg 9cf8633378 back out previous. 1998-10-02 08:00:57 +00:00
tv 8219f068e2 Declare silent success on madvise(). As an advisory call, it is harmless
to pretend success even though it's not supported, and some emulations
rely on its success.
1998-09-30 12:07:51 +00:00
christos 45935a4c8d Make copyrights consistent; remove extra trailing spaces, change reformatted
copyrights to original format, change ' ' to '\t'.
1998-09-13 13:21:37 +00:00
thorpej dd07e08538 Implement vm_exit(), which frees VM resources when a process finishes
exiting.
1998-09-08 23:44:41 +00:00
pk d2d3f83fd7 Panic instead failing the syscall on an impossible condition (from Robert Elz).
Plug possible memory leakage with the recently added device path stuff.
1998-09-06 23:09:39 +00:00
drochner 0ff42b44b1 Fix UIO_SYSSPACE / UIO_USERSPACE confusion in the new swappath code. 1998-09-06 11:59:28 +00:00
christos 344ed1eaef Assign copyright to TNF. 1998-09-05 14:20:01 +00:00
drochner 3af18e2765 add missing label 1998-08-30 12:32:48 +00:00
mrg e10d7cb026 add sys/swap.h, and not that vm/vm_swap.h should go away later. 1998-08-29 17:06:11 +00:00
mrg edda33e00c move <vm/vm_swap.h> to <sys/swap.h>. <vm/vm_swap.h> still works for now (goes away later) 1998-08-29 17:01:14 +00:00
mrg b5f69ff667 add a `char se_path[PATH_MAX]' member to struct swapent, that
the pathname of the swap device is saved into.  add a char *swd_path
member to struct swapdev, that contains a copy of the pathname
(using malloc(9)).  rename swapctl(2)'s SWAP_STATS to SWAP_OSTATS,
and add a new SWAP_STATS command (number).  make swapctl(SWAP_STATS,
...) [new version] copy the path out.  if COMPAT_13, also include
support for SWAP_OSTATS.  also fix a minor bug in swapctl(2).

the point of this is that swapfiles are now shown in `swapctl -l'.
1998-08-29 13:27:50 +00:00
thorpej 77d0a69569 Add a waitok boolean argument to the VM system's pool page allocator backend. 1998-08-28 20:05:48 +00:00
mrg 514a5d2570 vm_page_bootstrap takes vaddr_t *'s not paddr_t *'s 1998-08-24 22:36:36 +00:00
thorpej 706381d9ac Fix missing ;, pointed out by Erik Bartelsen, PR #5987. 1998-08-18 17:31:25 +00:00
mycroft bf886f2029 Assign my copyrights to TNF. 1998-08-15 05:19:50 +00:00
thorpej aedf80a6e9 Oops, lots of missed vm_offset_t -> vaddr_t changes. 1998-08-13 21:20:47 +00:00
thorpej 057d49dba3 Second arg of vm_map_insert() is/was a vm_object_t. 1998-08-13 21:12:15 +00:00
eeh a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
perry e6886047c9 bzero->memset, bcopy->memcpy, bcmp->memcmp 1998-08-09 21:58:52 +00:00
thorpej 55bf1fd9ad Allow an alternate splimp-protected map to be specified in the pool page
allocator routines.
1998-07-31 20:46:36 +00:00
thorpej e95c22ee96 Don't cast the null residual pointer passed to vn_rdwr(). 1998-07-28 18:17:34 +00:00
simonb 0034263cb2 Fix missing semi-colon 1998-07-26 10:03:29 +00:00
thorpej 6127f55620 Implement kmem_{alloc,free}_poolpage(). These functions use pmap hooks to
map/unmap pool pages if provided by the pmap layer.
1998-07-24 20:27:26 +00:00
pk a96abe7092 Update pool_* functions to new interface. 1998-07-23 20:52:01 +00:00
thorpej 5450855604 GCC erroneously thinks used_vnode_size (a quad) is uninitialized on m68k. 1998-07-12 17:14:08 +00:00
thorpej efd84d4a97 Add a "free_list" to UVM's vm_physseg, indicating which free list the
pages in that physseg are on when they're free.
1998-07-08 04:19:59 +00:00
thorpej 8d986de632 Add support for mmap'ing disk block devices. 1998-07-07 23:22:13 +00:00
sommerfe 7ba7fbbb23 Always include fifos; "not an option any more". 1998-06-24 20:58:44 +00:00
sommerfe becaafeea0 defopt for options FIFO 1998-06-22 22:00:59 +00:00
cgd 651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
tv 16a3c1c5c7 dev_pager_alloc panic workaround for arm32 - temporary. 1998-06-10 22:41:03 +00:00
kleink bb7e6a0bdd Per XSH98, const'ify the `addr' arguments to mlock() and munlock(). 1998-05-30 22:21:03 +00:00
thorpej 6626878e7b It is no longer necessary for pmap_pinit() and pmap_release() to be
pmap interface functions, as NetBSD no longer uses statically allocated
pmaps (except for the kernel pmap, which is special-cased anyhow).
1998-05-19 19:00:11 +00:00