C H A P T E R 5

Software

in RAM appears to be a ROM, the ROM-in-RAM approach is completely compatible with all application and system software.

The Mac OS ToolBox image is kept in a file in the System Folder on the specified boot device. In order to avoid problems with internationalizing the name, the file is located by file type instead of by name.

In order for Open Firmware to retrieve the ToolBox image file, it must be able to read the selected boot device. If the ToolBox image file is on a partition that is on a RAID, encrypted, striped, or otherwise non-standard device, Open Firmware must be able to read from these devices in order to boot Mac OS. Two possible solutions to this problem are to have a standard partition available on the device that contains the ToolBox image file, or to provide Open Firmware methods to read the file.

The main incompatibility that ROM-in-RAM approach introduces is that memory is not mapped one-to-one, as it has been for previous PCI-based Macs. Software that assumes the logical and physical addresses are the same will fail, even when Virtual Memory is not on. Well-behaved software—that is, software that calls the LogicalToPhysical or PrepareMemoryForIO functions when it needs a physical memory address—will continue to work.

Boot ROM Contents

The Boot ROM contains the code needed to start up the computer, initialize and examine the hardware, provide a device tree to describe the hardware, provide hardware access services (RTAS), and control to the OS. The Boot ROM can be grouped into the following major pieces.

POST Code

This is the code executed when the computer first boots. This encompasses many of the traditional Mac ROM operations and is based on the hardware initialization code used in the past: setup and initialization of the processor and ASICs, a boot beep, an error beep, diagnostics, and transfer to Open Firmware.

A small debugging Mini-Nub is part of this section. It allows prodding and poking with some MacsBug-like commands. Getting into the Debugger Nub is not possible using standard user interface input, however.

60Boot ROM Contents

Page 60
Image 60
Apple Desktop Computer manual Boot ROM Contents