Home | History | Annotate | Download | only in common
History log of /src/sys/arch/alpha/common/sgmap_common.c
RevisionDateAuthorComments
 1.29  18-Jul-2021  thorpej Allow for the SGMAP implementation to specify a minimum alignment for
SGMAP DMA segments. If not specified, PAGE_SIZE will be used, as before.
 1.28  04-Jul-2021  thorpej Remove unnecessary #include <sys/malloc.h>
 1.27  17-Jun-2020  thorpej branches: 1.27.6;
Switch from an extent mao to a vmem arena to manage SGMAP address space.
 1.26  27-Jan-2012  para converting extent(9) from malloc(9) to kmem(9)
preceding kmem-vmem-pool-uvm patch

releng@ acknowledged
 1.25  01-Jul-2011  dyoung branches: 1.25.2; 1.25.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.24  28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.23  04-Mar-2007  christos branches: 1.23.40; 1.23.42; 1.23.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.22  11-Dec-2005  christos branches: 1.22.26;
merge ktrace-lwp.
 1.21  01-Jun-2005  drochner branches: 1.21.2;
fix constification fallout
 1.20  01-Apr-2003  thorpej branches: 1.20.2;
Use PAGE_SIZE rather than NBPG.
 1.19  27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.18  19-Jul-2001  thorpej branches: 1.18.2;
Simplify the SGMAP code a bit, and move SGVA allocation out of a
common routine into the individual load routines, since each load
routine needs to muddle with the "internals" of this operation.

Add a `prefetch threshold' member to the bus_dma_tag_t, so that
eventually we can determine whether or not to allocate a spill
page on a per-mapping basis.
 1.17  12-Jul-2001  thorpej bzero -> memset
 1.16  03-Jan-2001  thorpej branches: 1.16.4;
ANSI'ify.
 1.15  03-Jan-2001  thorpej Restructure alpha_sgmap_dmamap_create() slightly.
 1.14  03-Jan-2001  thorpej The code that creates/destroys SGMAP DMA maps is the same; put it
in a common place and share it.
 1.13  29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.12  18-Feb-1999  mycroft branches: 1.12.8;
If we have to increase the boundary due to the spill pages, use the old
boundary as an alignment. Otherwise we fail to enforce the old boundary,
causing massive lossage.
 1.11  14-Aug-1998  thorpej vm_offset_t -> {paddr_t,vaddr_t}, vm_size_t -> vsize_t
 1.10  06-Jun-1998  thorpej Display information about which sgmap we're attempting to initialize
if we die in alpha_sgmap_init().
 1.9  23-Mar-1998  mjacob Okay, handle the ALLOCNOW case by doing the appropriate adjustments
up front. Do the spacing arithmetic slightly differently.
 1.8  11-Feb-1998  thorpej Use M_DMAMAP where appropriate.
 1.7  21-Jan-1998  thorpej Extent names are const.
 1.6  18-Jan-1998  thorpej Implement a prefetch spill page for SGMAP DMA. This works around a slight
annoyance on systems that prefetch the next page during memory -> device
DMA if the DMA comes within a certain distance of the end of the current
page. This could cause machine checks since the PTE after the last page
would not have the valid bit set.

(I'm not going to complain about this slight kludge too much, since prefetch
makes DMA much faster...)
 1.5  17-Jan-1998  thorpej Put SGMAP-related stuff in the DMA map structure directly, rather than
indirecting through a pointer.
 1.4  17-Jan-1998  thorpej Allow specification of a minimum page table alignment to alpha_sgmap_init().
This is to work around an apparent hardware bug in some 2117x chipsets
where the page table must be aligned to at least 32k.
 1.3  02-Sep-1997  thorpej Nuke the idea of <machine/options.h>. It completely defeats the purpose
of fine-grain option dependencies.
 1.2  06-Jun-1997  thorpej branches: 1.2.2; 1.2.6;
Pull thorpej-bus-dma branch into mainline.
 1.1  03-Jun-1997  thorpej branches: 1.1.2;
file sgmap_common.c was initially added on branch thorpej-bus-dma.
 1.1.2.1  03-Jun-1997  thorpej Totally rearrange the SGMAP DMA handling code. Split the functions
into "common" (used unchanged by everyone) and "typedep", which depend
on the type (32-bit or 64-bit) of the SGMAP PTEs.

Fix several bugs, and clean up significantly, eliminating unnecessary
housekeeping overhead in several places.
 1.2.6.1  04-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.2.2.2  07-Jun-1997  cgd syng thorpej-bus-dma changes with alpha-nwscons branch
 1.2.2.1  06-Jun-1997  cgd file sgmap_common.c was added on branch alpha-nwscons on 1997-06-07 04:42:54 +0000
 1.12.8.2  05-Jan-2001  bouyer Sync with HEAD
 1.12.8.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.16.4.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.16.4.1  03-Aug-2001  lukem update to -current
 1.18.2.2  18-Oct-2002  nathanw Catch up to -current.
 1.18.2.1  19-Jul-2001  nathanw file sgmap_common.c was added on branch nathanw_sa on 2002-10-18 02:34:06 +0000
 1.20.2.1  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.21.2.1  03-Sep-2007  yamt sync with head.
 1.22.26.1  12-Mar-2007  rmind Sync with HEAD.
 1.23.44.1  16-May-2008  yamt sync with head.
 1.23.42.1  18-May-2008  yamt sync with head.
 1.23.40.1  02-Jun-2008  mjf Sync with HEAD.
 1.25.6.1  18-Feb-2012  mrg merge to -current.
 1.25.2.1  17-Apr-2012  yamt sync with head
 1.27.6.1  01-Aug-2021  thorpej Sync with HEAD.

RSS XML Feed