128029b68SRuslan Bukin /*- 228029b68SRuslan Bukin * Copyright (c) 1997, 1998 Justin T. Gibbs. 328029b68SRuslan Bukin * 428029b68SRuslan Bukin * Redistribution and use in source and binary forms, with or without 528029b68SRuslan Bukin * modification, are permitted provided that the following conditions 628029b68SRuslan Bukin * are met: 728029b68SRuslan Bukin * 1. Redistributions of source code must retain the above copyright 828029b68SRuslan Bukin * notice, this list of conditions, and the following disclaimer, 928029b68SRuslan Bukin * without modification, immediately at the beginning of the file. 1028029b68SRuslan Bukin * 2. The name of the author may not be used to endorse or promote products 1128029b68SRuslan Bukin * derived from this software without specific prior written permission. 1228029b68SRuslan Bukin * 1328029b68SRuslan Bukin * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 1428029b68SRuslan Bukin * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1528029b68SRuslan Bukin * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1628029b68SRuslan Bukin * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR 1728029b68SRuslan Bukin * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1828029b68SRuslan Bukin * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 1928029b68SRuslan Bukin * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2028029b68SRuslan Bukin * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2128029b68SRuslan Bukin * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2228029b68SRuslan Bukin * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2328029b68SRuslan Bukin * SUCH DAMAGE. 2428029b68SRuslan Bukin */ 2528029b68SRuslan Bukin 2628029b68SRuslan Bukin #include <sys/cdefs.h> 2728029b68SRuslan Bukin __FBSDID("$FreeBSD$"); 2828029b68SRuslan Bukin 2928029b68SRuslan Bukin #include <sys/param.h> 3028029b68SRuslan Bukin #include <sys/systm.h> 3128029b68SRuslan Bukin #include <sys/malloc.h> 3228029b68SRuslan Bukin #include <sys/bus.h> 3328029b68SRuslan Bukin #include <sys/kernel.h> 3428029b68SRuslan Bukin #include <sys/ktr.h> 3528029b68SRuslan Bukin #include <sys/lock.h> 3628029b68SRuslan Bukin #include <sys/memdesc.h> 3728029b68SRuslan Bukin #include <sys/mutex.h> 3828029b68SRuslan Bukin #include <sys/uio.h> 3928029b68SRuslan Bukin #include <vm/vm.h> 4028029b68SRuslan Bukin #include <vm/vm_extern.h> 4128029b68SRuslan Bukin #include <vm/pmap.h> 4228029b68SRuslan Bukin 4328029b68SRuslan Bukin #include <machine/bus.h> 4428029b68SRuslan Bukin 4528029b68SRuslan Bukin int 4628029b68SRuslan Bukin _bus_dmamap_load_phys(bus_dma_tag_t dmat, bus_dmamap_t map, vm_paddr_t buf, 4728029b68SRuslan Bukin bus_size_t buflen, int flags, bus_dma_segment_t *segs, int *segp) 4828029b68SRuslan Bukin { 4928029b68SRuslan Bukin 5028029b68SRuslan Bukin panic("busdma"); 5128029b68SRuslan Bukin } 5228029b68SRuslan Bukin 5328029b68SRuslan Bukin int 5428029b68SRuslan Bukin _bus_dmamap_load_ma(bus_dma_tag_t dmat, bus_dmamap_t map, struct vm_page **ma, 5528029b68SRuslan Bukin bus_size_t tlen, int ma_offs, int flags, bus_dma_segment_t *segs, 5628029b68SRuslan Bukin int *segp) 5728029b68SRuslan Bukin { 5828029b68SRuslan Bukin 5928029b68SRuslan Bukin panic("busdma"); 6028029b68SRuslan Bukin } 6128029b68SRuslan Bukin 6228029b68SRuslan Bukin int 6328029b68SRuslan Bukin _bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, 6428029b68SRuslan Bukin bus_size_t buflen, pmap_t pmap, int flags, bus_dma_segment_t *segs, 6528029b68SRuslan Bukin int *segp) 6628029b68SRuslan Bukin { 6728029b68SRuslan Bukin 6828029b68SRuslan Bukin panic("busdma"); 6928029b68SRuslan Bukin } 7028029b68SRuslan Bukin 7128029b68SRuslan Bukin void 7228029b68SRuslan Bukin __bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, 7328029b68SRuslan Bukin struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg) 7428029b68SRuslan Bukin { 7528029b68SRuslan Bukin 7628029b68SRuslan Bukin panic("busdma"); 7728029b68SRuslan Bukin } 7828029b68SRuslan Bukin 7928029b68SRuslan Bukin bus_dma_segment_t * 8028029b68SRuslan Bukin _bus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t map, 8128029b68SRuslan Bukin bus_dma_segment_t *segs, int nsegs, int error) 8228029b68SRuslan Bukin { 8328029b68SRuslan Bukin 8428029b68SRuslan Bukin panic("busdma"); 8528029b68SRuslan Bukin } 8628029b68SRuslan Bukin 8728029b68SRuslan Bukin /* 8828029b68SRuslan Bukin * Release the mapping held by map. 8928029b68SRuslan Bukin */ 9028029b68SRuslan Bukin void 9128029b68SRuslan Bukin _bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map) 9228029b68SRuslan Bukin { 9328029b68SRuslan Bukin 9428029b68SRuslan Bukin panic("busdma"); 9528029b68SRuslan Bukin } 9628029b68SRuslan Bukin 9728029b68SRuslan Bukin void 9828029b68SRuslan Bukin _bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) 9928029b68SRuslan Bukin { 10028029b68SRuslan Bukin 10128029b68SRuslan Bukin panic("busdma"); 10228029b68SRuslan Bukin } 103