| /* |
| * QEMU Hyper-V support |
| * |
| * Copyright Red Hat, Inc. 2011 |
| * |
| * Author: Vadim Rozenfeld <vrozenfe@redhat.com> |
| * |
| * 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 <asm/hyperv.h> |
| #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 */ |