In an emulated computing environment, a method is provided for logically
decoupling the host operating system from the processor of the computer
system with respect to certain processor settings of the processor. A
hypervisor of the emulation program replaces some of the processor
settings of the processor with processor settings associated with
software routines or data structures provided by the guest operating
system. The replaced processor settings are written to memory. During
this period, when the processor calls a software routine or accesses a
data structure associated with the replaced processor setting, the
processor will call or access a software routine or access a data
structure associated with the guest operating system, bypassing the host
operating system and communicating directly with the guest operating
system. When the host operating system is to be recoupled to the
processor, the processor settings that have been saved to memory are
rewritten to the appropriate registers of the processor. During the
period that the hypervisor is coupled to the processor, the page table of
the hypervisor is established such that it largely mirrors the page table
of the guest operating system. If a change to the page table of the guest
operating system causes a conflict between the page table of the guest
operating system and the page table of the hypervisor, the page table of
the hypervisor is reallocated in a manner that is transparent to the
guest operating system.