kvm_para.h 809 字节
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
16
#define KVM_EPERM		EPERM
I
Ingo Molnar 已提交
17

18 19
#define KVM_HC_VAPIC_POLL_IRQ		1
#define KVM_HC_MMU_OP			2
20
#define KVM_HC_FEATURES			3
A
Alexander Graf 已提交
21
#define KVM_HC_PPC_MAP_MAGIC_PAGE	4
A
Avi Kivity 已提交
22

23 24
/*
 * hypercalls use architecture specific
25
 */
26
#include <asm/kvm_para.h>
27

28
#ifdef __KERNEL__
29

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