PATHADC Home > Documentation > Hardware > iBook Developer Note

Up Previous Next 

Aspects of the New Approach

Some aspects of the ROM-in-RAM approach are apparent in the operation of the system.

RAM Footprint

Startup Disk Control Panel

Data Structures and Files

Memory Mapping

RAM Footprint

The iBook computer has its Mac OS ROM image stored in RAM. The area of RAM that contains the Mac OS ROM image is excluded from the available memory space and is marked as read-only. This removes approximately 3 megabytes of RAM from availability for other uses. In effect, a system with 32 megabytes of RAM appears to have only 29 megabytes available.

Startup Disk Control Panel

Setting the startup device from the Startup Disk control panel makes the changes to the boot process that are needed for the ROM-in-RAM approach. The Startup Disk control panel modifies the Open Firmware NV-RAM partition that contains the Open Firmware's configuration variables.

IMPORTANT

The previous API for controlling the startup device selection, using _GetDefaultStartup and _SetDefaultStartup, is not effective on computers that use the ROM-in-RAM approach.

Data Structures and Files

The Mac OS ROM image is contained in a new file, named "Mac OS ROM", that is kept in the System Folder. The Mac OS ROM image is the same as it would be if it were an actual Mac OS ROM, containing the high-level software, the kernel software, and the 68K emulator.

Memory Mapping

With the ROM-in-RAM approach, memory is not mapped one-to-one as it has been for previous PCI-based Macintosh computers. This could be a compatibility issue with some software. 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 always calls the LogicalToPhysical or PrepareMemoryForIO functions when it needs a physical memory address--will continue to work.

IMPORTANT

Designers of DMA device drivers should refer to Designing PCI Cards and Drivers for Power Macintosh Computers for information about using the PrepareMemoryForIO function to set up mapping for physical and logical addresses. The relevant section is on pages 219-229. For device drivers running with the NewWorld software, the sentence on page 227 that says "Certain DMA transactions require both mapping tables" should be interpreted to mean "All DMA transactions require both mapping tables."


© 1999-2000 Apple Computer, Inc. – (Last Updated 15 Feb 00)

Up Previous Next