]>
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 | |
2f333bcb MT |
14 | #define KVM_EFAULT EFAULT |
15 | #define KVM_E2BIG E2BIG | |
07708c4a | 16 | #define KVM_EPERM EPERM |
102d8325 | 17 | |
2f333bcb MT |
18 | #define KVM_HC_VAPIC_POLL_IRQ 1 |
19 | #define KVM_HC_MMU_OP 2 | |
2a342ed5 | 20 | #define KVM_HC_FEATURES 3 |
beb03f14 | 21 | #define KVM_HC_PPC_MAP_MAGIC_PAGE 4 |
b93463aa | 22 | |
5f43238d CB |
23 | /* |
24 | * hypercalls use architecture specific | |
c21415e8 | 25 | */ |
5f43238d | 26 | #include <asm/kvm_para.h> |
7aa81cc0 | 27 | |
a03d7f4b | 28 | #ifdef __KERNEL__ |
0cf1bfd2 | 29 | |
7aa81cc0 AL |
30 | static inline int kvm_para_has_feature(unsigned int feature) |
31 | { | |
5f43238d | 32 | if (kvm_arch_para_features() & (1UL << feature)) |
7aa81cc0 AL |
33 | return 1; |
34 | return 0; | |
35 | } | |
5f43238d CB |
36 | #endif /* __KERNEL__ */ |
37 | #endif /* __LINUX_KVM_PARA_H */ |