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 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@xxxxxxxxxxx> >> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> >> Cc: kvm@xxxxxxxxxxxxxxx >> >> 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? 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 -- SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 21284 AG Nürnberg -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html