Re: [PATCH v3 0/6] target-i386: Make most CPU models work with "enforce" out of the box

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux