Systems and methods for hypervisor discovery and utilization
First Claim
1. A system for discovering and utilizing a virtualizing program, comprising:
- a processor; and
a memory communicatively coupled to said processor when the system is operational, the memory bearing computer-executable instructions that, upon execution by the processor, cause the operations comprising;
determining the presence of the virtualizing program through the use of a virtualized device;
receiving at least one page of information manifested into the physical address space of a partition, wherein the at least one page of information is indicative of a calling convention, and wherein the at least one page of information is owned by the virtualization program and is accessible to the partition;
establishing the calling convention with the virtualizing program, based on the at least one page of information; and
sending a requested operation to the virtualizing program using the calling convention, such that the virtualizing program performs the requested operation.
2 Assignments
0 Petitions
Accused Products
Abstract
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.
9 Citations
20 Claims
-
1. A system for discovering and utilizing a virtualizing program, comprising:
-
a processor; and a memory communicatively coupled to said processor when the system is operational, the memory bearing computer-executable instructions that, upon execution by the processor, cause the operations comprising; determining the presence of the virtualizing program through the use of a virtualized device; receiving at least one page of information manifested into the physical address space of a partition, wherein the at least one page of information is indicative of a calling convention, and wherein the at least one page of information is owned by the virtualization program and is accessible to the partition; establishing the calling convention with the virtualizing program, based on the at least one page of information; and sending a requested operation to the virtualizing program using the calling convention, such that the virtualizing program performs the requested operation. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for discovering and utilizing a virtualizing program, comprising:
-
determining the presence of the virtualizing program through the use of a virtualized device; receiving at least one page of information manifested into the physical address space of a partition, wherein the at least one page of information is indicative of a calling convention; establishing the calling convention with the virtualizing program, based on the at least one page of information; and sending a requested operation to the virtualizing program using the calling convention, such that the virtualizing program performs the requested operation. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer-readable storage medium bearing computer-executable instructions for discovering and utilizing a virtualizing program that, upon execution by a computer, cause the computer to perform operations comprising:
-
determining the presence of the virtualizing program through the use of a virtualized device; receiving at least one page of information manifested into the physical address space of a partition, wherein the at least one page of information is indicative of a calling convention; establishing the calling convention with the virtualizing program, based on the at least one page of information; and sending a requested operation to the virtualizing program using the calling convention, such that the virtualizing program performs the requested operation. - View Dependent Claims (19, 20)
-
Specification