Merge tag 'for-linus-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml
[linux-2.6-microblaze.git] / include / uapi / linux / kvm_para.h
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef _UAPI__LINUX_KVM_PARA_H
3 #define _UAPI__LINUX_KVM_PARA_H
4
5 /*
6  * This header file provides a method for making a hypercall to the host
7  * Architectures should define:
8  * - kvm_hypercall0, kvm_hypercall1...
9  * - kvm_arch_para_features
10  * - kvm_para_available
11  */
12
13 /* Return values for hypercalls */
14 #define KVM_ENOSYS              1000
15 #define KVM_EFAULT              EFAULT
16 #define KVM_EINVAL              EINVAL
17 #define KVM_E2BIG               E2BIG
18 #define KVM_EPERM               EPERM
19 #define KVM_EOPNOTSUPP          95
20
21 #define KVM_HC_VAPIC_POLL_IRQ           1
22 #define KVM_HC_MMU_OP                   2
23 #define KVM_HC_FEATURES                 3
24 #define KVM_HC_PPC_MAP_MAGIC_PAGE       4
25 #define KVM_HC_KICK_CPU                 5
26 #define KVM_HC_MIPS_GET_CLOCK_FREQ      6
27 #define KVM_HC_MIPS_EXIT_VM             7
28 #define KVM_HC_MIPS_CONSOLE_OUTPUT      8
29 #define KVM_HC_CLOCK_PAIRING            9
30 #define KVM_HC_SEND_IPI         10
31 #define KVM_HC_SCHED_YIELD              11
32 #define KVM_HC_MAP_GPA_RANGE            12
33
34 /*
35  * hypercalls use architecture specific
36  */
37 #include <asm/kvm_para.h>
38
39 #endif /* _UAPI__LINUX_KVM_PARA_H */