public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: eranian-sDzT885Ts8HQT0dZR+AlfA@public.gmane.org
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: CPUID emulation
Date: Thu, 31 May 2007 11:39:04 +0300	[thread overview]
Message-ID: <465E89A8.9020201@qumranet.com> (raw)
In-Reply-To: <20070531082006.GB22798-HU54gidqsKnWxDs0y9d3MAC/G2K4zDHf@public.gmane.org>

Stephane Eranian wrote:
> Hello,
>
> Looking at kvm-26, it seems that the CPUID values as seen by the guest OS
> are still hardcoded for i386/x86-64 at least.
>
> For performance counter virtualization, the guest needs to see the *actual*
> family/model information in order to correctly program the counters.
>
> It would be fairly simple to grab that information from /proc/cpuinfo
> at init time in qemu.
>
> However, I am wondering if there would be side effects of using the
> actual CPUID which could cause troubles to KVM or the guest.
>
>   

The main issue is migration (and save/restore).  If you migrate to a 
host with fewer capabilities, applications may fail when they use 
unavailable instructions that they successfully detected earlier.

I think the best solution is to default to the host's capabilities, but 
allow command line switches to override them.  This way a management 
application in a server farm can set a site-wide least common 
denominator, while a home user can enjoy the latest and greatest 
instructions on their machine.

Upstream qemu already has a -cpu (or similar) switch for non-x86; we can 
probably use that.

(there's another possible issue - some future features may require 
support from the hypervisor - that may conflict with defaulting to to 
the host feature set.  maybe kvm should mask out any unknown features)

-- 
error compiling committee.c: too many arguments to function


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

  parent reply	other threads:[~2007-05-31  8:39 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-31  8:20 CPUID emulation Stephane Eranian
     [not found] ` <20070531082006.GB22798-HU54gidqsKnWxDs0y9d3MAC/G2K4zDHf@public.gmane.org>
2007-05-31  8:39   ` Avi Kivity [this message]
     [not found]     ` <465E89A8.9020201-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-31 11:29       ` Stephane Eranian
     [not found]         ` <20070531112906.GC22798-HU54gidqsKnWxDs0y9d3MAC/G2K4zDHf@public.gmane.org>
2007-05-31 11:35           ` Avi Kivity
     [not found]             ` <465EB310.7080402-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-31 11:44               ` Stephane Eranian
     [not found]                 ` <20070531114447.GF22798-HU54gidqsKnWxDs0y9d3MAC/G2K4zDHf@public.gmane.org>
2007-05-31 11:52                   ` Avi Kivity
     [not found]                     ` <465EB6E5.7000000-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-31 11:58                       ` Stephane Eranian
     [not found]                         ` <20070531115841.GG22798-HU54gidqsKnWxDs0y9d3MAC/G2K4zDHf@public.gmane.org>
2007-05-31 15:12                           ` Troy Benjegerdes
     [not found]                             ` <20070531151244.GC6474-na1kE3HDu0idQnJuSAr7PQ@public.gmane.org>
2007-05-31 15:38                               ` ron minnich
2007-05-31 18:30                           ` Ulrich Drepper
     [not found]                             ` <465F145F.5040003-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2007-06-01  1:12                               ` H. Peter Anvin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=465E89A8.9020201@qumranet.com \
    --to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
    --cc=eranian-sDzT885Ts8HQT0dZR+AlfA@public.gmane.org \
    --cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox