Claims
- 1. A method for changing control of a processor that is in an active state under the control of an operating system to a borrowed state wherein the processor is under control of firmware, comprising:
sending a request for a change in control to the operating system; deciding, by the operating system, whether to grant the request; placing the processor in a transitional state that is different from the active state, if the request is granted; and sending, by the operating system, an interrupt signal to move the processor from the transitional state into the borrowed state.
- 2. The method of claim 1, further comprising:
maintaining the processor in the active state, if the request is denied.
- 3. The method of claim 2, further comprising:
re-sending the request, if the request is denied.
- 4. The method of claim 1, further comprising:
operating the processor in the borrowed state until completion of a task; placing the processor in another transitional state; and returning the processor to the active state.
- 5. The method of claim 4, wherein the task is handling a problem that cannot be handled by the operating system.
- 6. The method of claim 1, wherein the processor is one processor of a plurality of processors.
- 7. The method of claim 6, wherein the request specifies the processor.
- 8. The method of claim 1, wherein a duration of the borrowed state is unbounded.
- 9. The method of claim 1, wherein the request is an notify command referencing the processor.
- 10. The method of claim 1, further comprising:
invoking the request by one of the firmware and an application.
- 11. The method of claim 1, further comprising:
using a general purpose event to cause formation of the request.
- 12. The method of claim 1, further comprising:
placing the operating system into hibernation while the processor is in the borrowed state.
- 13. The method of claim 1, wherein the processor is an Itanium Processor Family chip, and the firmware is system abstraction layer firmware.
- 14. The method of claim 1, wherein the deciding comprises:
deciding, by the operating system without involvement of the firmware, whether to grant the request.
- 15. A computer system comprising:
a processor for executing code; an operating system that has control of the processor during an active state; and a firmware layer that has control of the processor during a borrowed state; wherein the operating system decides whether to place the processor in the borrowed state and sends an interrupt signal to move the processor into the borrowed state.
- 16. The system of claim 15, wherein if the operating system decides not to place the processor in the borrowed state, the operating system maintains control of the processor.
- 17. The system of claim 15, wherein the firmware maintains control of the processor in the borrowed state until completion of a task, and then returns control of the processor to the operating system.
- 18. The system of claim 17, wherein the task involves a problem that cannot be handled by the operating system.
- 19. The system of claim 15, wherein the processor is one processor of a plurality of processors.
- 20. The system of claim 15, further comprising:
a requesting entity invokes a request that the processor be placed in the borrowed state.
- 21. The system of claim 20, wherein the processor is one processor of a plurality of processors and the request specifies the processor.
- 22. The system of claim 20, wherein the request is an notify command referencing the processor.
- 23. The system of claim 20, wherein the requesting entity is one of:
the firmware, an application, and platform hardware.
- 24. The system of claim 20, wherein a general purpose event is used to cause formation of the request.
- 25. The system of claim 15, wherein a duration of the borrowed state is unbounded.
- 26. The system of claim 15, wherein the operating system is placed into hibernation while the processor is in the borrowed state.
- 27. The system of claim 15, wherein the processor is an Itanium Processor Family chip, and the firmware is system abstraction layer firmware.
- 28. The system of claim 15, wherein the operating system decides without involvement of the firmware whether to place the processor in the borrowed state.
- 29. The system of claim 15, wherein the operating system acts as a proxy to deliver a message to the firmware layer.
- 30. The system of claim 15, wherein a modification of the firmware does not require a modification to the operating system.
- 31. A computer system that has a processor for executing code,
an operating system that has control of the processor during an active state; and a firmware layer that has control of the processor during a borrowed state, the system comprising: means for forming a request to change control of the processor from the active state to a borrowed state; means, operative by the operating system, for deciding whether to grant the request; means for moving the processor from the active state to the borrowed state.
- 32. The computer system of claim 31, further comprising:
means for returning the processor to the active state upon completion of a task.
- 33. A computer readable medium having computer program logic recorded thereon for changing control of a processor that is in an active state under the control of an operating system to a borrowed state wherein the processor is under control of firmware, comprising:
logic for forming a request for a change in control to the operating system; logic for deciding, by the operating system, whether to grant the request; logic for placing the processor in a transitional state that is different from the active state, if the request is granted; and logic for moving the processor from the transitional state into the borrowed state.
- 34. The computer system of claim 33, further comprising:
logic for returning the processor to the active state upon completion of a task.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority benefit of U.S. Provisional Patent Application No. 60/483,885 entitled “ALLOWING FIRMWARE TO BORROW A PROCESSOR,” filed Jun. 30, 2003, the disclosure of which is hereby incorporated herein by reference. This application is related to co-pending and commonly assigned U.S. patent application Ser. No. 10/446,950 entitled “SYSTEM AND METHOD FOR GENERATING ACPI MACHINE LANGUAGE TABLES,” filed May 28, 2003, and U.S. Provisional Patent Application Ser. No. 60/483,670 entitled “SYSTEM AND METHOD FOR DEVELOPMENT OF FIRMWARE,” filed Jun. 30, 2003, and U.S. patent application Ser. No. [47607-P589U.S. Pat. No. 1,020,5485 (100200410-2)] entitled “SYSTEM AND METHOD FOR DEVELOPMENT OF FIRMWARE,” filed concurrently herewith, the disclosures of which are hereby incorporated herein by reference.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60483885 |
Jun 2003 |
US |
|
60483670 |
Jun 2003 |
US |