Index: x86/include/bus_private.h =================================================================== RCS file: /cvsroot/src/sys/arch/x86/include/bus_private.h,v retrieving revision 1.12 diff -u -r1.12 bus_private.h --- x86/include/bus_private.h 12 Nov 2010 13:40:11 -0000 1.12 +++ x86/include/bus_private.h 27 Aug 2011 09:14:55 -0000 @@ -192,6 +192,7 @@ #endif struct x86_bus_dma_tag { + void *_cookie; /* * The `bounce threshold' is checked while we are loading * the DMA map. If the physical address of the segment Index: x86/isa/isa_machdep.c =================================================================== RCS file: /cvsroot/src/sys/arch/x86/isa/isa_machdep.c,v retrieving revision 1.28 diff -u -r1.28 isa_machdep.c --- x86/isa/isa_machdep.c 19 Aug 2009 15:04:27 -0000 1.28 +++ x86/isa/isa_machdep.c 27 Aug 2011 09:14:55 -0000 @@ -96,26 +96,30 @@ static int _isa_dma_may_bounce(bus_dma_tag_t, bus_dmamap_t, int, int *); struct x86_bus_dma_tag isa_bus_dma_tag = { - 0, /* _tag_needs_free */ - ISA_DMA_BOUNCE_THRESHOLD, /* _bounce_thresh */ - 0, /* _bounce_alloc_lo */ - ISA_DMA_BOUNCE_THRESHOLD, /* _bounce_alloc_hi */ - _isa_dma_may_bounce, - _bus_dmamap_create, - _bus_dmamap_destroy, - _bus_dmamap_load, - _bus_dmamap_load_mbuf, - _bus_dmamap_load_uio, - _bus_dmamap_load_raw, - _bus_dmamap_unload, - _bus_dmamap_sync, - _bus_dmamem_alloc, - _bus_dmamem_free, - _bus_dmamem_map, - _bus_dmamem_unmap, - _bus_dmamem_mmap, - _bus_dmatag_subregion, - _bus_dmatag_destroy, + ._cookie = NULL, + ._tag_needs_free = 0, + ._bounce_thresh = ISA_DMA_BOUNCE_THRESHOLD, + ._bounce_alloc_lo = 0, + ._bounce_alloc_hi = ISA_DMA_BOUNCE_THRESHOLD, + ._may_bounce = _isa_dma_may_bounce, + + ._dmamap_create = _bus_dmamap_create, + ._dmamap_destroy = _bus_dmamap_destroy, + ._dmamap_load = _bus_dmamap_load, + ._dmamap_load_mbuf = _bus_dmamap_load_mbuf, + ._dmamap_load_uio = _bus_dmamap_load_uio, + ._dmamap_load_raw = _bus_dmamap_load_raw, + ._dmamap_unload = _bus_dmamap_unload, + ._dmamap_sync = _bus_dmamap_sync, + + ._dmamem_alloc = _bus_dmamem_alloc, + ._dmamem_free = _bus_dmamem_free, + ._dmamem_map = _bus_dmamem_map, + ._dmamem_unmap = _bus_dmamem_unmap, + ._dmamem_mmap = _bus_dmamem_mmap, + + ._dmatag_subregion = _bus_dmatag_subregion, + ._dmatag_destroy = _bus_dmatag_destroy, }; #define IDTVEC(name) __CONCAT(X,name) Index: x86/pci/pci_machdep.c =================================================================== RCS file: /cvsroot/src/sys/arch/x86/pci/pci_machdep.c,v retrieving revision 1.45 diff -u -r1.45 pci_machdep.c --- x86/pci/pci_machdep.c 17 May 2011 17:34:53 -0000 1.45 +++ x86/pci/pci_machdep.c 27 Aug 2011 09:14:57 -0000 @@ -191,56 +191,64 @@ * of these functions. */ struct x86_bus_dma_tag pci_bus_dma_tag = { - 0, /* tag_needs_free */ + ._cookie = NULL, + ._tag_needs_free = 0, #if defined(_LP64) || defined(PAE) - PCI32_DMA_BOUNCE_THRESHOLD, /* bounce_thresh */ - ISA_DMA_BOUNCE_THRESHOLD, /* bounce_alloclo */ - PCI32_DMA_BOUNCE_THRESHOLD, /* bounce_allochi */ + ._bounce_thresh = PCI32_DMA_BOUNCE_THRESHOLD, + ._bounce_alloc_lo = ISA_DMA_BOUNCE_THRESHOLD, + ._bounce_alloc_hi = PCI32_DMA_BOUNCE_THRESHOLD, #else - 0, - 0, - 0, + ._bounce_thresh = 0, + ._bounce_alloc_lo = 0, + ._bounce_alloc_hi = 0, #endif - NULL, /* _may_bounce */ - _bus_dmamap_create, - _bus_dmamap_destroy, - _bus_dmamap_load, - _bus_dmamap_load_mbuf, - _bus_dmamap_load_uio, - _bus_dmamap_load_raw, - _bus_dmamap_unload, - _bus_dmamap_sync, - _bus_dmamem_alloc, - _bus_dmamem_free, - _bus_dmamem_map, - _bus_dmamem_unmap, - _bus_dmamem_mmap, - _bus_dmatag_subregion, - _bus_dmatag_destroy, + ._may_bounce = NULL, + + ._dmamap_create = _bus_dmamap_create, + ._dmamap_destroy = _bus_dmamap_destroy, + ._dmamap_load = _bus_dmamap_load, + ._dmamap_load_mbuf = _bus_dmamap_load_mbuf, + ._dmamap_load_uio = _bus_dmamap_load_uio, + ._dmamap_load_raw = _bus_dmamap_load_raw, + ._dmamap_unload = _bus_dmamap_unload, + ._dmamap_sync = _bus_dmamap_sync, + + ._dmamem_alloc = _bus_dmamem_alloc, + ._dmamem_free = _bus_dmamem_free, + ._dmamem_map = _bus_dmamem_map, + ._dmamem_unmap = _bus_dmamem_unmap, + ._dmamem_mmap = _bus_dmamem_mmap, + + ._dmatag_subregion = _bus_dmatag_subregion, + ._dmatag_destroy = _bus_dmatag_destroy, }; #ifdef _LP64 struct x86_bus_dma_tag pci_bus_dma64_tag = { - 0, /* tag_needs_free */ - 0, - 0, - 0, - NULL, /* _may_bounce */ - _bus_dmamap_create, - _bus_dmamap_destroy, - _bus_dmamap_load, - _bus_dmamap_load_mbuf, - _bus_dmamap_load_uio, - _bus_dmamap_load_raw, - _bus_dmamap_unload, - NULL, - _bus_dmamem_alloc, - _bus_dmamem_free, - _bus_dmamem_map, - _bus_dmamem_unmap, - _bus_dmamem_mmap, - _bus_dmatag_subregion, - _bus_dmatag_destroy, + ._cookie = NULL, + ._tag_needs_free = 0, + ._bounce_thresh = 0, + ._bounce_alloc_lo = 0, + ._bounce_alloc_hi = 0, + ._may_bounce = NULL, + + ._dmamap_create = _bus_dmamap_create, + ._dmamap_destroy = _bus_dmamap_destroy, + ._dmamap_load = _bus_dmamap_load, + ._dmamap_load_mbuf = _bus_dmamap_load_mbuf, + ._dmamap_load_uio = _bus_dmamap_load_uio, + ._dmamap_load_raw = _bus_dmamap_load_raw, + ._dmamap_unload = _bus_dmamap_unload, + ._dmamap_sync = NULL, + + ._dmamem_alloc = _bus_dmamem_alloc, + ._dmamem_free = _bus_dmamem_free, + ._dmamem_map = _bus_dmamem_map, + ._dmamem_unmap = _bus_dmamem_unmap, + ._dmamem_mmap = _bus_dmamem_mmap, + + ._dmatag_subregion = _bus_dmatag_subregion, + ._dmatag_destroy = _bus_dmatag_destroy, }; #endif Index: i386/eisa/eisa_machdep.c =================================================================== RCS file: /cvsroot/src/sys/arch/i386/eisa/eisa_machdep.c,v retrieving revision 1.35 diff -u -r1.35 eisa_machdep.c --- i386/eisa/eisa_machdep.c 1 Jul 2011 18:14:15 -0000 1.35 +++ i386/eisa/eisa_machdep.c 27 Aug 2011 09:14:59 -0000 @@ -93,26 +93,30 @@ * of these funcions. */ struct x86_bus_dma_tag eisa_bus_dma_tag = { - 0, /* _tag_needs_free */ - 0, /* _bounce_thresh */ - 0, /* _bounce_alloc_lo */ - 0, /* _bounce_alloc_hi */ - NULL, /* _may_bounce */ - _bus_dmamap_create, - _bus_dmamap_destroy, - _bus_dmamap_load, - _bus_dmamap_load_mbuf, - _bus_dmamap_load_uio, - _bus_dmamap_load_raw, - _bus_dmamap_unload, - NULL, /* _dmamap_sync */ - _bus_dmamem_alloc, - _bus_dmamem_free, - _bus_dmamem_map, - _bus_dmamem_unmap, - _bus_dmamem_mmap, - _bus_dmatag_subregion, - _bus_dmatag_destroy, + ._cookie = NULL, + ._tag_needs_free = 0, + ._bounce_thresh = 0, + ._bounce_alloc_lo = 0, + ._bounce_alloc_hi = 0, + ._may_bounce = NULL, + + ._dmamap_create = _bus_dmamap_create, + ._dmamap_destroy = _bus_dmamap_destroy, + ._dmamap_load = _bus_dmamap_load, + ._dmamap_load_mbuf = _bus_dmamap_load_mbuf, + ._dmamap_load_uio = _bus_dmamap_load_uio, + ._dmamap_load_raw = _bus_dmamap_load_raw, + ._dmamap_unload = _bus_dmamap_unload, + ._dmamap_sync = NULL, + + ._dmamem_alloc = _bus_dmamem_alloc, + ._dmamem_free = _bus_dmamem_free, + ._dmamem_map = _bus_dmamem_map, + ._dmamem_unmap = _bus_dmamem_unmap, + ._dmamem_mmap = _bus_dmamem_mmap, + + ._dmatag_subregion = _bus_dmatag_subregion, + ._dmatag_destroy = _bus_dmatag_destroy, }; void Index: i386/mca/mca_machdep.c =================================================================== RCS file: /cvsroot/src/sys/arch/i386/mca/mca_machdep.c,v retrieving revision 1.41 diff -u -r1.41 mca_machdep.c --- i386/mca/mca_machdep.c 1 Jul 2011 18:14:15 -0000 1.41 +++ i386/mca/mca_machdep.c 27 Aug 2011 09:15:00 -0000 @@ -101,26 +101,30 @@ #define MCA_DMA_BOUNCE_THRESHOLD (16 * 1024 * 1024) struct x86_bus_dma_tag mca_bus_dma_tag = { - 0, - MCA_DMA_BOUNCE_THRESHOLD, /* _bounce_thresh */ - 0, /* _bounce_alloc_lo */ - MCA_DMA_BOUNCE_THRESHOLD, /* _bounce_alloc_hi */ - NULL, /* _may_bounce */ - _bus_dmamap_create, - _bus_dmamap_destroy, - _bus_dmamap_load, - _bus_dmamap_load_mbuf, - _bus_dmamap_load_uio, - _bus_dmamap_load_raw, - _bus_dmamap_unload, - _bus_dmamap_sync, - _bus_dmamem_alloc, - _bus_dmamem_free, - _bus_dmamem_map, - _bus_dmamem_unmap, - _bus_dmamem_mmap, - _bus_dmatag_subregion, - _bus_dmatag_destroy, + ._cookie = NULL, + ._tag_needs_free = 0, + ._bounce_thresh = MCA_DMA_BOUNCE_THRESHOLD, + ._bounce_alloc_lo = 0, + ._bounce_alloc_hi = MCA_DMA_BOUNCE_THRESHOLD, + ._may_bounce = NULL, + + ._dmamap_create = _bus_dmamap_create, + ._dmamap_destroy = _bus_dmamap_destroy, + ._dmamap_load = _bus_dmamap_load, + ._dmamap_load_mbuf = _bus_dmamap_load_mbuf, + ._dmamap_load_uio = _bus_dmamap_load_uio, + ._dmamap_load_raw = _bus_dmamap_load_raw, + ._dmamap_unload = _bus_dmamap_unload, + ._dmamap_sync = _bus_dmamap_sync, + + ._dmamem_alloc = _bus_dmamem_alloc, + ._dmamem_free = _bus_dmamem_free, + ._dmamem_map = _bus_dmamem_map, + ._dmamem_unmap = _bus_dmamem_unmap, + ._dmamem_mmap = _bus_dmamem_mmap, + + ._dmatag_subregion = _bus_dmatag_subregion, + ._dmatag_destroy = _bus_dmatag_destroy, }; /* Updated in mca_busprobe() if appropriate. */ Index: xen/xen/isa_machdep.c =================================================================== RCS file: /cvsroot/src/sys/arch/xen/xen/isa_machdep.c,v retrieving revision 1.24 diff -u -r1.24 isa_machdep.c --- xen/xen/isa_machdep.c 1 Jul 2011 18:36:45 -0000 1.24 +++ xen/xen/isa_machdep.c 27 Aug 2011 09:15:00 -0000 @@ -97,26 +97,30 @@ static int _isa_dma_may_bounce(bus_dma_tag_t, bus_dmamap_t, int, int *); struct x86_bus_dma_tag isa_bus_dma_tag = { - 0, /* _tag_needs_free */ - ISA_DMA_BOUNCE_THRESHOLD, /* _bounce_thresh */ - 0, /* _bounce_alloc_lo */ - ISA_DMA_BOUNCE_THRESHOLD, /* _bounce_alloc_hi */ - _isa_dma_may_bounce, - _bus_dmamap_create, - _bus_dmamap_destroy, - _bus_dmamap_load, - _bus_dmamap_load_mbuf, - _bus_dmamap_load_uio, - _bus_dmamap_load_raw, - _bus_dmamap_unload, - _bus_dmamap_sync, - _bus_dmamem_alloc, - _bus_dmamem_free, - _bus_dmamem_map, - _bus_dmamem_unmap, - _bus_dmamem_mmap, - _bus_dmatag_subregion, - _bus_dmatag_destroy, + ._cookie = NULL, + ._tag_needs_free = 0, + ._bounce_thresh = ISA_DMA_BOUNCE_THRESHOLD, + ._bounce_alloc_lo = 0, + ._bounce_alloc_hi = ISA_DMA_BOUNCE_THRESHOLD, + ._may_bounce = _isa_dma_may_bounce, + + ._dmamap_create = _bus_dmamap_create, + ._dmamap_destroy = _bus_dmamap_destroy, + ._dmamap_load = _bus_dmamap_load, + ._dmamap_load_mbuf = _bus_dmamap_load_mbuf, + ._dmamap_load_uio = _bus_dmamap_load_uio, + ._dmamap_load_raw = _bus_dmamap_load_raw, + ._dmamap_unload = _bus_dmamap_unload, + ._dmamap_sync = _bus_dmamap_sync, + + ._dmamem_alloc = _bus_dmamem_alloc, + ._dmamem_free = _bus_dmamem_free, + ._dmamem_map = _bus_dmamem_map, + ._dmamem_unmap = _bus_dmamem_unmap, + ._dmamem_mmap = _bus_dmamem_mmap, + + ._dmatag_subregion = _bus_dmatag_subregion, + ._dmatag_destroy = _bus_dmatag_destroy, }; #define IDTVEC(name) __CONCAT(X,name) Index: xen/xen/xpci_xenbus.c =================================================================== RCS file: /cvsroot/src/sys/arch/xen/xen/xpci_xenbus.c,v retrieving revision 1.6 diff -u -r1.6 xpci_xenbus.c --- xen/xen/xpci_xenbus.c 17 May 2011 17:34:53 -0000 1.6 +++ xen/xen/xpci_xenbus.c 27 Aug 2011 09:15:01 -0000 @@ -91,56 +91,64 @@ xpci_xenbus_match, xpci_xenbus_attach, xpci_xenbus_detach, NULL); struct x86_bus_dma_tag pci_bus_dma_tag = { - 0, /* tag_needs_free */ + ._cookie = NULL, + ._tag_needs_free = 0, #if defined(_LP64) || defined(PAE) - PCI32_DMA_BOUNCE_THRESHOLD, /* bounce_thresh */ - 0, /* bounce_alloclo */ - PCI32_DMA_BOUNCE_THRESHOLD, /* bounce_allochi */ + ._bounce_thresh = PCI32_DMA_BOUNCE_THRESHOLD, + ._bounce_alloc_lo = 0, + ._bounce_alloc_hi = PCI32_DMA_BOUNCE_THRESHOLD, #else - 0, - 0, - 0, + ._bounce_thresh = 0, + ._bounce_alloc_lo = 0, + ._bounce_alloc_hi = 0, #endif - NULL, /* _may_bounce */ - _bus_dmamap_create, - _bus_dmamap_destroy, - _bus_dmamap_load, - _bus_dmamap_load_mbuf, - _bus_dmamap_load_uio, - _bus_dmamap_load_raw, - _bus_dmamap_unload, - _bus_dmamap_sync, - _bus_dmamem_alloc, - _bus_dmamem_free, - _bus_dmamem_map, - _bus_dmamem_unmap, - _bus_dmamem_mmap, - _bus_dmatag_subregion, - _bus_dmatag_destroy, + ._may_bounce = NULL, + + ._dmamap_create = _bus_dmamap_create, + ._dmamap_destroy = _bus_dmamap_destroy, + ._dmamap_load = _bus_dmamap_load, + ._dmamap_load_mbuf = _bus_dmamap_load_mbuf, + ._dmamap_load_uio = _bus_dmamap_load_uio, + ._dmamap_load_raw = _bus_dmamap_load_raw, + ._dmamap_unload = _bus_dmamap_unload, + ._dmamap_sync = _bus_dmamap_sync, + + ._dmamem_alloc = _bus_dmamem_alloc, + ._dmamem_free = _bus_dmamem_free, + ._dmamem_map = _bus_dmamem_map, + ._dmamem_unmap = _bus_dmamem_unmap, + ._dmamem_mmap = _bus_dmamem_mmap, + + ._dmatag_subregion = _bus_dmatag_subregion, + ._dmatag_destroy = _bus_dmatag_destroy, }; #ifdef _LP64 struct x86_bus_dma_tag pci_bus_dma64_tag = { - 0, /* tag_needs_free */ - 0, - 0, - 0, - NULL, /* _may_bounce */ - _bus_dmamap_create, - _bus_dmamap_destroy, - _bus_dmamap_load, - _bus_dmamap_load_mbuf, - _bus_dmamap_load_uio, - _bus_dmamap_load_raw, - _bus_dmamap_unload, - NULL, - _bus_dmamem_alloc, - _bus_dmamem_free, - _bus_dmamem_map, - _bus_dmamem_unmap, - _bus_dmamem_mmap, - _bus_dmatag_subregion, - _bus_dmatag_destroy, + ._cookie = NULL, + ._tag_needs_free = 0, + ._bounce_thresh = 0, + ._bounce_alloc_lo = 0, + ._bounce_alloc_hi = 0, + ._may_bounce = NULL, + + ._dmamap_create = _bus_dmamap_create, + ._dmamap_destroy = _bus_dmamap_destroy, + ._dmamap_load = _bus_dmamap_load, + ._dmamap_load_mbuf = _bus_dmamap_load_mbuf, + ._dmamap_load_uio = _bus_dmamap_load_uio, + ._dmamap_load_raw = _bus_dmamap_load_raw, + ._dmamap_unload = _bus_dmamap_unload, + ._dmamap_sync = NULL, + + ._dmamem_alloc = _bus_dmamem_alloc, + ._dmamem_free = _bus_dmamem_free, + ._dmamem_map = _bus_dmamem_map, + ._dmamem_unmap = _bus_dmamem_unmap, + ._dmamem_mmap = _bus_dmamem_mmap, + + ._dmatag_subregion = _bus_dmatag_subregion, + ._dmatag_destroy = _bus_dmatag_destroy, }; #endif