xref: /openbmc/linux/include/uapi/linux/kvm_para.h (revision f85f6e7b)
16f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2607ca46eSDavid Howells #ifndef _UAPI__LINUX_KVM_PARA_H
3607ca46eSDavid Howells #define _UAPI__LINUX_KVM_PARA_H
4607ca46eSDavid Howells 
5607ca46eSDavid Howells /*
6607ca46eSDavid Howells  * This header file provides a method for making a hypercall to the host
7607ca46eSDavid Howells  * Architectures should define:
8607ca46eSDavid Howells  * - kvm_hypercall0, kvm_hypercall1...
9607ca46eSDavid Howells  * - kvm_arch_para_features
10607ca46eSDavid Howells  * - kvm_para_available
11607ca46eSDavid Howells  */
12607ca46eSDavid Howells 
13607ca46eSDavid Howells /* Return values for hypercalls */
14607ca46eSDavid Howells #define KVM_ENOSYS		1000
15607ca46eSDavid Howells #define KVM_EFAULT		EFAULT
164180bf1bSWanpeng Li #define KVM_EINVAL		EINVAL
17607ca46eSDavid Howells #define KVM_E2BIG		E2BIG
18607ca46eSDavid Howells #define KVM_EPERM		EPERM
1955dd00a7SMarcelo Tosatti #define KVM_EOPNOTSUPP		95
20607ca46eSDavid Howells 
21607ca46eSDavid Howells #define KVM_HC_VAPIC_POLL_IRQ		1
22607ca46eSDavid Howells #define KVM_HC_MMU_OP			2
23607ca46eSDavid Howells #define KVM_HC_FEATURES			3
24607ca46eSDavid Howells #define KVM_HC_PPC_MAP_MAGIC_PAGE	4
253a3bb00dSRaghavendra K T #define KVM_HC_KICK_CPU			5
2690dfdc7cSDavid Daney #define KVM_HC_MIPS_GET_CLOCK_FREQ	6
2790dfdc7cSDavid Daney #define KVM_HC_MIPS_EXIT_VM		7
2890dfdc7cSDavid Daney #define KVM_HC_MIPS_CONSOLE_OUTPUT	8
2955dd00a7SMarcelo Tosatti #define KVM_HC_CLOCK_PAIRING		9
30aaffcfd1SWanpeng Li #define KVM_HC_SEND_IPI		10
31f85f6e7bSWanpeng Li #define KVM_HC_SCHED_YIELD		11
32607ca46eSDavid Howells 
33607ca46eSDavid Howells /*
34607ca46eSDavid Howells  * hypercalls use architecture specific
35607ca46eSDavid Howells  */
36607ca46eSDavid Howells #include <asm/kvm_para.h>
37607ca46eSDavid Howells 
38607ca46eSDavid Howells #endif /* _UAPI__LINUX_KVM_PARA_H */
39