Statistics
| Branch: | Revision:

root / target-i386 / hyperv.h @ 371c6489

History | View | Annotate | Download (1.2 kB)

1 28f52cc0 Vadim Rozenfeld
/*
2 28f52cc0 Vadim Rozenfeld
 * QEMU Hyper-V support
3 28f52cc0 Vadim Rozenfeld
 *
4 28f52cc0 Vadim Rozenfeld
 * Copyright Red Hat, Inc. 2011
5 28f52cc0 Vadim Rozenfeld
 *
6 28f52cc0 Vadim Rozenfeld
 * Author: Vadim Rozenfeld     <vrozenfe@redhat.com>
7 28f52cc0 Vadim Rozenfeld
 *
8 28f52cc0 Vadim Rozenfeld
 * This work is licensed under the terms of the GNU GPL, version 2 or later.
9 28f52cc0 Vadim Rozenfeld
 * See the COPYING file in the top-level directory.
10 28f52cc0 Vadim Rozenfeld
 *
11 28f52cc0 Vadim Rozenfeld
 */
12 28f52cc0 Vadim Rozenfeld
13 28f52cc0 Vadim Rozenfeld
#ifndef QEMU_HW_HYPERV_H
14 28f52cc0 Vadim Rozenfeld
#define QEMU_HW_HYPERV_H 1
15 28f52cc0 Vadim Rozenfeld
16 28f52cc0 Vadim Rozenfeld
#include "qemu-common.h"
17 61eb1f38 Blue Swirl
#ifdef CONFIG_KVM
18 28f52cc0 Vadim Rozenfeld
#include <asm/hyperv.h>
19 61eb1f38 Blue Swirl
#endif
20 28f52cc0 Vadim Rozenfeld
21 28f52cc0 Vadim Rozenfeld
#ifndef HYPERV_SPINLOCK_NEVER_RETRY
22 28f52cc0 Vadim Rozenfeld
#define HYPERV_SPINLOCK_NEVER_RETRY             0xFFFFFFFF
23 28f52cc0 Vadim Rozenfeld
#endif
24 28f52cc0 Vadim Rozenfeld
25 28f52cc0 Vadim Rozenfeld
#ifndef KVM_CPUID_SIGNATURE_NEXT
26 28f52cc0 Vadim Rozenfeld
#define KVM_CPUID_SIGNATURE_NEXT                0x40000100
27 28f52cc0 Vadim Rozenfeld
#endif
28 28f52cc0 Vadim Rozenfeld
29 61eb1f38 Blue Swirl
#if !defined(CONFIG_USER_ONLY) && defined(CONFIG_KVM)
30 28f52cc0 Vadim Rozenfeld
void hyperv_enable_vapic_recommended(bool val);
31 28f52cc0 Vadim Rozenfeld
void hyperv_enable_relaxed_timing(bool val);
32 28f52cc0 Vadim Rozenfeld
void hyperv_set_spinlock_retries(int val);
33 28f52cc0 Vadim Rozenfeld
#else
34 28f52cc0 Vadim Rozenfeld
static inline void hyperv_enable_vapic_recommended(bool val) { }
35 28f52cc0 Vadim Rozenfeld
static inline void hyperv_enable_relaxed_timing(bool val) { }
36 28f52cc0 Vadim Rozenfeld
static inline void hyperv_set_spinlock_retries(int val) { }
37 28f52cc0 Vadim Rozenfeld
#endif
38 28f52cc0 Vadim Rozenfeld
39 28f52cc0 Vadim Rozenfeld
bool hyperv_enabled(void);
40 28f52cc0 Vadim Rozenfeld
bool hyperv_hypercall_available(void);
41 28f52cc0 Vadim Rozenfeld
bool hyperv_vapic_recommended(void);
42 28f52cc0 Vadim Rozenfeld
bool hyperv_relaxed_timing_enabled(void);
43 28f52cc0 Vadim Rozenfeld
int hyperv_get_spinlock_retries(void);
44 28f52cc0 Vadim Rozenfeld
45 28f52cc0 Vadim Rozenfeld
#endif /* QEMU_HW_HYPERV_H */