The kernel (including the I/O Kit) remains a 32-bit environment in Mac OS X. Most device drivers (those written using I/O Kit families) work unchanged when used in conjunction with 64-bit processes. However, user clients and device drivers that use DMA must be updated to work correctly.
Device drivers that talk directly to a user-space application (such as user clients and the I/O Kit families themselves) need to be changed in order to communicate with 64-bit applications. These changes must be made to support 64-bit applications on both 64-bit PowerPC and Intel-based Macintosh computers. For more about user clients and device interfaces,you should read I/O Kit Fundamentals.
On Intel-based Macintosh computers with 64-bit Intel processors, device drivers that support direct memory access (DMA) must be updated to use the IODMACommand class beginning with Mac OS X v10.4.7. Device drivers on PowerPC may be updated to use this class, but doing so is not required.
The IODMACommand class provides bounce buffers for devices that do not support 64-bit physical addressing, and uses direct mapping for devices that do. For more information, see the documentation for IODMACommand.
Last updated: 2008-04-08