PATH 
ADC Home > Documentation > Hardware > Device Managers and Drivers > PCI Card Services > Designing PCI Cards and Drivers for Power Macintosh Computers


  

Peripheral Devices and Open Firmware

The PCI bus gives Power Macintosh computers a increased compatibility with third-party hardware devices. To provide equivalent software compatibility for all device I/O, Power Macintosh computers that implement the PCI bus standard, also support the IEEE standard Open Firmware process of system startup.

During the Open Firmware startup process, startup code in the Macintosh computer's bootROM searches the PCI and other I/O buses, such as USB or FireWire, and generates a data structure called a device tree that lists all available peripheral devices. This data structure also stores information about the support software, including drivers, provided by each PCI expansion card. The startup code then finds information that points to an operating system either in ROM or on a mass storage device, loads it, and starts it running. The operating system does not need to be Mac OS. Hence it is possible for Power Macintosh computers to operate PCI peripheral devices using either Macintosh or third-party system software.

A PCI card that wants to participate in the startup process of any operating system must include an expansion ROM containing an Open Firmware FCode driver, methods, and properties. Examples of expansion cards that need to operate in the Open Firmware startup process are SCSI cards, Ethernet cards, and display cards. The alternatives for FCode in expansion card ROMs are described in Open Firmware FCode Options.


© 1999 Apple Computer, Inc. – (Last Updated 26 March 99)