K 10 svn:author V 6 marcel K 8 svn:date V 27 2012-06-30T18:56:08.587781Z K 7 svn:log V 1029 Create zones for busdma_tag, busdma_md and busdma_md_seg structures. In particular, this is driven by not wanting to create a single blob comprising the busdma_md and all its busdma_md_seg structures: 1. the number of segments is an upper bound that is very rarely reached. Pre-allocating them means we're wasting a lot of memory. 2. The allocation size for these structures combined can vary per tag, which isn't always good. 3. During load operations we may need to keep track of more than the maximum number of segments. In particular this can happen before we've gone through I/O MMU mappings and/or bounce buffers. Now we can create segment structures when needed for busdma allocs and we can reserve some amount of segment structures and keep them in a pool when an unused busdma_md structure is allocated for use by the load functions later. For now, put the segment structures in a TAILQ and put the index in the structure. This probably changes over time when the whole logic of loading solidifies. END