Commit Graph

29 Commits

Author SHA1 Message Date
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
chuck d22647b17e remove old (dead) non-MNN code 1999-01-16 20:00:28 +00:00
eeh a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +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
thorpej 9556e0bd1e Nuke #if 0'd pmap_bootstrap() declaration. 1998-05-19 18:12:27 +00:00
cgd 3bbb7f7d45 Move pmap_map() function definition to MD headers, as appropriate. It's
an internal function, and the VM system shouldn't try to prototype it.
(Note that some ports _don't_ prototype it.)
1998-02-18 02:05:32 +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
thorpej 223caea788 pmap_page_index() is not used in the MACHINE_NEW_NONCONTIG case. 1998-02-08 18:47:06 +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 54f8b4bf57 In the new non-contig case, redefine pmap_steal_memory() as an alternative
to vm_bootstrap_steal_memory(), since we may need to steal memory from
a direct-mapped segment at this early stage of the game (on e.g. MIPS
and Alpha).

This interface is activated by defining PMAP_STEAL_MEMORY in <machine/pmap.h>.
Otherwise, the pmap_virtual_space() prototype is in-scope for use by
vm_bootstrap_steal_memory().
1998-01-08 23:28:04 +00:00
thorpej 15efce41a3 Zorch pmap_startup() prototype. It was never implemented in machine-dependent
code, and is inlined in the MACHINE_NONCONTIG case of vm_page_bootstrap() now.
1998-01-08 23:13:05 +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 b9f1b716f3 Now that all ports have pmap_activate(), and it has an identical interface,
prototype it in <vm/pmap.h>
1998-01-03 01:12:59 +00:00
pk 37a292dea0 Make prototyping of most functions conditional on `PMAP_EXCLUDE_DECLS'.
This allows MD pmap.h to implement access to those functions via pointers.
1996-03-31 22:15:32 +00:00
christos c048d7ba68 fix a printf warning and add pmap_page_index declaration 1996-02-12 21:51:52 +00:00
christos d0fd3d7e62 Don't declare pmap_page_index for now. It will break the arm port.
This clearly needs to be fixed. I would like to declare it:

    __pure u_int     pmap_page_index __P((vm_offset_t));

but at least the arm port wants it signed [since it tests for -1 all over
the place]. Can we have this fixed please?
1996-02-10 00:30:39 +00:00
christos b7b8db60ac change pmap_page_index to return __pure u_int, like in the majority of
the ports
1996-02-10 00:20:09 +00:00
christos 03b1ad4cb4 One more cleanup pass to change %x to %p for pointers 1996-02-10 00:07:59 +00:00
christos bcabcefdcd VM prototype changes 1996-02-05 01:53:47 +00:00
jtc f76f1f89ad KERNEL -> _KERNEL 1995-03-26 20:35:13 +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
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
brezak 7f550be7fd Remove prototype for pmap_bootstrap() 1993-08-29 12:12:20 +00:00
brezak 15c3400ffe Machine independant changes to VM for handling non-contiguous memory. 1993-08-27 23:45:55 +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