Patent ID: 7992023

Claim:
A processing system comprising: a memory for storing program instructions and data; a processor for executing said program instructions, said program instructions including multiple operating systems executing within multiple virtual machines, wherein said program instructions further comprise hypervisor program instructions for managing said virtual machines; a service processor coupled to said processor and having a memory containing service processor program instructions for providing hardware assistance to said hypervisor program and for managing system functions when said hypervisor is not executing; and an adapter for receiving a peripheral connection, said peripheral connection operative to transfer a wakeup indication, wherein said adapter has an output for indicating receipt of said wakeup indication coupled to an input of said service processor for indicating to said service processor that said wakeup indication has been received, and wherein said service processor program instructions comprise program instructions for notifying said hypervisor that said wakeup indication has been received responsive to output of said adapter, and wherein said hypervisor program instructions comprise program instructions for controlling the power management state of a virtual machine owning said adapter in response to said notification from said service processor, wherein said hypervisor program instructions further comprise program instructions for transferring ownership of said adapter from a first one of said virtual machines to a second one of said virtual machines by unmapping said adapter from said first virtual machine, resetting the state of said adapter, and mapping said adapter in said second virtual machine, whereby said second virtual machine owns said adapter.