On the dbforums.com link, or so, the thread mentions that you can use ddi_dma_mem_alloc(), although...a man page does say for ddi_dma_bind_handle():
ddi_dma_addr_bind_handle() allocates DMA resources for a
memory object such that a device can perform DMA to or from
As well, the opensolaris DDI manual part specifies pretty clearly how to allocate memory for DMA stuff.
A Sun Developer note specifies how to go about combining the two in specifics: http://developers.sun.com/solaris/developer/support/driver/notes/mem-alloc-notes.html
I know the OS-specific header says that, and I also looked through the code, and see that it's now stubbed out.
Amusingly, if the old code had been commented out, instead of a stub commented out in its place, it could've probably been adapted much faster, at least, it would be relatively clear how it worked before, and essentially what needs to be done to change it. ^^;
"Not enough documentation" is slightly a copout, though (no offense intended), since there's just oodles of documentation available for Solaris on both Sun and OpenSolaris websites, man pages, examples for things, kernel source code, etc.
The driver API is relatively stable. Most of the functions haven't needed any documentation changes for 10 years or longer. Website documentation is pretty loosely organized, but I found most of that stuff searching via Google pretty quickly after looking at the source, then the devmap and hat_getkpfnum man pages.
If I had the familiarity with Solaris kernel internal stuff, I'd do it myself. ^^; I've had to occasionally do similar on FreeBSD and Linux, but I'm still rather new to having Solaris as my main OS in general...though, a big part of the reason for that being the great developer tools and performance. But I digress.
If there's anything I can do to get this moved up, I can try, but it's one of the many things I'm trying to get fixed for Solaris, since quite a few things treat it as a second class citizen (even though it gets broad first tier support from the big boys).