[illumos-Developer] webrev (early draft): clean up of legacy DDI DMA

Garrett D'Amore garrett at damore.org
Sun May 8 18:17:16 PDT 2011


This is a preliminary webrev of a major cleanup of a bunch of legacy DMA
related interfaces.  These interfaces should not be used anymore - they
have been documented as obsolete for a very long time -- their
replacements were available at least as far back as Solaris 7, and
possibly even earlier.  (Certainly these functioned were documented as
Obsolete in the Solaris 10 FCS manual pages.)

This all started with the cleanup of the ddi_dma_segtocookie() function,
which isn't even available on 64-bit kernels, but then that lead to a
bunch of other investigation -- basically a lot of these interfaces have
needed to be removed for a very very long time.

Here is the webrev:

http://mexico.purplecow.org/gdamore/webrev/dmacleanup/

Note that from what I can tell, none of the functions I'm removing are
in use in the ON consolidation, with the exception of ddi_iomin().  (For
ddi_iomin, I just removed the documentation, without removing the
underlying function -- it is used in the SPARC platform code.)

This set of changes will remove about 4500 lines of code, some of which
is tricky platform-specific code.  Better, by removing these functions
and marking some of the nexus operations "Obsolete", we can make life
better for people trying to implement Nexus drivers, since they no
longer have to implement a variety of the entry points/functions.

I've got a lot of testing still do, so this webrev is still very
preliminary.  But I did want to give folks a chance to get in an early
review and weigh in as early as possible.

	- Garrett





More information about the Developer mailing list