17e118515SSepherosa Ziehau /*- 27e118515SSepherosa Ziehau * Copyright (c) 2016 Microsoft Corp. 37e118515SSepherosa Ziehau * All rights reserved. 47e118515SSepherosa Ziehau * 57e118515SSepherosa Ziehau * Redistribution and use in source and binary forms, with or without 67e118515SSepherosa Ziehau * modification, are permitted provided that the following conditions 77e118515SSepherosa Ziehau * are met: 87e118515SSepherosa Ziehau * 1. Redistributions of source code must retain the above copyright 97e118515SSepherosa Ziehau * notice unmodified, this list of conditions, and the following 107e118515SSepherosa Ziehau * disclaimer. 117e118515SSepherosa Ziehau * 2. Redistributions in binary form must reproduce the above copyright 127e118515SSepherosa Ziehau * notice, this list of conditions and the following disclaimer in the 137e118515SSepherosa Ziehau * documentation and/or other materials provided with the distribution. 147e118515SSepherosa Ziehau * 157e118515SSepherosa Ziehau * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 167e118515SSepherosa Ziehau * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 177e118515SSepherosa Ziehau * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 187e118515SSepherosa Ziehau * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 197e118515SSepherosa Ziehau * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 207e118515SSepherosa Ziehau * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 217e118515SSepherosa Ziehau * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 227e118515SSepherosa Ziehau * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 237e118515SSepherosa Ziehau * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 247e118515SSepherosa Ziehau * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 257e118515SSepherosa Ziehau */ 267e118515SSepherosa Ziehau 277e118515SSepherosa Ziehau #ifndef _HYPERV_BUSDMA_H_ 287e118515SSepherosa Ziehau #define _HYPERV_BUSDMA_H_ 297e118515SSepherosa Ziehau 30e44bdd84SSepherosa Ziehau #include <sys/param.h> 31e44bdd84SSepherosa Ziehau #include <sys/bus.h> 32e44bdd84SSepherosa Ziehau #include <machine/bus.h> 33e44bdd84SSepherosa Ziehau 347e118515SSepherosa Ziehau struct hyperv_dma { 357e118515SSepherosa Ziehau bus_addr_t hv_paddr; 367e118515SSepherosa Ziehau bus_dma_tag_t hv_dtag; 377e118515SSepherosa Ziehau bus_dmamap_t hv_dmap; 387e118515SSepherosa Ziehau }; 397e118515SSepherosa Ziehau 40*8018156fSSepherosa Ziehau void hyperv_dma_map_paddr(void *arg, bus_dma_segment_t *segs, 41*8018156fSSepherosa Ziehau int nseg, int error); 427e118515SSepherosa Ziehau 437e118515SSepherosa Ziehau #endif /* !_HYPERV_BUSDMA_H_ */ 44