Apple Developer Connection
Member Login Log In | Not a Member? Contact ADC

< Previous PageNext Page > Hide TOC

Developing a Device Driver to Run on an Intel-Based Macintosh

This chapter provides an overview of some of the issues related to developing a universal binary version of an I/O Kit device driver. Before you read this chapter, be sure to read Universal Binary Programming Guidelines, Second Edition. That document covers architectural differences and byte-ordering formats and provides comprehensive guidelines for code modification and building universal binaries. Most of the guidelines in that document apply to kernel extensions as well as to applications.

Before you build your device driver as a universal binary, make sure that:

The Intel side of your universal I/O Kit driver must be built using GCC 4.0 and the Mac OS X 10.4u (Universal) SDK available in Xcode 2.2.1 or later. This allows your driver to load and run on Intel-based Macintosh computers running Mac OS X 10.4.4 or later.

To determine the compiler version and SDK to use when building the PowerPC side of your universal I/O Kit driver, decide which versions of Mac OS X you plan to target:

For more details on building a universal binary version of your driver, including Xcode project settings, see Technical Note TN2163: Building Universal I/O Kit Drivers.

Note: For general guidance on debugging drivers, including the universal binary version of a device driver running on an Intel-based Macintosh computer, see “Debugging Drivers” and Hello Debugger: Debugging a Device Driver With GDB.

Contents:

Byte Swapping
Handling Architectural Differences
Viewing Values in the Device Tree Plane
Interrupt Sharing in an Intel-Based Macintosh
Using the OSSynchronizeIO Function
Accessing I/O Space
Debugging on an Intel-Based Macintosh




< Previous PageNext Page > Hide TOC


Last updated: 2007-03-06




Did this document help you?
Yes: Tell us what works for you.

It’s good, but: Report typos, inaccuracies, and so forth.

It wasn’t helpful: Tell us what would have helped.
Get information on Apple products.
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Copyright © 2007 Apple Inc.
All rights reserved. | Terms of use | Privacy Notice