From: Paolo Bonzini <pbonzini@redhat.com>
To: "Eduardo Habkost" <ehabkost@redhat.com>,
qemu-devel@nongnu.org, "Andreas Färber" <afaerber@suse.de>
Cc: Aurelien Jarno <aurelien@aurel32.net>, kvm@vger.kernel.org
Subject: Re: [PATCH v3 0/6] target-i386: Make most CPU models work with "enforce" out of the box
Date: Sat, 04 Oct 2014 00:16:43 +0200 [thread overview]
Message-ID: <542F204B.9070606@redhat.com> (raw)
In-Reply-To: <1412365191-22858-1-git-send-email-ehabkost@redhat.com>
Il 03/10/2014 21:39, Eduardo Habkost ha scritto:
> Changes v2 -> v3:
> * None. This is just a rebase against latest qemu.git master (commit b00a0dd)
>
> Changes v1 -> v2:
> * Commit message and comment changes.
> * Update compat code to change pc-*-2.1, not pc-*-2.0.
> * Added patch to disable SVM by default in KVM mode.
>
> 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 existing 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 (6):
> pc: Create pc_compat_2_1() functions
> target-i386: Rename KVM auto-feature-enable compat function
> 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
> target-i386: Disable SVM by default in KVM mode
>
> hw/i386/pc_piix.c | 22 ++++++++++++++++++----
> hw/i386/pc_q35.c | 18 ++++++++++++++++--
> target-i386/cpu.c | 42 ++++++++++++++++++++++++++++--------------
> target-i386/cpu.h | 3 ++-
> 4 files changed, 64 insertions(+), 21 deletions(-)
>
Andreas, are you picking up this?
Paolo
WARNING: multiple messages have this Message-ID (diff)
From: Paolo Bonzini <pbonzini@redhat.com>
To: "Eduardo Habkost" <ehabkost@redhat.com>,
qemu-devel@nongnu.org, "Andreas Färber" <afaerber@suse.de>
Cc: kvm@vger.kernel.org, Aurelien Jarno <aurelien@aurel32.net>
Subject: Re: [Qemu-devel] [PATCH v3 0/6] target-i386: Make most CPU models work with "enforce" out of the box
Date: Sat, 04 Oct 2014 00:16:43 +0200 [thread overview]
Message-ID: <542F204B.9070606@redhat.com> (raw)
In-Reply-To: <1412365191-22858-1-git-send-email-ehabkost@redhat.com>
Il 03/10/2014 21:39, Eduardo Habkost ha scritto:
> Changes v2 -> v3:
> * None. This is just a rebase against latest qemu.git master (commit b00a0dd)
>
> Changes v1 -> v2:
> * Commit message and comment changes.
> * Update compat code to change pc-*-2.1, not pc-*-2.0.
> * Added patch to disable SVM by default in KVM mode.
>
> 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 existing 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 (6):
> pc: Create pc_compat_2_1() functions
> target-i386: Rename KVM auto-feature-enable compat function
> 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
> target-i386: Disable SVM by default in KVM mode
>
> hw/i386/pc_piix.c | 22 ++++++++++++++++++----
> hw/i386/pc_q35.c | 18 ++++++++++++++++--
> target-i386/cpu.c | 42 ++++++++++++++++++++++++++++--------------
> target-i386/cpu.h | 3 ++-
> 4 files changed, 64 insertions(+), 21 deletions(-)
>
Andreas, are you picking up this?
Paolo
next prev parent reply other threads:[~2014-10-03 22:16 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-03 19:39 [PATCH v3 0/6] target-i386: Make most CPU models work with "enforce" out of the box Eduardo Habkost
2014-10-03 19:39 ` [Qemu-devel] " Eduardo Habkost
2014-10-03 19:39 ` [PATCH v3 1/6] pc: Create pc_compat_2_1() functions Eduardo Habkost
2014-10-03 19:39 ` [Qemu-devel] " Eduardo Habkost
2014-10-03 19:39 ` [PATCH v3 2/6] target-i386: Rename KVM auto-feature-enable compat function Eduardo Habkost
2014-10-03 19:39 ` [Qemu-devel] " Eduardo Habkost
2014-10-03 19:39 ` [PATCH v3 3/6] target-i386: Disable CPUID_ACPI by default on KVM mode Eduardo Habkost
2014-10-03 19:39 ` [Qemu-devel] " Eduardo Habkost
2014-10-03 19:39 ` [PATCH v3 4/6] target-i386: Remove unsupported bits from all CPU models Eduardo Habkost
2014-10-03 19:39 ` [Qemu-devel] " Eduardo Habkost
2014-10-29 17:26 ` Andreas Färber
2014-10-29 17:26 ` Andreas Färber
2014-10-03 19:39 ` [PATCH v3 5/6] target-i386: Don't enable nested VMX by default Eduardo Habkost
2014-10-03 19:39 ` [Qemu-devel] " Eduardo Habkost
2014-10-29 17:40 ` Andreas Färber
2014-10-29 17:40 ` Andreas Färber
2014-10-29 19:38 ` Eduardo Habkost
2014-10-29 19:38 ` Eduardo Habkost
2014-10-30 7:17 ` Paolo Bonzini
2014-10-30 7:17 ` Paolo Bonzini
2014-10-03 19:39 ` [PATCH v3 6/6] target-i386: Disable SVM by default in KVM mode Eduardo Habkost
2014-10-03 19:39 ` [Qemu-devel] " Eduardo Habkost
2014-10-03 22:16 ` Paolo Bonzini [this message]
2014-10-03 22:16 ` [Qemu-devel] [PATCH v3 0/6] target-i386: Make most CPU models work with "enforce" out of the box Paolo Bonzini
2014-11-04 14:52 ` Andreas Färber
2014-11-04 14:52 ` Andreas Färber
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=542F204B.9070606@redhat.com \
--to=pbonzini@redhat.com \
--cc=afaerber@suse.de \
--cc=aurelien@aurel32.net \
--cc=ehabkost@redhat.com \
--cc=kvm@vger.kernel.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.