In order to make the sparc64 iommu code mpsafe, I need to make sure
the extent manager can be used in an mpsafe manner. The current code
isn't really safe since the extent manager needs to allocate region
descriptors whenever we do a bus_dmamap_load(). The diff below adds a
function to
This is ugly. Better introduce an extent_alloc_with_descr() or
extent_alloc_static() interface which is similar to extent_alloc(), but
receives the extent descriptor as an added argument.
Fair enough; seems this is indeed a better interface as it doesn't
require the use of a fixed extent.
, u_long,
u_long, u_long, u_long, u_long, int, u_long *);
intextent_alloc_region(struct extent *, u_long, u_long, int);
intextent_free(struct extent *, u_long, u_long, int);
void extent_print(struct extent *);
+void extent_supply_region_descriptor(struct extent