Patent ID: 8650565

Claim:
In a computing device executing a hypervisor hosting a virtual machine, a method for forwarding an interrupt that is generated by hardware to virtual firmware executing on the virtual machine, by a control program hosted outside of the virtual machine, comprising: (a) receiving, by a control program executed by a processor of a computing device, an interrupt generated by hardware connected to the computing device; (b) providing, by the control program, the interrupt to virtual firmware executed by a virtual machine executed by the processor of the computing device, wherein the control program conveys functionality supported by an advanced configuration and power interface of firmware for the hardware, to the virtual firmware which has not been previously configured with the functionality being conveyed; (c) receiving, by the virtual machine from the virtual firmware, the interrupt; (d) requesting of the virtual firmware, by the virtual machine and responsive to receiving the interrupt, objects and methods on functionality of the hardware associated with the interrupt; (e) receiving, by the control program from the virtual firmware, the request for the objects and methods; (f) extracting, by the control program from the advanced configuration and power interface of firmware of the computing device, the objects and methods; and (g) forwarding, by the control program, the extracted objects and methods to the virtual firmware.