summaryrefslogtreecommitdiff
path: root/qemu-kvm.c
diff options
context:
space:
mode:
authorMarcelo Tosatti <mtosatti@redhat.com>2010-10-23 20:05:26 -0200
committerAvi Kivity <avi@redhat.com>2010-10-25 11:55:52 +0200
commit5d709bd76683f158cd36376f4aabab59f406ae75 (patch)
treedbc09c3401322b77206175b8440258d2bd239dc7 /qemu-kvm.c
parent0abb7a057d04401247368659d86cd5784086591f (diff)
qemu-kvm: use upstream fpu/xsave/xcrs save/restore code
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'qemu-kvm.c')
-rw-r--r--qemu-kvm.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/qemu-kvm.c b/qemu-kvm.c
index 43cb59366..d7d7eeeb6 100644
--- a/qemu-kvm.c
+++ b/qemu-kvm.c
@@ -472,16 +472,6 @@ int kvm_set_regs(CPUState *env, struct kvm_regs *regs)
return kvm_vcpu_ioctl(env, KVM_SET_REGS, regs);
}
-int kvm_get_fpu(CPUState *env, struct kvm_fpu *fpu)
-{
- return kvm_vcpu_ioctl(env, KVM_GET_FPU, fpu);
-}
-
-int kvm_set_fpu(CPUState *env, struct kvm_fpu *fpu)
-{
- return kvm_vcpu_ioctl(env, KVM_SET_FPU, fpu);
-}
-
int kvm_get_sregs(CPUState *env, struct kvm_sregs *sregs)
{
return kvm_vcpu_ioctl(env, KVM_GET_SREGS, sregs);
@@ -1696,6 +1686,16 @@ static int kvm_create_context(void)
kvm_state->debugregs = kvm_check_extension(kvm_state, KVM_CAP_DEBUGREGS);
#endif
+ kvm_state->xsave = 0;
+#ifdef KVM_CAP_XSAVE
+ kvm_state->xsave = kvm_check_extension(kvm_state, KVM_CAP_XSAVE);
+#endif
+
+ kvm_state->xcrs = 0;
+#ifdef KVM_CAP_XCRS
+ kvm_state->xcrs = kvm_check_extension(kvm_state, KVM_CAP_XCRS);
+#endif
+
kvm_init_ap();
if (kvm_irqchip) {
if (!qemu_kvm_has_gsi_routing()) {