Home | History | Annotate | Download | only in sun3x
History log of /src/sys/arch/sun3/sun3x/dvma.c
RevisionDateAuthorComments
 1.46  08-Sep-2024  rillig fix a/an grammar in obvious cases
 1.45  20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.44  01-Dec-2023  thorpej Use vmem(9) rather than extent(9) to manage DVMA mappings.
 1.43  07-Nov-2013  christos fix variable usage
 1.42  06-Sep-2013  tsutsui Tab/whitespace cleanup.
 1.41  27-Jan-2012  para branches: 1.41.6; 1.41.10;
converting extent(9) from malloc(9) to kmem(9)
preceding kmem-vmem-pool-uvm patch

releng@ acknowledged
 1.40  21-Nov-2009  rmind branches: 1.40.12; 1.40.16;
Use lwp_getpcb() on sparc{64} and sun2/3 MD code, clean from struct user usage.
 1.39  10-Nov-2009  he Add a zero argument to pmap_kenter_pa() invocations.
According to cegger@ this is the right thing to do for the moment.
 1.38  28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.37  04-Mar-2007  christos branches: 1.37.40; 1.37.42; 1.37.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.36  22-Feb-2007  thorpej TRUE -> true, FALSE -> false
 1.35  21-Feb-2007  thorpej Replace the Mach-derived boolean_t type with the C99 bool type. A
future commit will replace use of TRUE and FALSE with true and false.
 1.34  03-Feb-2007  tsutsui branches: 1.34.2;
Fix botch in #ifdef DIAGNOSTIC.
 1.33  03-Feb-2007  tsutsui Implement bus_dmamap_load(9) and bus_dmamap_unload(9) for sun3x.
 1.32  02-Feb-2007  tsutsui KNF
 1.31  01-Oct-2006  tsutsui 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.30  11-Dec-2005  christos branches: 1.30.20; 1.30.22;
merge ktrace-lwp.
 1.29  01-Apr-2005  yamt branches: 1.29.2;
merge yamt-km branch.
- don't use managed mappings/backing objects for wired memory allocations.
save some resources like pv_entry. also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.
 1.28  22-Jan-2005  chs branches: 1.28.2;
de-__P, remove register, ansify, b* -> mem*, u_int*_t -> uint*_t.
 1.27  15-Jul-2003  lukem branches: 1.27.8;
__KERNEL_RCSID()
 1.26  01-Apr-2003  thorpej branches: 1.26.2;
Use PAGE_SIZE rather than NBPG.
 1.25  27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.24  25-Sep-2002  thorpej Don't use rmaps; use extent maps.
 1.23  11-Sep-2001  chs branches: 1.23.4;
replace pmap_enter() with pmap_kenter_pa() where appropriate.
 1.22  10-Sep-2001  chris 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.21  05-Sep-2001  tsutsui branches: 1.21.2;
- vm_offset_t -> [pv]addr_t
- vm_size_t -> vsize_t
- remove register prefixes
 1.20  31-Aug-2001  simonb Use comments around the token after a #endif.
 1.19  24-Apr-2001  thorpej branches: 1.19.2;
Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative. It may be possible to
optimize these a little more.
 1.18  14-Jan-2001  thorpej branches: 1.18.2;
splimp() -> splvm()
 1.17  03-Nov-2000  tsutsui Fix printf formats in panic messages.
 1.16  29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.15  26-Jun-2000  mrg remove/move more mach vm header files:

<vm/pglist.h> -> <uvm/uvm_pglist.h>
<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
<vm/vm_object.h> -> nothing
<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
 1.14  13-Nov-1999  thorpej Update for pmap_enter() API change. No functional difference.
 1.13  08-Jul-1999  thorpej branches: 1.13.2; 1.13.4; 1.13.8;
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.
 1.12  26-Mar-1999  mycroft branches: 1.12.4;
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.
 1.11  24-Mar-1999  mrg completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
 1.10  09-Jun-1998  gwr First cut at UVM support. Compiles, but not tested yet.
 1.9  05-Feb-1998  gwr Merge arch/sun3x into arch/sun3
 1.8  22-Jan-1998  gwr branches: 1.8.4;
Change our DVMA map from the last 16MB to the last 1MB because that is
the only part that is visible to VME masters, and is adequate space.
This allows the "si" driver (on VME) to use DMA transfers.
 1.7  22-Jan-1998  gwr When calling iommu_* functions, use IOMMU_VA_MASK.
 1.6  16-Oct-1997  gwr Check bustype in dvma_kvtopa()
 1.5  10-Oct-1997  jeremy Corrected typo in comments.
 1.4  07-Oct-1997  gwr Add dvma_malloc() for the ie driver.
 1.3  24-Feb-1997  jeremy branches: 1.3.4;
Added some more comments and disabled removal of DVMA alias mapping from
kernel space in dvma_mapout() as it may cause problems with the current
pmap_remove().
 1.2  23-Jan-1997  gwr branches: 1.2.4;
Use <machine/machdep.h>
 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.3.4.1  14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.8.4.1  27-Jan-1998  gwr Merged Sun3 and Sun3X kernel sources.
 1.12.4.1  02-Aug-1999  thorpej Update from trunk.
 1.13.8.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.13.4.1  15-Nov-1999  fvdl Sync with -current
 1.13.2.3  18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.13.2.2  22-Nov-2000  bouyer Sync with HEAD.
 1.13.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.18.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.19.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.19.2.1  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.21.2.1  01-Oct-2001  fvdl Catch up with -current.
 1.23.4.2  18-Oct-2002  nathanw Catch up to -current.
 1.23.4.1  11-Sep-2001  nathanw file dvma.c was added on branch nathanw_sa on 2002-10-18 02:40:26 +0000
 1.26.2.5  01-Apr-2005  skrll Sync with HEAD.
 1.26.2.4  24-Jan-2005  skrll Sync with HEAD.
 1.26.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.26.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.26.2.1  03-Aug-2004  skrll Sync with HEAD
 1.27.8.1  29-Apr-2005  kent sync with -current
 1.28.2.1  12-Feb-2005  yamt use new apis.
 1.29.2.3  03-Sep-2007  yamt sync with head.
 1.29.2.2  26-Feb-2007  yamt sync with head.
 1.29.2.1  30-Dec-2006  yamt sync with head.
 1.30.22.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.30.20.2  09-Feb-2007  ad Sync with HEAD.
 1.30.20.1  18-Nov-2006  ad Sync with head.
 1.34.2.2  12-Mar-2007  rmind Sync with HEAD.
 1.34.2.1  27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.37.44.2  11-Mar-2010  yamt sync with head
 1.37.44.1  16-May-2008  yamt sync with head.
 1.37.42.1  18-May-2008  yamt sync with head.
 1.37.40.1  02-Jun-2008  mjf Sync with HEAD.
 1.40.16.1  18-Feb-2012  mrg merge to -current.
 1.40.12.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.40.12.1  17-Apr-2012  yamt sync with head
 1.41.10.1  18-May-2014  rmind sync with head
 1.41.6.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.

RSS XML Feed