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

Page 63

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

Image 63
Contents Apple iMac Computer Page Contents RAM Expansion Devices and PortsRtas SoftwareRtas NV-RAM Appendix Abbreviations IndexFigures and Tables Page About This Developer Note Contents of This NoteATA Devices PowerPC G3 MicroprocessorSupplemental Reference Documents Mac OSOpen Firmware USB DevicesE F a C E Introduction Features Shows a front view of the computer Case and External FeaturesFront view 2Side view showing I/O bay System Software Compatibility IssuesMain RAM Expansion Modules Video RAM Expansion ModulesUSB Ports and Devices Page Architecture Architecture Processor module G3 MicroprocessorBackside Cache Main Logic Board Memory Controller and PCI BridgeController IC USB Controller Video Display SubsystemBuilt-in Modem Infrared Link Module Devices and Ports USB Ports USB ConnectorsGND Transfer Types SupportedADB Compatibility USB Compatibility IssuesUSB Controller Serial Port CompatibilityMacintosh-To-Macintosh Connections USB Storage DevicesKeyboard Layout KeyboardKeyboard and USB MouseVideo Display Hard Disk DriveSound System Infrared Communication LinkExternal Sound Input Sound InputsSound Outputs Built-in MicrophoneSound Specifications External Sound OutputHeadphone Jacks Total harmonic distortion Internal Modem Ethernet PortPage RAM Expansion Removing the Logic Board Assembly Expansion SlotsPlacing the Computer Face Down Unfastening the Cables Removing the bottom coverRAM Expansion Removing the Retaining Screws 3Logic board assembly handle and retaining screwsRemoving the EMI Shield Removing the Logic Board AssemblyLocations of the Expansion Slots 6Locations of the RAM expansion slots Main RAM ExpansionElectrical Design of RAM SO-DIMMs Mechanical Design of RAM SO-DIMMsSdram Devices Configuration of RAM SO-DIMMs Address Multiplexing RAM SO-DIMM Electrical LimitsVideo RAM Expansion Page Software Why Make This Change? What Has Changed Features of the New Approach Data Structures and Files PerformanceRAM Footprint User ExperienceBoot ROM Contents Rtas Mac OS ndrv DriversToolbox Image File Contents NewWorld Boot Process Trampoline CodeToolBox ROM Image Interrupt Handling What Is DifferentRAM Footprint Outmoded ResourcesStartup Disk Control Panel NanoKernelOpen Firmware and the Device Tree Interrupt LayoutMachine Identification Software Abbreviations Chrp NMI Page Index Nvram X, Y, Z Allen Watson