at cba767175becadc5c4016cceb7bfdd2c7fe722f4 40 lines 833 B view raw
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 27void __init kvm_guest_init(void); 28#else 29#define kvm_guest_init() do { } while (0) 30#endif 31 32static 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