Commit Graph

39 Commits

Author SHA1 Message Date
ragge f9f885519d First cut of multiprocessor support for vax. Still much to do before
other CPUs than the master can spin up.
2000-03-19 14:56:52 +00:00
matt e0df4ffcae expunge vm_offset_t and vm_size_t.
add bus_dma support for the vs4000 dma translation map (sgmap).
enhance the vsbus for the lance to work with it.
remove the sgmap init code from ka46/48/49.c
2000-03-04 07:27:47 +00:00
ragge 8f9615d62c A bunch of changes:
- Free pte pages not in use anymore.
- Inline pmap_extract().
- Fix annoying page reference/modify bug. Fixes PR#7858 & PR#7859.
1999-08-01 13:48:06 +00:00
ragge 1647688f0d Use pmap_steal_memory() for early memory allocation. 1999-06-30 19:31:33 +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
ragge 71a57b22eb Use the pool allocator for mbufs instead of a separate submap. 1999-04-14 23:42:00 +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
ragge bef0af5311 Allocate (almost) all interrupt vectors dynamically. Simplifies much
work when adding support for new machines and devices.
1999-01-19 21:04:47 +00:00
ragge d0e7a99a8a Giant change: NBPG now set to 4k and CLSIZE == 1 for vax. This change
made a whole bunch of annoying bugs disappear; mostly depending on
bad use of NBPG in non-MD code. The VAX port was the only port that
used this historical "feature".

The CL* macros should probably go away totally, there is no reason
at all to keep them.
1999-01-01 21:43:17 +00:00
ragge 015d31ae8d - Save R/M bits after a page is unmapped.
- Keep track of mapping count (for statistics).
- vm_offset_t -> vaddr_t/paddr_t.
- Move away counting of available memory.
1998-11-29 14:55:04 +00:00
ragge b3574d3923 VAX logical page size increased to 4k. 1998-08-21 13:41:09 +00:00
ragge 9aea445d54 Remove the ancient kernel-stack area at top of P1 region. Make PMAP_NEW
almost work. Also Wall cleaning.
1998-05-03 13:02:22 +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
ragge a355d0bc1b Re-implement page reference bit emulation by using the (otherwise unused)
valid bit. This is faster than the "unmap all" solution that were described
in that Mach paper _and_ it eliminates the need for checking the wired bit.
As a result of this; swapping started working again on vax :-)
1998-01-31 12:17:34 +00:00
ragge afb1a37379 Fix page size initialisation. 1998-01-18 22:07:50 +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
thorpej 172a9381b6 - Remove the PCB pointer from the pmap structure. Instead, store the
page {0,1} base and length registers in the pmap structure.  They will
  be loaded in to the PCB when the process's address space is activated
  by way of pmap_activate().
- Remove pmap_pinit() macro; it's now a real function.
- Prototypes for pmap_pinit(), pmap_activate(), pmap_deactivate().
1998-01-03 00:28:43 +00:00
thorpej cc1f5b65c9 asm -> __asm__ 1997-11-05 04:23:35 +00:00
ragge ae27edc757 Major rewriting, optimization and simplifying of the pmap code:
- Map in all physical memory first in system space. This reduces
  pmap_copy_page() and pmap_zero_page to 3 resp. 2 instructions.
- Have fized position user page tables. Makes the pv_table smaller
  and all reverse references faster (and simpler).
- Remove the wiring code. Nobody doesn't even know what a DR32 is anymore.
- Simulate page reference bit by setting page invalid, as suggested by
  Rich Draves in a paper for 1991 Mach Usenix Symposium.

This reduced the time spent in the pmap module to between 70-75% of
the previous; and made process startup _much_ faster.
1997-11-02 14:25:19 +00:00
ragge 759763742b Remove __VM_PMAP_HACK. 1997-07-06 22:38:22 +00:00
gwr e2a58b69f7 Add #define __VM_PMAP_HACK as a temporary measure. 1997-05-16 21:35:30 +00:00
ragge caff7b03d4 Numerous changes to be able to put Bertram Barth's VAXstation support in.
(Some) Support for VAXstation 2000/MicroVAX 2000, VAXstation 3100/76.
1996-07-20 17:58:12 +00:00
ragge a24af7a7c2 Added prototypes to everything. Made all files compile with -Wall. 1996-04-08 18:32:26 +00:00
ragge f01a5dd8cc We lost declaration of kernel_pmap_store somewhere, put it back. 1996-03-09 23:39:51 +00:00
ragge 6e51b1e47e Support for VAX 8600/8650 added. Works with lots of Unibus adapters,
and will probably work with Massbus adapters as well. (Not tested,
but it's the same code as for 11/780). Ubareset's may cause crashes
on 8600 also like 11/780, but they are more uncommon. No support
for console RL02 yet, but it's likely to come.
1996-03-07 23:22:34 +00:00
ragge 4cafd3d7d2 PAGE_SIZE should be PAGE_SHIFT. Really ugly bug! 1996-02-11 13:46:23 +00:00
mycroft 9d9a70a5a2 Fix #includes. 1996-02-02 18:05:36 +00:00
ragge 763fd0a011 Macros for locore mapping added. 1995-11-12 14:41:41 +00:00
jtc 8aa6c376b6 KERNEL -> _KERNEL 1995-05-11 16:52:54 +00:00
ragge 29a5673f41 BROKEN_SWAP removed, swapping verified OK.
pmap_collect(pmap) added as null define.
1995-05-05 14:13:01 +00:00
ragge 4807c769ca Added regs for trace. 1995-04-12 15:26:49 +00:00
mycroft 22cefc03bc Bring back pmap_kernel(), for now always inlined as a pointer to
kernel_pmap_store.
1995-04-10 12:41:29 +00:00
ragge 4fb1817e07 Lots of fixes... 1995-02-13 00:43:20 +00:00
ragge ca49094181 Lots of updates & fixes. 1994-11-25 19:08:50 +00:00
cgd d62187c043 new RCS ID format. 1994-10-26 08:01:33 +00:00
ragge e2ce91ebf4 Changes to make files more 4.4/1.0B working. 1994-10-08 15:43:53 +00:00
ragge 186e16d63e Minor updates of some errouneous parameters. 1994-08-16 23:41:53 +00:00
ragge 8026fb53f2 Initial VAX port merging. 1994-08-02 20:18:46 +00:00