equal
deleted
inserted
replaced
|
1 #ifndef __LINUX_KVM_PARA_H |
|
2 #define __LINUX_KVM_PARA_H |
|
3 |
|
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 |
|
10 */ |
|
11 |
|
12 /* Return values for hypercalls */ |
|
13 #define KVM_ENOSYS 1000 |
|
14 #define KVM_EFAULT EFAULT |
|
15 #define KVM_E2BIG E2BIG |
|
16 |
|
17 #define KVM_HC_VAPIC_POLL_IRQ 1 |
|
18 #define KVM_HC_MMU_OP 2 |
|
19 |
|
20 /* |
|
21 * hypercalls use architecture specific |
|
22 */ |
|
23 #include <asm/kvm_para.h> |
|
24 |
|
25 #ifdef __KERNEL__ |
|
26 #ifdef CONFIG_KVM_GUEST |
|
27 void __init kvm_guest_init(void); |
|
28 #else |
|
29 #define kvm_guest_init() do { } while (0) |
|
30 #endif |
|
31 |
|
32 static inline int kvm_para_has_feature(unsigned int feature) |
|
33 { |
|
34 if (kvm_arch_para_features() & (1UL << feature)) |
|
35 return 1; |
|
36 return 0; |
|
37 } |
|
38 #endif /* __KERNEL__ */ |
|
39 #endif /* __LINUX_KVM_PARA_H */ |
|
40 |