/* * QEMU Hyper-V support * * Copyright Red Hat, Inc. 2011 * * Author: Vadim Rozenfeld * * This work is licensed under the terms of the GNU GPL, version 2 or later. * See the COPYING file in the top-level directory. * */ #ifndef QEMU_HW_HYPERV_H #define QEMU_HW_HYPERV_H 1 #include "qemu-common.h" #ifdef CONFIG_KVM #include #endif #ifndef HYPERV_SPINLOCK_NEVER_RETRY #define HYPERV_SPINLOCK_NEVER_RETRY 0xFFFFFFFF #endif #ifndef KVM_CPUID_SIGNATURE_NEXT #define KVM_CPUID_SIGNATURE_NEXT 0x40000100 #endif #if !defined(CONFIG_USER_ONLY) && defined(CONFIG_KVM) void hyperv_enable_vapic_recommended(bool val); void hyperv_enable_relaxed_timing(bool val); void hyperv_set_spinlock_retries(int val); #else static inline void hyperv_enable_vapic_recommended(bool val) { } static inline void hyperv_enable_relaxed_timing(bool val) { } static inline void hyperv_set_spinlock_retries(int val) { } #endif bool hyperv_enabled(void); bool hyperv_hypercall_available(void); bool hyperv_vapic_recommended(void); bool hyperv_relaxed_timing_enabled(void); int hyperv_get_spinlock_retries(void); #endif /* QEMU_HW_HYPERV_H */