thorpej
1946167939
Update for pmap_enter() API change. No functional difference.
1999-11-13 00:30:26 +00:00
chs
b42715c204
fix something that was missed in the PMAP_NEW cleanup.
1999-09-19 19:05:44 +00:00
chs
f3a668ed84
eliminate the PMAP_NEW option by making it required for all ports.
...
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.
1999-09-12 01:16:55 +00:00
thorpej
3ebbe095e0
Change the pmap_extract() interface to:
...
boolean_t pmap_extract(pmap_t, vaddr_t, paddr_t *);
This makes it possible for the pmap to map physical address 0.
1999-07-08 18:05:21 +00:00
thorpej
0288ffb53a
pmap_change_wiring() -> pmap_unwire().
1999-06-17 19:23:20 +00:00
thorpej
f5a527bb4e
Remove pmap_pageable(); no pmap implements it, and it is not really useful,
...
because pmap_enter()/pmap_change_wiring() (soon to be pmap_unwire())
communicate the information in greater detail.
1999-06-17 18:21:21 +00:00
gwr
f6422020e5
Add opt_ddb.h
1999-04-08 05:07:35 +00:00
mycroft
9c6b797796
Changes for modified pmap_enter() API:
...
* Map the message buffer with access_type = VM_PROT_READ|VM_PROT_WRITE `just
because'.
* Map the file system buffers with access_type = VM_PROT_READ|VM_PROT_WRITE to
avoid possible problems with pagemove().
* Do not use VM_PROT_EXEC with either of the above.
* Map pages for /dev/mem with access_type = prot. Also, DO NOT use
pmap_kenter() for this, as we DO NOT want to lose modification information.
* Map pages in dumpsys() with VM_PROT_READ.
* Map pages in m68k mappedcopyin()/mappedcopyout() and writeback() with
access_type = prot.
* For now, bus_dma*(), pmap_map(), vmapbuf(), and similar functions still use
access_type = 0. This should probably be revisited.
1999-03-26 23:41:25 +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
is
d04273bac7
sun3 part of fix for PR 6152
1999-02-26 22:03:28 +00:00
chuck
90ddaed9b5
MNN is no longer optional, remove dead code
1999-01-16 20:43:21 +00:00
gwr
e7810fa812
Fix MACHINE_NEW_NONCONTIG support (UVM works now:)
...
thanks to Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
Closes PR#6540
1998-12-12 05:25:01 +00:00
thorpej
d47ea67c1f
Define one page free list, and put all pages on it.
1998-07-08 04:43:18 +00:00
gwr
1b01ec0993
First cut at UVM support. Compiles, but not tested yet.
1998-06-09 20:47:17 +00:00
gwr
c714d95b83
First cut at MACHINE_NEW_NONCONTIG - not enabled yet.
1998-06-09 20:31:28 +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
jeremy
a1efa84a4d
Modified the comments for the recentlty implemented pmap_map() function.
1998-02-09 19:56:37 +00:00
gwr
e387ffba22
Add pmap_map
1998-02-08 04:57:58 +00:00
gwr
eff2e270bd
Merge arch/sun3x into arch/sun3
1998-02-05 04:56:24 +00:00
gwr
cc1b4e4724
In pmap_bootstrap_copyprom, copy only the last PTE from the PROM's
...
DVMA segment (for the page reserved by the PROM). If we copy all
the mappings, pmap_enter_kernel may complain about finding valid
PTEs that are not recorded in our PV lists. Make pmap_remove_pte
do something reasonable if it finds a PTE for a managed page that
has not been recorded in the PV lists. (Plus other minor stuff).
1998-01-22 22:00:25 +00:00
gwr
58126a3b29
Separate pmap_activate() from _pmap_switch(), so the latter can remain
...
equivalent to what locore.s:cpu_switch does with in-line assembly when
PMAP_DEBUG is not defined. Also do splimp/splx in pmap_activate.
1998-01-22 21:48:42 +00:00
thorpej
d14e18faa9
Make pmap_activate() take a proc *.
1998-01-02 20:10:26 +00:00
gwr
9420004b46
Remove the for-loop that wants to map multiple msgbuf pages.
...
Multiple msgbuf pages will not work without a redesign of
the kernel VM layout, so let's not pretend we can do it.
1997-10-23 02:24:41 +00:00
gwr
c669b1bdeb
Do the cpu_kcore_hdr initialization a little differently.
...
(also fix - was not setting pg_frame, pg_valid)
1997-10-05 20:43:27 +00:00
leo
d4713d24c2
Implement the kernel part of pr-1891. This allows for a more flexible sized
...
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
1997-09-19 13:52:37 +00:00
jeremy
bbf76eb63e
Implement pmap and va caching within C table managers to help speed
...
up PV->(pmap,va) operations.
1997-07-02 03:23:57 +00:00
veego
6cf26b26ae
s/_round_page/m68k_round_page/ s/_trunc_page/m68k_trunc_page/
...
s/_btop/m68k_btop/ s/_ptob/m68k_ptob/
1997-06-10 19:42:25 +00:00
jeremy
3f6f86d875
Undo changes which make pmap_xxxx_page() functions re-entrant; just block
...
all interrupts which might cause re-entrancy.
Allow virtual addresses which are not managed by the MI VM system to
participate in the PV system.
Remove a few frivoulous TLB cache flushes.
1997-05-30 07:02:14 +00:00
jeremy
1b2aae80c2
Added new lock system for the two virtual pages used in temporary mappings.
...
Allows pmap_zero_page() and pmap_copy_page() to be re-entrant.
1997-05-28 04:28:52 +00:00
jeremy
0304ff6aed
Implement code to dynamically size the number of page tables based on available
...
RAM at boot.
Also did some cleanup of unused functions, updated several comments, and
removed unecessary 'XXX's.
1997-05-20 06:01:19 +00:00
gwr
24af362f60
Implement pmap_pa_exists() so that /dev/mem works.
...
This was the reason ps (kvm_getargs) did not work.
1997-05-01 15:00:11 +00:00
thorpej
a2be180b39
Adjust for new kcore.h
1997-04-09 21:00:35 +00:00
jeremy
68755b199e
Physical page status functions pmap_clear_reference()
...
and pmap_clear_modify() weren't testing if the page whose status was being
changed was being managed. This caused kernel panics with X11.
1997-04-01 02:15:33 +00:00
gwr
c29412f1bb
fix a warning
1997-03-26 23:27:12 +00:00
gwr
c874276d35
First cut at crashdump support.
1997-03-21 22:46:05 +00:00
gwr
ee531cb3c9
s/sun3x_/_/ in sun3x_(round|trunc)_(page|seg) macros
1997-03-13 17:40:33 +00:00
gwr
51cfd7ed4d
Get the numbers of kernel MMU tables right.
1997-03-06 05:16:34 +00:00
gwr
9a79f92460
Clean out some junk I forgot to remove last time...
1997-03-06 00:15:56 +00:00
gwr
a4e5a18b63
Add pmap_bootstrap_setprom() with sets the PROM level-A tables to
...
allow the PROM monitor to see mappings in kernel space. This also
fixes a problem with exiting to the monitor with the stack pointer
set to some place in kernel space. Also fix NUM_KERN_PTES, and
change get_pte() so it works on any virtual address.
1997-03-06 00:04:18 +00:00
jeremy
290f55615a
Took switch statement out of main loop in pmap_protect() and explained more
...
of the rationale behind it.
1997-03-02 07:59:21 +00:00
jeremy
996c634929
Rewrite pmap_remove() to be speedier with large address spaces.
1997-02-22 03:18:30 +00:00
jeremy
035b20b171
Update copyright and fix typos in macro definition used when not debugging.
1997-02-19 04:17:32 +00:00
gwr
7190ad9936
Fix a major bug in pmap_remove_kernel() that causd the removal of
...
one page too many (worse, it unmapped our stack page... Ouch!)
Also, use loadcrp() and such instead of calling pmap_activate
in various places so we have more control over TLB flush.
Now pmap_activate() is called only by locore (and that call is
done only if PMAP_DEBUG is defined). Other minor clean-up...
1997-02-16 19:38:08 +00:00
gwr
7275a8976f
Add pmap_count(), fix some bugs... (from Jeremy).
1997-02-14 03:56:49 +00:00
gwr
27b8c79679
Latest version from Jeremy. Changes too numerous to describe here.
1997-02-12 23:09:32 +00:00
thorpej
8501929f45
Use copypage() and zeropage() in the right places.
1997-02-02 08:41:10 +00:00
gwr
2e2e2a855c
Change "machdep.h" to <machine/machdep.h>
1997-01-27 22:33:34 +00:00
gwr
aaf91fd6aa
Adapt to rename of pcb_mmuctx to pcb_mmucrp, and corrected
...
prototype of loadcrp(), which kills some bogus type casts.
1997-01-17 16:27:17 +00:00
gwr
f286cdd282
Move declaration of struct mmu_rootptr to mc68851.h
...
Kill a cast that is now unnecessary.
1997-01-16 22:12:50 +00:00
gwr
2ffbfe169b
Punt some historical stuff that was ifdefed out.
1997-01-14 21:01:33 +00:00