Commit Graph

37 Commits

Author SHA1 Message Date
mrg 2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
thorpej 9ec517a68e Changes necessary to implement pre-zero'ing of pages in the idle loop:
- Make page free lists have two actual queues: known-zero pages and
  pages with unknown contents.
- Implement uvm_pageidlezero().  This function attempts to zero up to
  the target number of pages until the target has been reached (currently
  target is `all free pages') or until whichqs becomes non-zero (indicating
  that a process is ready to run).
- Define a new hook for the pmap module for pre-zero'ing pages.  This is
  used to zero the pages using uncached access.  This allows us to zero
  as many pages as we want without polluting the cache.

In order to use this feature, each platform must add the appropropriate
glue in their idle loop.
2000-04-24 17:12:00 +00:00
kleink 6e5b64c8a0 Merge parts of chs-ubc2 into the trunk:
Add a new type voff_t (defined as a synonym for off_t) to describe offsets
into uvm objects, and update the appropriate interfaces to use it, the
most visible effect being the ability to mmap() file offsets beyond
the range of a vaddr_t.

Originally by Chuck Silvers; blame me for problems caused by merging this
into non-UBC.
2000-03-26 20:54:45 +00:00
eeh c0ac678704 I should have made uvm_page_physload() take paddr_t's instead of vaddr_t's.
Also, add uvm_coredump32().
1999-12-30 16:09:47 +00:00
thorpej 3f176180d5 Garbage collect thread_sleep()/thread_wakeup() left over from the old
Mach VM code.  Also nuke iprintf(), which was no longer used anywhere.

Add proclist locking where appropriate.
1999-07-22 22:58:38 +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 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
chuck d22647b17e remove old (dead) non-MNN code 1999-01-16 20:00:28 +00:00
mrg 514a5d2570 vm_page_bootstrap takes vaddr_t *'s not paddr_t *'s 1998-08-24 22:36:36 +00:00
eeh a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +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 d214d5c30a Add vm_page_alloc1() and vm_page_free1(), which allocate/free single
VM pages, not associated with any object.
1998-03-12 06:25:52 +00:00
fvdl e5bc90f40c Merge with Lite2 + local changes 1998-03-01 02:20:01 +00:00
mrg d90485202c - add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.
1998-02-10 14:08:44 +00:00
mrg 8f7ee94e13 initial import of the new virtual memory system, UVM, into -current.
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code.  i provided some help
getting swap and paging working, and other bug fixes/ideas.  chuck
silvers <chuq@chuq.com> also provided some other fixes.

these are the changes to the old Mach VM system to allow both to be
available in the kernel.
1998-02-06 00:14:43 +00:00
thorpej 589a1e440e Clean up and consolidate the old non-contig bootstrap functions, and
rename pmap_steal_memory() to vm_bootstrap_steal_memory().
1998-01-08 23:03:24 +00:00
mrg a20d56e92e add new version of non contiguous memory code, written by chuck cranor,
called "MACHINE_NEW_NONCONGIG".  this is required for UVM, the new VM
system (also written by chuck) that is coming soon.  adds new functions:
	vm_page_physload() -- tell the VM system about an area of memory.
	vm_physseg_find() -- returns index in vm_physmem array that this
		address is in.
and several new versions of old functions/macros defined in vm_page.h.

this is the MI portion.  sparc, and then later i386 portions to come.
all other ports need to change to this ASAP!  (alpha is already being
worked on)
1998-01-08 11:36:16 +00:00
thorpej 433c3cae0f Pull thorpej-bus-dma branch into mainline. 1997-06-06 23:10:23 +00:00
mrg 4f2a217c2b pull up vm_object_collapse() fix from mrg_vm_object_collapse branch.
many thanks to niklas hallqvist (niklas@appli.se) for this.
1997-01-03 18:03:14 +00:00
jtc f76f1f89ad KERNEL -> _KERNEL 1995-03-26 20:35:13 +00:00
cgd 1af9a586a5 fix vm_page_startup's return type, kill an odd 'register' 1995-01-09 02:46:41 +00:00
cgd 0a930e5ce6 redo that last change, correctly. (suggested by mycroft.) 1994-10-30 19:11:09 +00:00
cgd aa151f86b3 change some strategic casts to (*long) from (*int). 1994-10-29 07:35:04 +00:00
cgd fccfa11af5 New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:39:25 +00:00
cgd 9608c5b657 clean up slightly; change RCS ID's to be minimally intrusive 1994-06-27 04:55:46 +00:00
cgd 3495827959 new VM code, from 4.4-Lite 1994-05-23 03:11:20 +00:00
mycroft 06a4a02877 Add some DIAGNOSTIC code to detect trying to free a page that is being faulted
in.
1994-04-29 08:21:49 +00:00
cgd e937bc9bfd convert vm system to use new queues. I'll never write code w/queues again. 1994-04-15 07:04:03 +00:00
cgd 70dabb7d43 don't be so agressive w/renaming, clean for consistency, types in one place. 1994-03-17 02:51:57 +00:00
mycroft d37579f554 More cleanup and prototyping. 1994-01-08 04:02:36 +00:00
cgd c26286a5c1 bring changes down from magnum 1993-12-20 12:39:55 +00:00
cgd 56adbe979f make absent absent 1993-11-10 08:22:05 +00:00
brezak 15c3400ffe Machine independant changes to VM for handling non-contiguous memory. 1993-08-27 23:45:55 +00:00
jtc 3643c134f1 Change "#endif FOO" to "#endif /* FOO */", to keep gcc -Wall, lint, etc.
from complaining about a trivial issue.
1993-07-29 21:42:19 +00:00
cgd cc5e8e00d5 add rcs ids and clean up headers 1993-05-20 03:59:08 +00:00
mycroft 235bd1db44 Add consistent multiple-inclusion protection. 1993-04-19 03:45:34 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00