From: Eduardo Habkost <ehabkost@redhat.com>
To: qemu-devel@nongnu.org, "Andreas Färber" <afaerber@suse.de>
Cc: Igor Mammedov <imammedo@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Aurelien Jarno <aurelien@aurel32.net>,
kvm@vger.kernel.org, "Michael S. Tsirkin" <mst@redhat.com>
Subject: [Qemu-devel] [qom-cpu PATCH 0/3] target-i386: Make most CPU models work with "enforce" out of the box
Date: Wed, 18 Jun 2014 16:55:56 -0300 [thread overview]
Message-ID: <1403121359-4275-1-git-send-email-ehabkost@redhat.com> (raw)
Most of the bits that make "enforce" breaks were introduced in 2010 by commit
8560efed6a72a816c0115f41ddb9d79f7ce63f28. The intention behind that commit made
sense, the only problem is that we can't guarantee guest ABI stability across
hosts if we simply rely on trimming of CPU features based on host capabilities.
So, this series remove CPUID bits from the CPU model definitions so they become
defaults that: 1) won't unexpectly stop working when we start using the
"enforce" flag; 2) won't silently break the guest ABI when TCG or KVM start
supporting new features.
There's only one non-trivial case left: the qemu32/qemu64 models. The problem
with them is that we have conflicting expectations about it, from different
users:
TCG users expect the default CPU model to contain most TCG-supported features
(and it makes sense). See, for example, commit
f1e00a9cf326acc1f2386a72525af8859852e1df.
KVM users expect the default CPU model to be a conservative choice which will
work on most host CPUs (and will only contain features that are supported by
KVM).
We could solve the qemu32/qemu64 issue by having different defaults for TCG and
KVM. But we have existinting management code (libvirt) that already expects
qemu32 or qemu64 to be the default, and changing the default would break that
code. I will send an RFC to address that later.
Cc: Aurelien Jarno <aurelien@aurel32.net>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: kvm@vger.kernel.org
Eduardo Habkost (3):
target-i386: Disable CPUID_ACPI by default on KVM mode
target-i386: Remove unsupported bits from all CPU models
target-i386: Don't enable nested VMX by default
hw/i386/pc_piix.c | 2 ++
hw/i386/pc_q35.c | 2 ++
target-i386/cpu.c | 34 +++++++++++++++++++++-------------
3 files changed, 25 insertions(+), 13 deletions(-)
--
1.9.3
next reply other threads:[~2014-06-18 19:56 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-18 19:55 Eduardo Habkost [this message]
2014-06-18 19:55 ` [Qemu-devel] [qom-cpu PATCH 1/3] target-i386: Disable CPUID_ACPI by default on KVM mode Eduardo Habkost
2014-06-18 19:55 ` [Qemu-devel] [qom-cpu PATCH 2/3] target-i386: Remove unsupported bits from all CPU models Eduardo Habkost
2014-06-18 20:52 ` Eric Blake
2014-06-18 19:55 ` [Qemu-devel] [qom-cpu PATCH 3/3] target-i386: Don't enable nested VMX by default Eduardo Habkost
2014-06-19 9:23 ` Paolo Bonzini
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=1403121359-4275-1-git-send-email-ehabkost@redhat.com \
--to=ehabkost@redhat.com \
--cc=afaerber@suse.de \
--cc=aurelien@aurel32.net \
--cc=imammedo@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.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;
as well as URLs for NNTP newsgroup(s).