Patent ID: 7418584

Claim:
A method comprising: making one or more changes to processor state corresponding to a second guest to control access by the second guest to corresponding physical processor hardware, the one or more changes made by a virtual machine monitor (VMM); starting execution of the second guest by the VMM; detecting an event that would cause a processor to transition to a system management mode (SMM), wherein first code is to be executed in the SMM, wherein the first code is stored in an SMM address space that is usable in the SMM and not in other modes, and wherein the SMM address space is located by an SMM base address stored in an SMM base address register that is separate from a page table base address register that stores a base address locating a plurality of page tables storing address translations; allocating a virtual machine control block data structure for a first guest in which the first code is to execute, the allocating performed in response to detecting the event; causing the first code to be executed in the first guest, using the virtual machine control block data structure, responsive to the detecting; exiting the second guest, wherein the second guest is executing when the detecting occurs; storing processor state corresponding to the second guest in a state save area accessible to the first code; and modifying the saved processor state in the state save area to replace the changes to the processor state that were made by the VMM with the processor state that corresponded to the second guest prior to the changes.