ENLIGHTENMENT FOR LOW OVERHEAD HARDWARE ACCESS
First Claim
1. A method of operating a computing device, the method comprising:
- operating at least one physical processor to;
implement a hypervisor, the hypervisor emulating an emulated processor having a time stamp counter;
execute computer-executable instructions implementing a computer operating system executing on the emulated processor that performs an operation of computing a normalized reference time,wherein;
operating at least one physical processor to execute computer-executable instructions implementing a computer operating system comprises performing the operation, the performing comprising;
reading a timer value from the time stamp counter from the emulated processor;
obtaining through an interface with the hypervisor a scale factor and an offset; and
calculating the normalized reference time by applying the offset and the scale factor to the value obtained from the time stamp counter.
2 Assignments
0 Petitions
Accused Products
Abstract
A computing system in which a software component executing on a platform can reliably and efficiently obtain state information about a component supported by the platform through the use of a shared memory page. State information may be supplied by the platform, but any state translation information needed to map the state information as supplied to a format as used may be provided through the shared page. In a virtualized environment, the state translation information can be used to map the value of a virtual timer counter or other component from a value provided by a virtual processor to a normalized reference time that will yield the same result, regardless of whether the software component is migrated to or from another virtual processor. Use of a shared page avoids the inefficiency of an intercept into a virtualized environment or a system calls in native mode operation.
-
Citations
20 Claims
-
1. A method of operating a computing device, the method comprising:
-
operating at least one physical processor to; implement a hypervisor, the hypervisor emulating an emulated processor having a time stamp counter; execute computer-executable instructions implementing a computer operating system executing on the emulated processor that performs an operation of computing a normalized reference time, wherein; operating at least one physical processor to execute computer-executable instructions implementing a computer operating system comprises performing the operation, the performing comprising; reading a timer value from the time stamp counter from the emulated processor; obtaining through an interface with the hypervisor a scale factor and an offset; and calculating the normalized reference time by applying the offset and the scale factor to the value obtained from the time stamp counter. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of operating an operating system in a guest partition, the method comprising:
operating at least one physical processor to; implement a first emulated processor having a first time stamp counter; implement a second emulated processor having a second time stamp counter; execute computer-executable instructions implementing the operating system within the guest partition executing on the first emulated processor during a first period of time, the implementing comprising performing a timer operation based on a timer value obtained from the first time stamp counter; execute computer-executable instructions implementing the operating system within the guest partition executing on the second emulated processor during a second period of time, the implementing comprising performing a timer operation based on a timer value obtained by computing a normalized reference time from a value obtained from the second time stamp counter, the computing the normalized reference time comprising; obtaining a scale factor and an offset; and calculating the normalized reference time by applying the offset and the scale factor to the value obtained from the second time stamp counter. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
16. A method of supporting a normalized reference time in a guest partition executing on a hypervisor, the hypervisor executing on a computer, the method performed by the hypervisor when a guest partition is restored, the method comprising:
operating at least one physical processor on the computer to; updating a maximum time stamp counter value; store a value of a scale factor for the computer in a shared page, the shared page being shared between the hypervisor and the guest partition; compute an offset based on the scale factor and the maximum time stamp counter value; and store the offset in the shared page. - View Dependent Claims (17, 18, 19, 20)
Specification