kvm_para.h 833 字节
Newer Older
I
Ingo Molnar 已提交
1 2 3
#ifndef __LINUX_KVM_PARA_H
#define __LINUX_KVM_PARA_H

4 5 6 7 8 9
/*
 * This header file provides a method for making a hypercall to the host
 * Architectures should define:
 * - kvm_hypercall0, kvm_hypercall1...
 * - kvm_arch_para_features
 * - kvm_para_available
I
Ingo Molnar 已提交
10 11
 */

12 13
/* Return values for hypercalls */
#define KVM_ENOSYS		1000
14 15
#define KVM_EFAULT		EFAULT
#define KVM_E2BIG		E2BIG
I
Ingo Molnar 已提交
16

17 18
#define KVM_HC_VAPIC_POLL_IRQ		1
#define KVM_HC_MMU_OP			2
A
Avi Kivity 已提交
19

20 21
/*
 * hypercalls use architecture specific
22
 */
23
#include <asm/kvm_para.h>
24

25
#ifdef __KERNEL__
26 27 28 29 30 31
#ifdef CONFIG_KVM_GUEST
void __init kvm_guest_init(void);
#else
#define kvm_guest_init() do { } while (0)
#endif

32 33
static inline int kvm_para_has_feature(unsigned int feature)
{
34
	if (kvm_arch_para_features() & (1UL << feature))
35 36 37
		return 1;
	return 0;
}
38 39
#endif /* __KERNEL__ */
#endif /* __LINUX_KVM_PARA_H */
40