Home | History | Annotate | Download | only in include
History log of /src/sys/arch/sun3/include/pmap3x.h
RevisionDateAuthorComments
 1.32  20-Dec-2024  tsutsui Remove trailing whitespace.
 1.31  14-Mar-2020  ad branches: 1.31.28;
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.30  18-Jan-2020  tsutsui Fix "modload nfsserver" failure on sun3. PR/54869

sun3 port has two definitions for different pmaps for sun3 (pmap3.h)
and sun3x (pmap3x.h) and they are selected by _SUN3_ or _SUN3X_ macro,
but neither of them is defined on module builds so common exported
definitions required by module(7) should be in a common header,
i.e. pmap.h.

Should be pulled up to netbsd-9.
 1.29  03-Jun-2011  tsutsui branches: 1.29.54; 1.29.58; 1.29.60;
- 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.28  11-Dec-2009  tsutsui branches: 1.28.4; 1.28.6; 1.28.10;
Export NBSG for bootloaders. MMU is enabled even on PROM on sun68k machines.
 1.27  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 sun3 pmap sources
and instead define and use sun3_round_seg() and sun3_trunc_seg()
since they are quite pmap implementation dependent
 1.26  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.25  28-Apr-2008  martin branches: 1.25.6; 1.25.8;
Remove clause 3 and 4 from TNF licenses
 1.24  04-Jan-2008  ad branches: 1.24.6; 1.24.8; 1.24.10;
Don't pull in unrelated gunk.
 1.23  01-Oct-2006  tsutsui branches: 1.23.28; 1.23.34; 1.23.42;
First attempt at bus_space(9) support for sun3 with common sun68k/bus.c:
- make sun3 port use common sun68k files as much as possible
- add temporary options _SUN2_ in std.sun2 until sun3 can share all
sun68k files (autoconf.c and isr.c are not yet)
- move sun68kvme declaration temporary as well from files.sun68k to files.sun2
- rename and move sun68k_find_prom_map() function to MD sources since it
can't be shared with sun3
- add bus tag members to struct confargs and initilize them where appropriate

XXX1: MD bus_dma(9) backends are not implemented (yet).
XXX2: more code (obio etc.) should be shared among sun3, sun3x and sun2.
 1.22  16-Feb-2006  perry branches: 1.22.14; 1.22.16;
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.21  24-Dec-2005  perry branches: 1.21.2; 1.21.4; 1.21.6;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.20  11-Dec-2005  christos merge ktrace-lwp.
 1.19  22-Jan-2005  chs branches: 1.19.8;
de-__P, remove register, ansify, b* -> mem*, u_int*_t -> uint*_t.
 1.18  22-Sep-2002  chs branches: 1.18.6; 1.18.14;
it really helps to get the stub right before cutting + pasting it 27 times.
alas, I did not. doh.
 1.17  22-Sep-2002  chs add pmap_remove_all() hook (empty on most platforms so far).
 1.16  10-Sep-2001  chris branches: 1.16.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.15  03-Jul-2001  chs branches: 1.15.2; 1.15.4;
vm_offset_t -> [pv]addr_t.
 1.14  26-May-2001  chs replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}.
 1.13  22-Apr-2001  thorpej Undo a misguided previous change to the pmap_update() API.
 1.12  22-Apr-2001  thorpej Give pmap_update() an argument (a pmap_t) so that it knows which
pmap it should be updating.
 1.11  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.10  09-Jun-1998  gwr branches: 1.10.14; 1.10.26;
Move sun3x _pmap_fault macro from pmap.h to trap.c
 1.9  16-Mar-1998  gwr Add an anonymous declaration of struct pmap in pmap.h and put
typedef struct pmap *pmap_t there, removing the latter from
pmap3.h and pmap3x.h (so LKMs can use <vm/vm.h>).
 1.8  18-Feb-1998  cgd 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.)
 1.7  05-Feb-1998  gwr Merge arch/sun3x into arch/sun3
 1.6  03-Jan-1998  thorpej branches: 1.6.4;
Now that all ports have pmap_activate(), and it has an identical interface,
prototype it in <vm/pmap.h>
 1.5  02-Jan-1998  thorpej Make pmap_activate() take a proc *.
 1.4  14-Feb-1997  gwr Define pmap_resident_count(), pmap_wired_count() as
macros that call pmap_count(). (from Jeremy).
 1.3  12-Feb-1997  gwr In struct pmap, replace pm_mmucrp with pm_a_phys.
Define pmap_resident_count(), pmap_wired_count()
to call pmap_resident_pages(), pmap_wired_pages()
respectively, so we can keep those statistics on
lower-level structures instead of here.
 1.2  23-Jan-1997  gwr branches: 1.2.4;
Add <machine/pte.h> and the new pm_mmucrp member of struct pmap.
Kill macros PMAP_ACTIVATE and PMAP_ACTIVATE (not used).
Add macro _pmap_fault for use in trap.c
 1.1  14-Jan-1997  gwr branches: 1.1.1;
Initial revision
 1.1.1.1  14-Jan-1997  gwr Initial import. Gets as far as nfs_mountroot.
 1.2.4.1  12-Mar-1997  is Merge in Changes from The Trunk.
 1.6.4.1  27-Jan-1998  gwr Some comments, etc.
 1.10.26.1  21-Jun-2001  nathanw Catch up to -current.
 1.10.14.1  23-Apr-2001  bouyer Sync with HEAD.
 1.15.4.1  01-Oct-2001  fvdl Catch up with -current.
 1.15.2.2  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.15.2.1  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.16.4.2  18-Oct-2002  nathanw Catch up to -current.
 1.16.4.1  10-Sep-2001  nathanw file pmap3x.h was added on branch nathanw_sa on 2002-10-18 02:40:22 +0000
 1.18.14.1  29-Apr-2005  kent sync with -current
 1.18.6.1  24-Jan-2005  skrll Sync with HEAD.
 1.19.8.2  21-Jan-2008  yamt sync with head
 1.19.8.1  30-Dec-2006  yamt sync with head.
 1.21.6.1  22-Apr-2006  simonb Sync with head.
 1.21.4.1  09-Sep-2006  rpaulo sync with head
 1.21.2.1  18-Feb-2006  yamt sync with head.
 1.22.16.1  06-Oct-2006  tsutsui Sync files of recent sun3 and sun68k merge and intersil7170(4) changes
with HEAD to build sun3 kernel on this branch.
 1.22.14.1  18-Nov-2006  ad Sync with head.
 1.23.42.1  08-Jan-2008  bouyer Sync with HEAD
 1.23.34.1  18-Feb-2008  mjf Sync with HEAD.
 1.23.28.1  09-Jan-2008  matt sync with HEAD
 1.24.10.3  11-Mar-2010  yamt sync with head
 1.24.10.2  04-May-2009  yamt sync with head.
 1.24.10.1  16-May-2008  yamt sync with head.
 1.24.8.1  18-May-2008  yamt sync with head.
 1.24.6.2  17-Jan-2009  mjf Sync with HEAD.
 1.24.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.25.8.1  19-Jan-2009  skrll Sync with HEAD.
 1.25.6.1  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.28.10.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.28.6.1  06-Jun-2011  jruoho Sync with HEAD.
 1.28.4.1  12-Jun-2011  rmind sync with head
 1.29.60.1  25-Jan-2020  ad Sync with head.
 1.29.58.1  21-Jan-2020  martin Pull up following revision(s) (requested by tsutsui in ticket #636):

sys/arch/sun3/include/pmap.h: revision 1.33
sys/arch/sun3/include/pmap3.h: revision 1.50
sys/arch/sun3/include/pmap3x.h: revision 1.30

Fix "modload nfsserver" failure on sun3. PR/54869
sun3 port has two definitions for different pmaps for sun3 (pmap3.h)
and sun3x (pmap3x.h) and they are selected by _SUN3_ or _SUN3X_ macro,
but neither of them is defined on module builds so common exported
definitions required by module(7) should be in a common header,
i.e. pmap.h.

Should be pulled up to netbsd-9.
 1.29.54.1  08-Apr-2020  martin Merge changes from current as of 20200406
 1.31.28.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed