Technical information
CHAPTER 5
System Software
What Is Different 87
■ C: force the internal CD-ROM drive to be the startup device
■ D: force the internal hard disk to be the startup device
Once Open Firmware locates a startup device and successfully loads a Mac OS
ROM image, it passes information about the chosen device in the bootpath
variable. This information, rather than that previously set in PRAM, is
subsequently used by the Mac OS ROM to locate the device containing the
startup System Folder.
IMPORTANT
The previous API for controlling the startup device
selection, using _GetDefaultStartup and
_SetDefaultStartup, is not effective on the 1999 PowerBook
G3 Series computer. ▲
Open Firmware and the Device Tree 5
NewWorld relies heavily on a functioning Open Firmware with a complete
device tree. For each device that is supported by a PCI expansion card, the
device-tree information is provided by startup code in the expansion ROM on
the card. For a discussion of the levels of support such cards can provide, please
see the section “Device Configuration” starting on page 32 of Designing PCI
Cards and Drivers for Power Macintosh Computers.
Open Firmware and Startup Devices 5
In order for a device supported by a PCI expansion card to participate in the
startup process, the card must include an expansion ROM containing startup
firmware. Startup firmware is written in the Forth language, as defined by IEEE
Standard 1275, and is stored in an abbreviated representation called FCode. The
startup firmware in the PowerBook ROM includes an FCode loader that installs
FCode in the system RAM so that drivers can run on the PowerPC main
processor.
Device drivers that are required during system startup (called Open Firmware
drivers) are also written in FCode. Expansion cards for startup devices must
contain all the driver code required during startup in the expansion ROM on
the card. Depending on their functions, such cards may also need to provide
support resources such as fonts. Examples of devices needed during system