Commit | Line | Data |
---|---|---|
102d8325 IM |
1 | #ifndef __LINUX_KVM_PARA_H |
2 | #define __LINUX_KVM_PARA_H | |
3 | ||
5f43238d CB |
4 | /* |
5 | * This header file provides a method for making a hypercall to the host | |
6 | * Architectures should define: | |
7 | * - kvm_hypercall0, kvm_hypercall1... | |
8 | * - kvm_arch_para_features | |
9 | * - kvm_para_available | |
102d8325 | 10 | */ |
102d8325 | 11 | |
7aa81cc0 AL |
12 | /* Return values for hypercalls */ |
13 | #define KVM_ENOSYS 1000 | |
102d8325 | 14 | |
b93463aa AK |
15 | #define KVM_HC_VAPIC_POLL_IRQ 1 |
16 | ||
5f43238d CB |
17 | /* |
18 | * hypercalls use architecture specific | |
c21415e8 | 19 | */ |
5f43238d | 20 | #include <asm/kvm_para.h> |
7aa81cc0 | 21 | |
a03d7f4b | 22 | #ifdef __KERNEL__ |
0cf1bfd2 MT |
23 | #ifdef CONFIG_KVM_GUEST |
24 | void __init kvm_guest_init(void); | |
25 | #else | |
26 | #define kvm_guest_init() do { } while (0) | |
27 | #endif | |
28 | ||
7aa81cc0 AL |
29 | static inline int kvm_para_has_feature(unsigned int feature) |
30 | { | |
5f43238d | 31 | if (kvm_arch_para_features() & (1UL << feature)) |
7aa81cc0 AL |
32 | return 1; |
33 | return 0; | |
34 | } | |
5f43238d CB |
35 | #endif /* __KERNEL__ */ |
36 | #endif /* __LINUX_KVM_PARA_H */ | |
7aa81cc0 | 37 |