IP Library Granted Patent US 7,779,305
Granted Patent B2
US 7,779,305 · App. 11/966,132 · Granted Aug 17, 2010

Method and system for recovery from an error in a computing device by transferring control from a virtual machine monitor to separate firmware instructions

Assignee: Intel Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,779,305
App. No.
11/966,132
Granted
Aug 17, 2010
Kind
B2
Abstract

A method and system for supporting recovery of a computing device includes determining and storing a sub-set of firmware instructions used to establish a pre-boot environment and executing the sub-set of firmware instructions in response to an error.

Claims (42)

1. A method comprising:

executing firmware instructions to establish a pre-boot environment on a computing device;

determining a sub-set of the firmware instructions that provide pre-boot environment services;

storing the sub-set of the firmware instructions in a reserved memory location;

executing a virtual machine monitor; and

transferring control from the virtual machine monitor to the sub-set of firmware instructions in response to an error.

2. The method of claim 1 , wherein the virtual machine monitor is a hypervisor.

3. The method of claim 1 , wherein the error comprises at least one of a system management interrupt and a platform management interrupt.

4. The method of claim 1 , wherein the sub-set of firmware instructions comprise extensible firmware interface instructions.

5. The method of claim 1 , wherein the sub-set of firmware instructions includes at least one driver execution environment (DXE) driver.

6. The method of claim 1 , further comprising generating a guest instances, wherein transferring control from the virtual machine monitor to the sub-set of firmware instruction comprises invoking the sub-set of firmware instructions in the guest instance in response to the error.

7. The method of claim 1 , further comprising:

generating a virtual machine; and

executing an operating system in the virtual machine, wherein the error comprises an error of the operating system.

8. The method of claim 7 , further comprising:

storing a state of the operating system in response to the error, and

restoring the state of the operating system subsequent to execution of the sub-set of firmware instructions.

9. The method of claim 1 , further comprising:

storing a state of the virtual machine monitor in response to the error, and

restoring the state of the virtual machine monitor subsequent to execution of the sub-set of firmware instructions.

10. The method of claim 1 , wherein executing a virtual machine monitor comprises executing a virtual machine monitor having an error handler configured to execute the sub-set of firmware instructions in response to the error.

11. A machine readable storage medium comprising a plurality of instructions, that in response to being executed, result in a computing device

creating a sub-set of firmware instructions from a set of firmware instructions used to establish a pre-boot environment; and

executing an error handler of a virtual machine monitor to cause execution of the sub-set of firmware instructions to reconstitute the pre-boot environment in response to an error.

12. The machine readable medium of claim 11 , wherein executing an error handler of a virtual machine monitor comprises executing an error handler of a hypervisor to cause execution of the sub-set of firmware instructions to reconstitute the pre-boot environment in response to the error.

13. The machine readable medium of claim 11 , wherein the error comprises at least one of a system management interrupt and a platform management interrupt.

14. The machine readable medium of claim 11 , wherein the sub-set of firmware instructions comprise extensible firmware interface instructions.

15. A computing device comprising:

a processor, and

a memory device having stored therein a plurality of instructions that when executed by the processor cause the processor to

execute firmware instructions to establish a pre-boot environment on a computing device;

determine a sub-set of the firmware instructions that provide pre-boot environment services;

store the sub-set of the firmware instructions in a reserved memory location;

execute a hypervisor; and

transfer control from the hypervisor to the sub-set of firmware instructions in response to an error.

16. The device of claim 15 , wherein to transfer control from the hypervisor to the sub-set of firmware instructions comprises establishing a guest instance and invoking the sub-set of the firmware instructions in the guest instance.

17. The device of claim 15 , wherein the error comprises at least one of a system management interrupt and a platform management interrupt.

18. The device of claim 15 , wherein the sub-set of firmware instructions comprise extensible firmware interface instructions.

19. The device of claim 15 , wherein the sub-set of firmware instructions includes at least one driver execution environment (DXE) driver.

20. The device of claim 15 , wherein the plurality of memory instructions further cause the processor to:

store a state of the hypervisor in response to the error, and

restore the state of the hypervisor subsequent to execution of the sub-set of firmware instructions.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2009
From: ZIMMER, VINCENT J.; ROTHMAN, MICHAEL A.; DORWIN, DAVID
To: INTEL CORPORATION
Reel/Frame 022589/0409 →
Continuity (1)
Related Publication 20090172471A1 · Jul 2, 2009