From: Paolo Bonzini <pbonzini@redhat.com>
To: linux-kernel@vger.kernel.org
Cc: kvm@vger.kernel.org, gleb@redhat.com
Subject: [PATCH v3 0/3] KVM: prepare for future XSAVE extensions
Date: Wed, 2 Oct 2013 16:06:13 +0200 [thread overview]
Message-ID: <1380722776-12358-1-git-send-email-pbonzini@redhat.com> (raw)
As soon as the kernel will support the XSAVE extensions in Skylake
processors, we will want both userspace and the hypervisor to run
guests without showing any trace of the new features (because
support for them in the hypervisor will come later).
This series does exactly this. Patches 1 and 3 ensures that userspace
does not get access to features not supported in the hypervisor.
Patch 2 does the same for the guest.
The effect of these patches is already visible together with
the corresponding QEMU patches and a command line such as "-cpu
SandyBridge,-avx". Previously, the guest could still enable AVX via
xsetbv, and state would be sent by QEMU during migration. These patches
make sure that disabling AVX will really prevent the guest from using it,
which helps if you have to deal with migration from newer versions of
QEMU and the kernel to older versions. The QEMU patches set up the
guest's 0xd CPUID leaf, which also ensures that the kernel has the
necessary information.
Paolo
v2->v3:
rename supported_xcr0 field to guest_supported_xcr0
rename xstate_size field to guest_xstate_size
do not hardcode XSTATE_FPSSE in guest_supported_xcr0
handle missing 0xd leaf
Paolo Bonzini (3):
KVM: x86: mask unsupported XSAVE entries from leaf 0Dh index 0
KVM: x86: prevent setting unsupported XSAVE states
KVM: x86: only copy XSAVE state for the supported features
arch/x86/include/asm/kvm_host.h | 2 ++
arch/x86/kvm/cpuid.c | 36 +++++++++++++++++++++++++++++++++++-
arch/x86/kvm/x86.c | 29 ++++++++++++++++++++++-------
arch/x86/kvm/x86.h | 1 +
4 files changed, 60 insertions(+), 8 deletions(-)
--
1.8.3.1
next reply other threads:[~2013-10-02 14:06 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-02 14:06 Paolo Bonzini [this message]
2013-10-02 14:06 ` [PATCH 1/3] KVM: x86: mask unsupported XSAVE entries from leaf 0Dh index 0 Paolo Bonzini
2013-10-02 14:06 ` [PATCH 2/3] KVM: x86: prevent setting unsupported XSAVE states Paolo Bonzini
2013-10-02 14:06 ` [PATCH 3/3] KVM: x86: only copy XSAVE state for the supported features Paolo Bonzini
2013-10-03 9:40 ` [PATCH v3 0/3] KVM: prepare for future XSAVE extensions Gleb Natapov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1380722776-12358-1-git-send-email-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=gleb@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®