Commit Graph

42 Commits

Author SHA1 Message Date
thorpej 31fa5c6f78 Don't inline pmap_kenter_pa(). It doesn't buy us much to do so, and
it's nice to have it show up in stack traces.
1999-07-28 01:07:52 +00:00
chs 47602880d7 KNF. 1999-07-18 21:33:20 +00:00
thorpej e2442268e9 PMAP_NEW is no longer optional on the i386; the old pmap's page table
allocation strategy no longer works at all.  Move pmap.new.* to pmap.*.

To read the revision history of PMAP_NEW up until this merge, use cvs
rlog of the old pmap.new.* files.
1999-06-17 00:12:10 +00:00
thorpej 5f3034757f Move the user-set LDT out of the PCB and into the pmap. Applications
which set the LDT and share VM space (e.g. new versions of WINE) expect
the LDT to be logically coupled to the address space.  Use the new pmap_fork()
interface to copy non-shared user-set LDTs when the address space is forked.
1999-05-12 19:28:28 +00:00
mycroft c9a799adf6 Assign my copyrights to TNF. 1998-08-15 04:57:50 +00:00
thorpej 330d142f16 vm_offset_t -> {vaddr_t,paddr_t}, vm_size_t -> vsize_t 1998-08-13 21:36:02 +00:00
thorpej edbfcebb6a Fixup an inconsistency in the declaration of PTDpaddr, pointed out by
Chris Demetriou.
1998-02-18 03:04:40 +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
mrg 29e93b8bea add the i386 MD portions for UVM. 1998-02-06 07:21:42 +00:00
mrg 057795048f this is the i386 MD portion of the MACHINE_NEW_NONCONTIG code, as
written by chuck cranor.  thanks to mycroft for helping me find the
one little line of code i accidentally deleted while merging it.

this is not enabled by default.  `options MACHINE_NEW_NONCONTIG'
will use this code.  eventually, this should go into <machine/vmparam.h>
insteaed of MACHINE_NONCONTIG.
1998-01-13 12:52:16 +00:00
thorpej 3e7eb6c80a Garbage-collect pm_pdchanged; it's not used by anything. 1998-01-06 07:16:06 +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
fvdl be205fedc0 Define constants for the start and end VA of user page tables. 1997-12-07 21:30:11 +00:00
thorpej 15339d7ea8 Make pmap_{,de}activate() take a pointer to a proc. 1997-11-04 01:37:01 +00:00
fvdl 74f97b28cc Change various constants that depend on the kernel VM base address. Lower
it to 0xf0000000 to give it more breathing space.
1997-10-20 00:45:03 +00:00
thorpej 9e69444bbd Nuke __VM_PMAP_HACK. 1997-06-12 23:57:26 +00:00
gwr e2a58b69f7 Add #define __VM_PMAP_HACK as a temporary measure. 1997-05-16 21:35:30 +00:00
fvdl c15f6d921f Changes for NKPDE calculation from cgd.
- New variables: biosextmem, biosbasemem, nkpde
- Above can be set by using the options BIOSEXTMEM, BIOSBASEMEM,
  and NKPDE respectively (EXTMEM_SIZE is now called BIOSEXTMEM).
  When preset this way, they won't be filled in / calculated.
- Readable by sysctl using machdep.nkpde, machdep.biosbasemem
  and machdep.biosextmem.
- nkpde is calculated as:

	min(NKPDE_MAX, NKPDE_BASE + (biosextmem >> 10) * NKPDE_SCALE)

  Where NKPDE_MAX is 31, NKPDE_BASE is 4, NKPDE_SCALE = 1.
1996-11-18 01:06:09 +00:00
christos 8fd0f1f8b3 Add missing prototypes. 1996-05-03 19:26:28 +00:00
christos 4d234d08d8 Move pmap_page_index declaration to <vm/pmap.h> 1996-02-12 21:12:29 +00:00
mycroft 72805df917 Various changes from John Kohl and me:
Map kernel stacks only at unique addresses.
Use one TSS per process.
Add sysarch calls for modifying IOPL and the I/O permission bitmap.
Add a compacting GDT entry allocator, for TSS and LDT selectors.
Enable modifying %fs and %gs with PT_SETREGS.
Sanitize various bits of code.
1995-10-11 04:19:29 +00:00
cgd db66a978e9 IdlePTD has been gone for a while. PTDpaddr now exists. 1995-06-26 13:25:29 +00:00
jtc 8aa6c376b6 KERNEL -> _KERNEL 1995-05-11 16:52:54 +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
jtc 71ab4ed9dc KERNEL -> _KERNEL 1995-03-28 18:13:48 +00:00
andrew 20cc8b6c5c Increase NKPDE to cope with 64MB RAM. 1994-10-31 06:30:52 +00:00
cgd 022ee8f7fe new RCS ID format. 1994-10-27 04:14:23 +00:00
mycroft c3fa5122d6 #include cpufunc.h from pmap.h. 1994-10-09 15:00:38 +00:00
mycroft 18830ce0ea Define pmap_update() using tlbflush(). 1994-10-09 13:11:18 +00:00
mycroft 0d3651018e Make kernel_pmap a macro that points directly to kernel_pmap_store. 1994-09-09 23:58:48 +00:00
mycroft 4116a4243e Various changes:
* Inline some functions.
* Eliminate redundant calls to pmap_page_index().
* Reduce the number of TLB flushes in accordance with the i386 SSWG.
* Inline pmap_remove() in pmap_remove_all().  (Most if it is unnecessary.)
* Allocate pv_entry's in pages, and keep a list of free entries in each page,
and a list of pages with free entries.  (Trying to reduce malloc() overhead,
and improve locality of reference.)
* Remove a couple of macros that aren't really useful.
* Remove pmap_kernel() completely.
1994-09-07 20:48:52 +00:00
mycroft 5f27568164 Eliminate struct pte and struct pde. 1994-08-15 14:46:45 +00:00
mycroft 9a87e0deef Increase default NKPDE. 1994-06-02 09:29:01 +00:00
cgd 30f3283f7d cast to quiet warning 1994-05-23 02:59:44 +00:00
mycroft d5bb16fdb2 Move kernel to 0xf8000000. 1994-01-05 16:02:36 +00:00
mycroft fccc819b20 Fold in most of the magnum vm changes. 1993-12-14 05:31:17 +00:00
brezak 5bce7d4176 Add prototype for pmap_bootstrap(). 1993-08-30 18:09:57 +00:00
brezak 4aca3365cc i386 Machine dependant changes to handle non-contiguous memory. 1993-08-27 23:52:22 +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 30177b538f add rcsids to everything and clean up headers 1993-05-22 07:56:12 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00