Systems and methods are provided, whereby partitions may become enlightened and discover the presence of a
hypervisor. Several techniques of
hypervisor discovery are discussed, such as detecting the presence of
virtual processor registers (e.g. model specific registers or special-purpose registers) or the presence of
virtual hardware devices. Upon discovery, information (code and / or data) may be injected in a partition by the
hypervisor, whereby such injection allows the partition to call the hypervisor. Moreover, the hypervisor may present a versioning mechanism that allows the partition to match up the version of the hypervisor to its virtual devices. Next, once code and / or data is injected, calling conventions are established that allow the partition and the hypervisor to communicate, so that the hypervisor may perform some operations on behalf of the partition. Four exemplary calling conventions are considered: restartable instructions, a looping mechanism,
shared memory transport, and synchronous or asynchronous processed packets. Last, cancellation mechanisms are considered, whereby partition requests may be cancelled.