Patent ID: 7788725

Claim:
A method of probing FCode in a problem state memory in a computing environment, the method comprising: allocating memory space to Open Firmware residing in a computing system, the memory space divided into a problem state memory and a privileged state memory; detecting a peripheral device connected to the computing system, wherein the peripheral device includes memory in which FCode resides, and wherein the detecting is performed by a first device node included in a device tree provided by the Open Firmware; creating a second device node in the device tree, wherein the second device node includes a package, wherein the package consists of private data, properties and methods of the second device node, wherein the package is associated with the peripheral device, and wherein the second device node resides in the problem state memory; switching an active package managed by the Open Firmware to the package included in the second device node, the active package including methods accessible to a command interpreter of the computing system; and the Open Firmware performing an FCode probing that includes evaluating the FCode at runtime in a non-privileged operating state (problem state) of a processor of the computing system, wherein no privileged operations are performed in the problem state, wherein the FCode probing at runtime in the problem state includes protecting from disablement an operating system that is running and co-existing in the memory space with the Open Firmware, wherein the evaluating the FCode includes: reading the FCode from the peripheral device; converting the FCode into a machine code version of the FCode; copying the machine code version of the FCode into the problem state memory; and executing the machine code version of the FCode in the problem state memory, wherein the executing includes generating and adding to the package in the problem state memory, at least one of: additional private data, an additional one or more properties and an additional one or more methods.