Method for using two copies of open firmware for self debug capability
First Claim
1. A method for debugging firmware in a data processing system, comprising the steps of:
- loading a first copy of said firmware into a system memory;
designating said first copy as a resident debugger;
loading a second copy of said firmware into said system memory;
designating said second copy to be utilized for normal firmware operation; and
utilizing debug functions in said first copy of firmware to debug said data processing system during startup.
1 Assignment
0 Petitions
Accused Products
Abstract
A first copy of Open Firmware is loaded into system memory to supply a debug function and a second copy of the same firmware is then loaded to provide functional code which is to be debugged. The first copy of Open Firmware in system memory is designated as the resident debugging function. Kernel code, within the first copy, sets up an executing environment for the debugger, such as system exception handlers and debug console enablement. Normal Open Firmware configuration variables are retrieved from Non-Volatile Random Access Memory (“NVRAM”) by the first copy and transmitted to the loader. The second copy of Open Firmware is loaded into system memory to a location specified by the configuration variables. The second copy firmware image is designated as a normal Open Firmware operation in the system. The second copy initially takes over all system exception handlers except instruction breakpoint exception, program interrupt exception and trace exception. The instruction breakpoint exception is utilized to invoke the first copy, or resident debugger, from the normal Open Firmware (second copy) image during code debugging. The two copy debugging configuration is utilized in conjunction with an online machine language assembler and disassembler.
69 Citations
17 Claims
-
1. A method for debugging firmware in a data processing system, comprising the steps of:
-
loading a first copy of said firmware into a system memory;
designating said first copy as a resident debugger;
loading a second copy of said firmware into said system memory;
designating said second copy to be utilized for normal firmware operation; and
utilizing debug functions in said first copy of firmware to debug said data processing system during startup. - View Dependent Claims (2, 3, 4, 5, 6)
setting up an executing environment for said resident debugger;
obtaining one or more configuration variables from a memory;
returning said configuration variables to a loader contained within said first copy; and
loading a second copy of said firmware into said system memory, at a location determined by said configuration variables, to be employed for normal firmware operation.
-
-
4. The method of claim 1, wherein loading said second copy of said firmware into said system memory, further comprises:
-
invoking said resident debugger formed by said first copy; and
debugging selected components of said data processing system software and hardware.
-
-
5. The method of claim 1, wherein designating said second copy of said firmware to be utilized for normal firmware operation, further comprises:
-
completing establishment of said second copy as said normal firmware operation;
said second copy taking control of all exception handlers utilized by said resident debugger excluding breakpoint exception, program interrupt exception and trace exception; and
utilizing said first copy to debug said second copy.
-
-
6. The method of claim 5, further comprises:
-
loading a primary operating system;
taking control of all exception handlers utilized by said resident debugger; and
passing control to said primary operating system.
-
-
7. A data processing system for debugging firmware in a data processing system, comprising:
-
means for loading a first copy of said firmware into a system memory;
means for designating said first copy as a resident debugger;
means for loading a second copy of said firmware into said system memory;
means for designating said second copy to be utilized for normal firmware operation; and
an error debug function in said first copy of firmware for debugging said data processing system during startup. - View Dependent Claims (8, 9, 10, 11, 16)
means for setting up an executing environment for said resident debugger;
means for obtaining one or more configuration variables from a memory for said firmware;
means for returning said configuration variables to a loader contained within said first copy; and
means for loading a second copy of said firmware into system memory, at a location determined by said configuration variables, to be employed for normal firmware operation.
-
-
9. The system of claim 7, wherein means for loading said second copy into said system memory, further comprises:
-
means for invoking said resident debugger; and
means for debugging selected components of said data processing system software and hardware.
-
-
10. The system of claim 7, wherein means for designating said second copy of said firmware to be utilized for normal firmware operation, further comprises:
-
means for completing establishment of said second copy as said normal firmware operation;
means for second copy taking control of all exception handlers utilized by said resident debugger excluding breakpoint exception, program interrupt exception and trace exception; and
means for utilizing said first copy to debug said second copy.
-
-
11. The system of claim 7, further comprises:
-
means for loading a primary operating system;
means for taking control of all exception handlers utilized by said resident debugger; and
means for passing control to said primary operating system.
-
-
16. The computer program product of claim 10, wherein instructions for designating said second copy of said firmware to be utilized for normal firmware operation, further comprises:
-
instructions within said computer-readable medium for completing establishment of said second copy as said normal firmware operation;
instructions within said computer-readable medium for said second copy to control all exception handlers utilized by resident debugger excluding breakpoint exception, program interrupt exception and trace exception; and
instructions within said computer-readable medium for utilizing said first copy to debug said second copy.
-
-
12. A computer program product within a computer-readable medium for debugging firmware in a data processing system, comprising:
-
instructions within said computer-readable medium for loading a first copy of said firmware into a system memory;
instructions within said computer-readable medium for designating said first copy of said firmware as a resident debugger;
instructions within said computer-readable medium for loading a second copy of said firmware into said system memory; and
instructions within said computer-readable medium for designating said second copy to be utilized for normal firmware operation; and
instructions within said computer-readable medium for utilizing debug functions in said first copy of firmware to debug said data processing system during startup. - View Dependent Claims (13, 14, 15, 17)
instructions within said computer-readable medium for setting up an executing environment for said resident debugger;
instructions within said computer-readable medium for obtaining one or more configuration variables from a memory;
instructions within said computer-readable medium for returning said configuration variables to a loader contained within said first copy; and
instructions within said computer-readable medium for loading a second copy of said firmware into said system memory, at a location determined by said configuration variables, to be employed for normal firmware operation.
-
-
15. The computer program product of claim 12, wherein instructions for loading said second copy of said firmware into said system memory, further comprises:
-
instructions within said computer-readable medium for invoking said resident debugger formed by said first copy; and
instructions within said computer-readable medium for debugging selected components of said data processing system software and hardware.
-
-
17. The computer program product of claim 14, further comprises;
-
instructions within said computer-readable medium for loading a primary operating system;
instructions within said computer-readable medium for taking control of all exception handlers utilized by said resident debugger; and
instructions within said computer-readable medium for passing control to said primary operating system.
-
Specification