Re: Use CPUID to communicate with the hypervisor.

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: 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@...>, Jun.Nakajima@Intel.Com <Jun.Nakajima@...>
Date: Monday, September 29, 2008 - 1:55 pm

Hi Gerd,

On Mon, 2008-09-29 at 01:24 -0700, Gerd Hoffmann wrote:

Nope the whole idea of not checking the hypervisor signature is that we
should keep this interface generic.
In the current code, before poking the TIMING_LEAF, we do check if the
maximum supported cpuid level is greater than that leaf. If it is we go
ahead and probe that cpuid leaf.
Also one thing to remember is, that a hypervisor can decide to not
implement this level and just return "0" the kernel can then just ignore
that value. That's what we do currently in native_calibrate_tsc.

>

Nope, lets do the "Or" part :)
Exactly.
Returning zero for the fields which are not supported by the hypervisor,
lets us do that.
So for instance right now, VMware has defined 40000010 leaf, if either
kvm/xen think it could be useful they could just define that leaf to
return nonzero value and the kernel will start using it for them.
Likewise, if in future either kvm/xen come up with a need to define a
new CPUID leaf they can define the semantics for that leaf, and the
corresponding kernel side stuff. If VMware, think that this new leaf is
useful, we can then support that leaf in our hypervisor or return zero
otherwise.

> Right now both kvm and xen use the first one or two leafes (after info),

Hmm that's unfortunate, but we can have exceptions for these one of
cases and AFAIK these are only checked in the kvm/xen code path and not
in any generic code as of now, right ?

btw, i could only find the semantics for 0x40000001 leaf in KVM's header
file but don't see Xen using that leaf, can you please point me which
leafs are you referring to here.

>

Yep.

Thanks,
Alok

--

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)