Home | History | Annotate | Download | only in include
History log of /src/sys/arch/sun2/include/pmap.h
RevisionDateAuthorComments
 1.28  14-Mar-2020  ad pmap_remove_all(): Return a boolean value to indicate the behaviour. If
true, all mappings have been removed, the pmap is totally cleared out, and
UVM can then avoid doing the work to call pmap_remove() for each map entry.
If false, either nothing has been done, or some helpful arch-specific voodoo
has taken place.
 1.27  01-Feb-2020  tsutsui Use "__nothing" macro defined in <sys/cdefs.h> for empty pmap_update().

Suggested by pgoyette@ in PR/54869.
 1.26  09-Jan-2013  he branches: 1.26.38; 1.26.44;
The pmap_prefer() function grew an additional argument with the introduction
of top-down VM; fix the prototype accordingly.
 1.25  07-Jan-2013  chs switch to __USE_TOPDOWN_VM.
 1.24  03-Jun-2011  tsutsui branches: 1.24.2; 1.24.12;
- remove simple_lock(9) and use atomic_ops(3) to account pmap reference count,
perrequest from rmind@
- while here no need to export struct pmap on sun2/sun3/sun3x

No particular problem for a week on hp300 and sun3x kernels with disabled
tcp_vtw which has been broken for a month on low memory machines.
 1.23  11-Dec-2009  tsutsui branches: 1.23.4; 1.23.6; 1.23.10;
Export pmap_procwr() declaration only #ifdef _KERNEL.
 1.22  11-Dec-2009  tsutsui Refactoring MD segment related definitions on m68k ports:
- move macro SEGSHIFT, NBSG, and SEGOFFSET from <machine/param.h>
to <machine/pmap.h> where they should belong
- don't use m68k_round_seg() and m68k_trunc_seg() in sun2 pmap sources
and instead define and use sun2_round_seg() and sun2_trunc_seg()
since they are quite pmap implementation dependent
 1.21  09-Dec-2008  pooka Make pmap_kernel() a MI macro for struct pmap *kernel_pmap_ptr,
which is now the "API" provided by the pmap module. pmap_kernel()
remains as the syntactic sugar.

Bonus cosmetics round: move all the pmap_t pointer typedefs into
uvm_pmap.h.

Thanks to Greg Oster for providing cpu muscle for doing test builds.
 1.20  28-Apr-2008  martin branches: 1.20.6; 1.20.8;
Remove clause 3 and 4 from TNF licenses
 1.19  22-Jan-2008  joerg branches: 1.19.6; 1.19.8; 1.19.10;
Include sys/simplelock.h for the sake of pm_lock.
 1.18  16-Feb-2006  perry branches: 1.18.44; 1.18.50; 1.18.58;
Change "inline" back to "__inline" in .h files -- C99 is still too
new, and some apps compile things in C89 mode. C89 keywords stay.

As per core@.
 1.17  24-Dec-2005  perry branches: 1.17.2; 1.17.4; 1.17.6;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.16  11-Dec-2005  christos merge ktrace-lwp.
 1.15  22-Jan-2005  chs branches: 1.15.8;
de-__P, remove register, ansify, b* -> mem*, u_int*_t -> uint*_t.
 1.14  17-Jan-2005  atatat Convert the PMAP_PREFER() macro from two arguments (offset and hint)
to four (adding size and direction).

In order for topdown uvm to be an option on ports using PMAP_PREFER,
they will need to "prefer" lower addresses if topdown is being used.
Additionally, at least one port also needs to know the size.
 1.13  22-Sep-2002  chs branches: 1.13.6; 1.13.14;
it really helps to get the stub right before cutting + pasting it 27 times.
alas, I did not. doh.
 1.12  22-Sep-2002  chs add pmap_remove_all() hook (empty on most platforms so far).
 1.11  30-Nov-2001  fredette Purge vm_offset_t.
 1.10  10-Sep-2001  chris branches: 1.10.4;
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.
 1.9  27-Jun-2001  fredette branches: 1.9.2; 1.9.4;
Added comments and fixed some macros now that I correctly
understand how to address the sun2 VME bus in the VM hardware.
 1.8  02-Jun-2001  chs replace vm_map{,_entry}_t with struct vm_map{,_entry} *.
 1.7  26-May-2001  chs replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}.
 1.6  25-Apr-2001  thorpej Garbage-collect pmap_page_index().
 1.5  22-Apr-2001  thorpej Undo a misguided previous change to the pmap_update() API.
 1.4  22-Apr-2001  thorpej Give pmap_update() an argument (a pmap_t) so that it knows which
pmap it should be updating.
 1.3  21-Apr-2001  thorpej #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).
 1.2  06-Apr-2001  fredette branches: 1.2.2;
Added a prototype for the internal function _pmap_extract_pmeg,
used by the bus_dma implementation when double-mapping pages
by hand.
Now define PMAP_OBMEM for completeness.
 1.1  29-Mar-2001  fredette Added.
 1.2.2.3  23-Apr-2001  bouyer Sync with HEAD.
 1.2.2.2  21-Apr-2001  bouyer Sync with HEAD
 1.2.2.1  06-Apr-2001  bouyer file pmap.h was added on branch thorpej_scsipi on 2001-04-21 17:54:52 +0000
 1.9.4.1  01-Oct-2001  fvdl Catch up with -current.
 1.9.2.3  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.9.2.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.9.2.1  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.10.4.3  18-Oct-2002  nathanw Catch up to -current.
 1.10.4.2  08-Jan-2002  nathanw Catch up to -current.
 1.10.4.1  10-Sep-2001  nathanw file pmap.h was added on branch nathanw_sa on 2002-01-08 00:28:09 +0000
 1.13.14.1  29-Apr-2005  kent sync with -current
 1.13.6.2  24-Jan-2005  skrll Sync with HEAD.
 1.13.6.1  17-Jan-2005  skrll Sync with HEAD.
 1.15.8.1  04-Feb-2008  yamt sync with head.
 1.17.6.1  22-Apr-2006  simonb Sync with head.
 1.17.4.1  09-Sep-2006  rpaulo sync with head
 1.17.2.1  18-Feb-2006  yamt sync with head.
 1.18.58.1  23-Jan-2008  bouyer Sync with HEAD.
 1.18.50.1  18-Feb-2008  mjf Sync with HEAD.
 1.18.44.1  23-Mar-2008  matt sync with HEAD
 1.19.10.3  11-Mar-2010  yamt sync with head
 1.19.10.2  04-May-2009  yamt sync with head.
 1.19.10.1  16-May-2008  yamt sync with head.
 1.19.8.1  18-May-2008  yamt sync with head.
 1.19.6.2  17-Jan-2009  mjf Sync with HEAD.
 1.19.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.20.8.1  19-Jan-2009  skrll Sync with HEAD.
 1.20.6.1  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.23.10.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.23.6.1  06-Jun-2011  jruoho Sync with HEAD.
 1.23.4.1  12-Jun-2011  rmind sync with head
 1.24.12.1  25-Feb-2013  tls resync with head
 1.24.2.1  23-Jan-2013  yamt sync with head
 1.26.44.1  29-Feb-2020  ad Sync with head.
 1.26.38.1  08-Apr-2020  martin Merge changes from current as of 20200406

RSS XML Feed