Documentation Archive Developer
Search

ADC Home > Reference Library > Technical Q&As > Hardware & Drivers > Open Firmware >

What is an Open Firmware phandle, and why can't I access it from the Mac OS?


Q: What is an Open Firmware phandle and why can't I access it from the Mac OS?

A: A phandle is by IEEE 1275 Section 2.3.70 definition "a cell-sized datum identifying a particular package." What this means is the phandle is an absolute pointer to a package, also called a node, in the device tree. The Open Firmware Client Interface does use phandles in various calls to Open Firmware, but this is only while Open Firmware and its client, in this case, the Mac OS are both in RAM; however, this time is well before the desktop has been drawn. The Mac OS does not leave Open Firmware in RAM after the Mac OS has completed the part of its initialization that uses Open Firmware. As a result, the concept of a device tree package "pointer" has no meaning after the Mac OS is up and running -- by that time all of the Open Firmware RAM will have been reclaimed by the Mac OS. In fact, the Name Registry does not have any properties in any nodes that are phandles. It simply makes no sense to have a pointer to a data and code structure that no longer exists in RAM.

[Nov 15 1999]