From f1665b21f16c5dc0ac37de60233a4975aff31193 Mon Sep 17 00:00:00 2001 From: Sheng Yang Date: Thu, 17 Jun 2010 17:53:07 +0800 Subject: kvm: Enable XSAVE live migration support Signed-off-by: Sheng Yang Signed-off-by: Marcelo Tosatti --- kvm-all.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'kvm-all.c') diff --git a/kvm-all.c b/kvm-all.c index 5684e51..9380302 100644 --- a/kvm-all.c +++ b/kvm-all.c @@ -71,6 +71,7 @@ struct KVMState #endif int irqchip_in_kernel; int pit_in_kernel; + int xsave, xcrs; }; static KVMState *kvm_state; @@ -686,6 +687,16 @@ int kvm_init(int smp_cpus) s->debugregs = kvm_check_extension(s, KVM_CAP_DEBUGREGS); #endif + s->xsave = 0; +#ifdef KVM_CAP_XSAVE + s->xsave = kvm_check_extension(s, KVM_CAP_XSAVE); +#endif + + s->xcrs = 0; +#ifdef KVM_CAP_XCRS + s->xcrs = kvm_check_extension(s, KVM_CAP_XCRS); +#endif + ret = kvm_arch_init(s, smp_cpus); if (ret < 0) goto err; @@ -1014,6 +1025,16 @@ int kvm_has_debugregs(void) return kvm_state->debugregs; } +int kvm_has_xsave(void) +{ + return kvm_state->xsave; +} + +int kvm_has_xcrs(void) +{ + return kvm_state->xcrs; +} + void kvm_setup_guest_memory(void *start, size_t size) { if (!kvm_has_sync_mmu()) { -- cgit v1.1