C H A P T E R 5

Software

that interrupt latency has been reduced to such an extent as to make it negligible. The other is that the interrupt handling code no longer requires changes to support a new machine, unless it has new interrupt controller hardware. The description of the interrupt layout is now part of an Open Firmware interrupt tree that is interlaced within the Open Firmware device tree. The Trampoline code uses this interrupt tree to build the Mac OS native interrupt tree.

Outmoded Resources

Prior to NewWorld, many resources in the ROM exist in the System Folder as well, often as replacements that fix or enhance those in the ROM, but sometimes because the ROM resources have not yet been removed from the ROM. With the NewWorld approach, any resources that are not needed early in the boot sequence are no longer in the ToolBox ROM Image, and only the resources from the System Folder are in use.

RAM Footprint

NewWorld puts the ToolBox ROM Image in RAM, and marks it read-only. Although the image is 4 megabytes in size, not all of it is in use. The portion that is not used is returned to Mac OS for use as part of system RAM. At the time this document was written, less than 3 megabytes of the 4 megabyte ToolBox ROM Image are in use, allowing more than 1 megabyte to be returned to Mac OS.

RTAS

Certain hardware devices differ from machine to machine, but provide similar functions. RTAS ( Run-time Abstraction Services) provides such hardware-specific functions, including functions for accessing the real-time clock, non-volatile RAM (NV-RAM), restart, shutdown, and PCI configuration cycles. The I/O primitives for these functions in the ToolBox ROM Image for NewWorld use RTAS.

NV-RAM

Instead of using hard-coded offsets to locations in NV-RAM for Mac OS NV-RAM and other information, the Trampoline code breaks NV-RAM into

What Is Different

65

Page 65
Image 65
Apple Desktop Computer manual Outmoded Resources, RAM Footprint