From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?windows-1252?Q?Andreas_F=E4rber?= Subject: Re: [Qemu-devel] [PATCH v3 0/6] target-i386: Make most CPU models work with "enforce" out of the box Date: Tue, 04 Nov 2014 15:52:09 +0100 Message-ID: <5458E819.6080201@suse.de> References: <1412365191-22858-1-git-send-email-ehabkost@redhat.com> <542F204B.9070606@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: kvm@vger.kernel.org, Aurelien Jarno , Richard Henderson To: Paolo Bonzini , Eduardo Habkost , qemu-devel@nongnu.org Return-path: Received: from cantor2.suse.de ([195.135.220.15]:51456 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752822AbaKDOwK (ORCPT ); Tue, 4 Nov 2014 09:52:10 -0500 In-Reply-To: <542F204B.9070606@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: Am 04.10.2014 um 00:16 schrieb Paolo Bonzini: > Il 03/10/2014 21:39, Eduardo Habkost ha scritto: >> Changes v2 -> v3: >> * None. This is just a rebase against latest qemu.git master (commi= t 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 stabili= ty across >> hosts if we simply rely on trimming of CPU features based on host ca= pabilities. >> >> 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 KV= M start >> supporting new features. >> >> There's only one non-trivial case left: the qemu32/qemu64 models. Th= e problem >> with them is that we have conflicting expectations about it, from di= fferent >> 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 w= hich will >> work on most host CPUs (and will only contain features that are supp= orted 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 exp= ects qemu32 >> or qemu64 to be the default, and changing the default would break th= at code. I >> will send an RFC to address that later. >> >> Cc: Aurelien Jarno >> Cc: Paolo Bonzini >> 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(-) >> >=20 > Andreas, are you picking up this? Thanks, applied to qom-cpu: https://github.com/afaerber/qemu-cpu/commits/qom-cpu I do still have some comments, but let's get this in first. Regards, Andreas --=20 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 21284 AG N=FCrn= berg From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49458) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XlfT0-00006z-0w for qemu-devel@nongnu.org; Tue, 04 Nov 2014 09:52:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XlfSu-0008Cm-Nq for qemu-devel@nongnu.org; Tue, 04 Nov 2014 09:52:17 -0500 Received: from cantor2.suse.de ([195.135.220.15]:46961 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XlfSu-00086X-Gc for qemu-devel@nongnu.org; Tue, 04 Nov 2014 09:52:12 -0500 Message-ID: <5458E819.6080201@suse.de> Date: Tue, 04 Nov 2014 15:52:09 +0100 From: =?windows-1252?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <1412365191-22858-1-git-send-email-ehabkost@redhat.com> <542F204B.9070606@redhat.com> In-Reply-To: <542F204B.9070606@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v3 0/6] target-i386: Make most CPU models work with "enforce" out of the box List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , Eduardo Habkost , qemu-devel@nongnu.org Cc: Aurelien Jarno , kvm@vger.kernel.org, Richard Henderson Am 04.10.2014 um 00:16 schrieb Paolo Bonzini: > 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 co= mmit 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 capa= bilities. >> >> So, this series remove CPUID bits from the CPU model definitions so th= ey become >> defaults that: 1) won't unexpectly stop working when we start using th= e >> "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 diff= erent >> users: >> >> TCG users expect the default CPU model to contain most TCG-supported f= eatures >> (and it makes sense). See, for example, commit >> f1e00a9cf326acc1f2386a72525af8859852e1df. >> >> KVM users expect the default CPU model to be a conservative choice whi= ch will >> work on most host CPUs (and will only contain features that are suppor= ted by >> KVM). >> >> We could solve the qemu32/qemu64 issue by having different defaults fo= r TCG and >> KVM. But we have existing management code (libvirt) that already expec= ts 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 >> Cc: Paolo Bonzini >> 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(-) >> >=20 > Andreas, are you picking up this? Thanks, applied to qom-cpu: https://github.com/afaerber/qemu-cpu/commits/qom-cpu I do still have some comments, but let's get this in first. Regards, Andreas --=20 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 21284 AG N=FCrnbe= rg