C H A P T E R 5

Software

Trampoline Code

The Trampoline code is the component of the NewWorld architecture that handles the transition between Open Firmware and the ToolBox ROM Image. It retrieves all necessary information about the system from Open Firmware, instantiates RTAS, decompresses the ToolBox ROM Image, locates the Mac OS NV-RAM partition, formats the system information into tables and data structures for Mac OS, terminates Open Firmware, moves information in memory to safe locations, and transfers control to the ToolBox ROM Image.

ToolBox ROM Image

The NewWorld version of the ToolBox ROM Image is similar to the old ToolBox ROM in that it has a similar layout and contains many of the same components as it did before.

The ToolBox ROM Image includes code that contains hardware-specific support, including ADB, VIA, Cuda/Egret, MESH SCSI, Heathrow/CHRP/ UltraDMA ATA AIMs. In the future, they can be moved out of the ToolBox ROM Image when there is a mechanism to load them from a boot volume at boot time.

NewWorld Boot Process

Following is a high level view of the execution path take when a

NewWorld-based computer boots.

1.The POST code runs (preliminary diagnostics, boot beep, initialization, and setup), with possible intervention in the Mini Nub.

2.Open Firmware initializes and begins execution, including building the device tree and the interrupt trees;

3.Open Firmware loads the Toolbox image file, based on defaults and NV-RAM settings;

4.Open Firmware executes the Forth script in the bootinfo file, which contains instructions to read both the Trampoline code and the compressed ToolBox ROM Image and place them into a temporary place in memory;

NewWorld Boot Process

63

Page 63
Image 63
Apple Desktop Computer manual NewWorld Boot Process, Trampoline Code, ToolBox ROM Image