RE: Use CPUID to communicate with the hypervisor.

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: akataria@vmware.com <akataria@...>, Gerd Hoffmann <kraxel@...>
Cc: Ingo Molnar <mingo@...>, H. Peter Anvin <hpa@...>, Thomas Gleixner <tglx@...>, LKML <linux-kernel@...>, the arch/x86 maintainers <x86@...>, Jeremy Fitzhardinge <jeremy@...>, avi@redhat.com <avi@...>, Rusty Russell <rusty@...>, Zach Amsden <zach@...>, Daniel Hecht <dhecht@...>
Date: Monday, September 29, 2008 - 4:55 pm

On 9/29/2008 12:38:05 PM, Alok Kataria wrote:

For example, we can set the following ranges so that so that each VMM vender can define and implement features avoiding conflicts:
vmware to define 0x4000001X
xen to define 0x4000002X
kvm to define 0x4000003X
...

The point here is that all the features are generic because we don't make them exclusive. To that end, we don't check the signature. Whatever common features can be found in the above, and each hypervisor can choose to implement what was defined by other hypervisors.

Detection of the feature 0x400000XY is done by:
1.  Get EAX from Leaf 0x4000000000, Hypervisor CPUID information. EAX returns the maximum input value for hypervisor CPUID info.

    If EAX < 0x400000XY, then the feature is not available.

2.  Get EAX from the target Leaf 0x400000XY by doing cpuid_eax(0x400000XY).

    If (EAX == 0), the feature is not implemented.

If the hypervisor does not implement a particular feature specified by 0x400000XN and 0x400000XN < 0x400000XY, the hypervisor needs to return 0 in EAX with cpuid_eax(0x400000XN) (XN > 0).

             .
Jun Nakajima | Intel Open Source Technology Center
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Use CPUID to communicate with the hypervisor., Alok Kataria, (Fri Sep 26, 7:46 pm)
Re: Use CPUID to communicate with the hypervisor., Gerd Hoffmann, (Mon Sep 29, 4:24 am)
Re: Use CPUID to communicate with the hypervisor., Alok Kataria, (Mon Sep 29, 1:55 pm)
Re: Use CPUID to communicate with the hypervisor., Gerd Hoffmann, (Mon Sep 29, 2:46 pm)
Re: Use CPUID to communicate with the hypervisor., Alok Kataria, (Mon Sep 29, 3:38 pm)
Re: Use CPUID to communicate with the hypervisor., Gerd Hoffmann, (Mon Sep 29, 6:46 pm)
Re: Use CPUID to communicate with the hypervisor., Alok Kataria, (Mon Sep 29, 8:33 pm)
Re: Use CPUID to communicate with the hypervisor., Gerd Hoffmann, (Tue Sep 30, 4:11 am)
[Hypervisors] TSC frequency change, Alok Kataria, (Wed Oct 1, 12:35 am)
Re: [Hypervisors] TSC frequency change, Gerd Hoffmann, (Wed Oct 1, 5:47 am)
Re: Use CPUID to communicate with the hypervisor., Zachary Amsden, (Tue Sep 30, 12:42 pm)
Re: Use CPUID to communicate with the hypervisor., Avi Kivity, (Thu Oct 2, 7:52 am)
RE: Use CPUID to communicate with the hypervisor., Nakajima, Jun, (Mon Sep 29, 4:55 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Mon Sep 29, 5:07 pm)
Re: Use CPUID to communicate with the hypervisor., Jeremy Fitzhardinge, (Mon Sep 29, 5:28 pm)
Re: Use CPUID to communicate with the hypervisor., Alok Kataria, (Mon Sep 29, 8:12 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Mon Sep 29, 8:31 pm)
RE: Use CPUID to communicate with the hypervisor., Nakajima, Jun, (Mon Sep 29, 8:56 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Mon Sep 29, 8:58 pm)
RE: Use CPUID to communicate with the hypervisor., Nakajima, Jun, (Mon Sep 29, 9:14 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Mon Sep 29, 10:21 pm)
RE: Use CPUID to communicate with the hypervisor., Nakajima, Jun, (Mon Sep 29, 11:14 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Mon Sep 29, 11:48 pm)
Re: Use CPUID to communicate with the hypervisor., Zachary Amsden, (Mon Sep 29, 7:20 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Mon Sep 29, 8:33 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Mon Sep 29, 5:49 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Mon Sep 29, 4:31 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Mon Sep 29, 1:58 pm)
Re: Use CPUID to communicate with the hypervisor., Gleb Natapov, (Mon Sep 29, 2:55 am)
Re: Use CPUID to communicate with the hypervisor., Avi Kivity, (Mon Sep 29, 3:37 am)
RE: Use CPUID to communicate with the hypervisor., Nakajima, Jun, (Mon Sep 29, 11:32 am)
Re: Use CPUID to communicate with the hypervisor., Avi Kivity, (Tue Sep 30, 5:16 am)
Re: Use CPUID to communicate with the hypervisor., Bernd Eckenfels, (Mon Sep 29, 5:08 am)
Re: Use CPUID to communicate with the hypervisor., Gleb Natapov, (Mon Sep 29, 5:33 am)
Re: Use CPUID to communicate with the hypervisor., Jeremy Fitzhardinge, (Fri Sep 26, 9:02 pm)
Re: Use CPUID to communicate with the hypervisor., Alok Kataria, (Fri Sep 26, 11:11 pm)
Re: Use CPUID to communicate with the hypervisor., Jeremy Fitzhardinge, (Sun Sep 28, 1:01 am)
Re: Use CPUID to communicate with the hypervisor., Tim Deegan, (Mon Sep 29, 5:28 am)
Re: Use CPUID to communicate with the hypervisor., Avi Kivity, (Mon Sep 29, 5:44 am)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Sat Sep 27, 12:20 am)
Re: Use CPUID to communicate with the hypervisor., Alok Kataria, (Sat Sep 27, 1:37 am)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Fri Sep 26, 9:28 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Fri Sep 26, 8:09 pm)
Re: Use CPUID to communicate with the hypervisor., Karel Zak, (Mon Sep 29, 4:56 pm)
Re: Use CPUID to communicate with the hypervisor., Alok Kataria, (Fri Sep 26, 8:30 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Fri Sep 26, 8:32 pm)
RE: Use CPUID to communicate with the hypervisor., Nakajima, Jun, (Fri Sep 26, 8:59 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Fri Sep 26, 9:55 pm)
RE: Use CPUID to communicate with the hypervisor., Nakajima, Jun, (Sat Sep 27, 12:52 am)