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/
next prev 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