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? Paolo -- 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