[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 0/7] target/i386: support VMX features in "-cpu"
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH v2 0/7] target/i386: support VMX features in "-cpu" |
Date: |
Tue, 17 Sep 2019 12:34:33 +0200 |
This series adds support for VMX feature flags so that the user can
enable and disable at will the flags. A separate series will
also add VMX features to named CPU models, which will complete VMX
live migration support. That's orthogonal and somewhat tedious.
There are a few complications, which are tackled across the series:
- KVM ioctls fail for some invalid MSR settings, namely when some
controls are reported as available but the corresponding CPUID
bits have been disabled. For backwards compatibility with
e.g. "-cpu host,-rdrand", these VMX features are silently
dropped (patch 2)
- some VMX MSRs have features in the high 32 bits (patch 3)
- some VMX MSRs have values in the high 32 bits, but only
actually have 32 features; this is handled in patch 6 by
mangling the result of KVM_GET_MSRS
- KVM has a couple bugs that can be worked around relatively
easily (patch 6 and 7)
Paolo
v1->v2: do not consult check_cpuid/enforce_cpuid in mark_unavailable_features
introduce struct FeatureMask
Paolo Bonzini (7):
target/i386: handle filtered_features in a new function
mark_unavailable_features
target/i386: introduce generic feature dependency mechanism
target/i386: expand feature words to 64 bits
target/i386: add VMX definitions
vmxcap: correct the name of the variables
target/i386: add VMX features
target/i386: work around KVM_GET_MSRS bug for secondary execution
controls
include/sysemu/kvm.h | 2 +-
scripts/kvm/vmxcap | 14 +-
target/i386/cpu.c | 443 ++++++++++++++++++++++++++++++++++++++++-----------
target/i386/cpu.h | 136 +++++++++++++++-
target/i386/kvm.c | 173 +++++++++++++++++++-
5 files changed, 665 insertions(+), 103 deletions(-)
--
1.8.3.1
- [Qemu-devel] [PATCH v2 0/7] target/i386: support VMX features in "-cpu",
Paolo Bonzini <=
- [Qemu-devel] [PATCH 1/7] target/i386: handle filtered_features in a new function mark_unavailable_features, Paolo Bonzini, 2019/09/17
- [Qemu-devel] [PATCH 2/7] target/i386: introduce generic feature dependency mechanism, Paolo Bonzini, 2019/09/17
- [Qemu-devel] [PATCH 4/7] target/i386: add VMX definitions, Paolo Bonzini, 2019/09/17
- [Qemu-devel] [PATCH 3/7] target/i386: expand feature words to 64 bits, Paolo Bonzini, 2019/09/17
- [Qemu-devel] [PATCH 7/7] target/i386: work around KVM_GET_MSRS bug for secondary execution controls, Paolo Bonzini, 2019/09/17
- [Qemu-devel] [PATCH 5/7] vmxcap: correct the name of the variables, Paolo Bonzini, 2019/09/17
- [Qemu-devel] [PATCH 6/7] target/i386: add VMX features, Paolo Bonzini, 2019/09/17