Document Revision History

This table describes the changes to IOKit Device Driver Design Guidelines.

2009-08-14Changed links from KPI Reference to Kernel Framework Reference.
2007-03-06Made minor corrections.
2006-11-07Updated information on building a universal I/O Kit device driver.
2006-10-04Added information on debugging on an Intel-based Macintosh and noted that KUNC APIs are unavailable to KEXTs that depend on KPIs.
2006-06-28Made minor corrections.
2006-05-23Made minor corrections.
2006-04-04Clarified the location of the AppleGMACEthernet driver source code.
2005-12-06Made minor corrections.
2005-10-04Made minor bug fixes.
2005-09-08Added a chapter on creating a universal binary version of an I/O Kit device driver.
2005-08-11Made minor bug fix. Changed title from "Writing an I/O Kit Device Driver".
2005-04-29Added description of new way to break into kernel debugging mode in OS X v. 10.4.
2005-04-08Fixed typos. Reorganized Introduction chapter and added note that Objective-C does not supply I/O Kit interfaces.

Changed outdated links, removed references to OSMetaClass::failModLoad() method.


Added information about changes in memory subsystem to support 64-bit architectures. Added a link to the AppleGMACEthernet driver source code.


Added definition of kAny constant in code listing 4-20, corrected property-key name device_type to device-type, added description of the default implementation of newUserClient method.


Added note that a symboled kernel is required for the kernel debugging macros to work. Added link to Kernel Debug Kit.


First publication.