darrenr
860b0688ac
defopt "options SUN4*", put #define for each of SUN4, SUN4C, SUN4M and SUN4U
...
into opt_arch_sparc.h and include this wherever they are used.
2001-12-04 00:05:04 +00:00
chris
0e7661f023
Update pmap_update to now take the updated pmap as an argument.
...
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.
Currently this is a no-op on most platforms, so they should see no difference.
Reviewed by Jason.
2001-09-10 21:19:08 +00:00
mrg
cbe144f269
copy tlb_flush*() #defines here, but rename them tlb_flush*_real(). this
...
allows for tlb_flush*() to be defined differently if MULTIPROCESSOR.
2001-06-18 15:42:06 +00:00
chs
118ddca24a
replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}.
2001-05-26 16:32:40 +00:00
thorpej
92891185c3
Don't need a prototype for pmap_bootstrap_alloc(); the function
...
does not exist in the pmap API anymore.
2001-04-23 23:53:07 +00:00
thorpej
55044638aa
Remove pmap_kenter_pgs(). It was never really adopted by
...
anything, and the interface itself wasn't as flexible as
callers would have probably liked.
2001-04-22 23:42:11 +00:00
thorpej
69abdbf60c
Undo a misguided previous change to the pmap_update() API.
2001-04-22 23:19:26 +00:00
thorpej
4738622712
Give pmap_update() an argument (a pmap_t) so that it knows which
...
pmap it should be updating.
2001-04-22 00:33:59 +00:00
thorpej
7f10ba88b1
#define away pmap_update() in <machine/pmap.h> so that no function
...
call overhead is incurred as we start sprinkling pmap_update() calls
throughout the source tree (no pmaps currently defer operations, but
we are adding the infrastructure to allow them to do so).
2001-04-21 23:51:14 +00:00
pk
a97039b0ae
pmap_release(), pmap_pinit() and the `pm_regstore' field are obsolete.
2001-03-26 23:18:51 +00:00
pk
80ba31bd21
Drop the managed() macro; it is no longer used.
...
State the intended use of the vm_{first,last,num}_phys variables that are
still exported from pmap.c.
2001-03-01 15:56:47 +00:00
pk
0985cc7d7e
Remove obsolete function declarations.
...
Move switchexit() to cpu.h
2000-05-31 12:04:29 +00:00
pk
fca92e02ab
Fix a couple of typos.
2000-05-31 11:23:21 +00:00
pk
d4ac7f24ca
Implement HyperSPARC specific pmap_{zero,copy}_page functions.
2000-05-01 14:06:41 +00:00
pk
78391926bf
Allow for CPU specific page clear and page copy functions.
2000-04-30 21:09:43 +00:00
soren
95054da1a1
Fix doubled 'the's in comments.
2000-03-13 23:52:25 +00:00
thorpej
2cfc62b5ae
Update for pmap API change.
1999-11-14 02:39:09 +00:00
pk
b19b1fc269
Each process (i.e. each `pmap') needs a region table for each CPU.
...
Implement this by making the fields `pm_reg_ptp' and `pm_reg_ptp_pa'
pointers to an array of `ncpu' region table pointers and corresponding
physical addresses.
This is a somewhat unfortunate side effect of having the per-CPU data
addressable by the same virtual address on each CPU.
1999-10-04 19:18:33 +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
pk
7c5f595062
mmu_pagein() prototype: change address argument to `vaddr_t'.
1999-06-28 14:44:57 +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
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
thorpej
8abe0d6b1c
Adjust for the new "reaper" kernel thread: do not free the vmspace and
...
u-area in machine-dependent code. Instead, call exit2() to schedule
the reaper to free them for us, once it is safe to do so (i.e. we are
no longer running on the dead proc's vmspace and stack).
1998-09-09 00:07:48 +00:00
pk
b8a1caac4a
Convert to [pv]addr_t & [pv]size_t.
1998-08-21 14:12:18 +00:00
fvdl
ede1a3fc5b
Make this compile again.
1998-03-02 17:58:34 +00:00
thorpej
85d56961e5
Update a comment relative to the vm_bootstrap_steal_memory() change, and
...
don't include pmap_free_pages() or pmap_next_page() in the new non-contig
case.
1998-01-08 23:48:16 +00:00
thorpej
9ca174a51d
Implement pmap_activate().
1998-01-02 22:57:56 +00:00
pk
24ad0e8316
Prototype pmap_writetext().
1997-08-04 20:00:47 +00:00
pk
27434aef27
Follow lock changes (DEBUG => LOCKDEBUG).
1997-07-06 23:57:16 +00:00
pk
4846e5ba47
Adjust for generic lock changes.
1997-07-06 23:52:52 +00:00
pk
a9b31740a2
Remove __VM_PMAP_HACK.
1997-06-28 19:56:12 +00:00
pk
957b6c1c18
Define macros for encoding I/O space bits into the physical address
...
passed to pmap_enter().
1997-05-24 19:59:25 +00:00
gwr
e2a58b69f7
Add #define __VM_PMAP_HACK as a temporary measure.
1997-05-16 21:35:30 +00:00
pk
d94f5b92f9
prototype mmu_pagein4m() #if DEBUG is on.
1996-05-27 20:29:03 +00:00
pk
75eb006fa2
No longer need to call mmu_pagein() through a pointer.
1996-05-27 01:13:02 +00:00
thorpej
722d0da592
RCS Id police.
1996-05-20 00:56:39 +00:00
abrown
4bbf23d04c
Copyright police (s/Harvard University/Harvard College/).
1996-05-16 15:56:54 +00:00
pk
0ab4a52862
Add SRMMU/sun4m support. Size and layout of `struct pmap' has changed.
1996-03-31 22:09:13 +00:00
christos
9a07d9dec9
Add missing prototypes and fix the fp struct for svr4.
1996-03-14 19:49:04 +00:00
gwr
2de7b2e5cb
update PMAP_PREFER
1996-02-28 22:44:33 +00:00
pk
10a0b4b79e
Prototype pmap_dumpsize() and pmap_dumpmmu().
1995-07-05 18:45:46 +00:00
pk
e1873796ae
Make size of struct pmap' independent of
MMU3_L', so libkvm is
...
usable on all machines.
1995-04-13 16:24:40 +00:00
pk
ba43a19831
3-level MMU changes: software MMU data structures now display a VM model
...
consisting of `regions', `segments' and `page maps'.
1995-04-13 13:48:46 +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
pk
d374af4496
Prototype for pmap_pa_exists().
1995-03-10 16:56:27 +00:00
pk
6cfe5f9b6f
pmap_init() already declared elsewhere.
1995-01-10 16:15:20 +00:00
mycroft
820f9da835
Validate /dev/mem addresses again.
1995-01-09 11:22:06 +00:00