1*aa274c33SPaolo Bonzini /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2*aa274c33SPaolo Bonzini #ifndef __LINUX_KVM_PARA_H 3*aa274c33SPaolo Bonzini #define __LINUX_KVM_PARA_H 4*aa274c33SPaolo Bonzini 5*aa274c33SPaolo Bonzini /* 6*aa274c33SPaolo Bonzini * This header file provides a method for making a hypercall to the host 7*aa274c33SPaolo Bonzini * Architectures should define: 8*aa274c33SPaolo Bonzini * - kvm_hypercall0, kvm_hypercall1... 9*aa274c33SPaolo Bonzini * - kvm_arch_para_features 10*aa274c33SPaolo Bonzini * - kvm_para_available 11*aa274c33SPaolo Bonzini */ 12*aa274c33SPaolo Bonzini 13*aa274c33SPaolo Bonzini /* Return values for hypercalls */ 14*aa274c33SPaolo Bonzini #define KVM_ENOSYS 1000 15*aa274c33SPaolo Bonzini #define KVM_EFAULT EFAULT 16*aa274c33SPaolo Bonzini #define KVM_EINVAL EINVAL 17*aa274c33SPaolo Bonzini #define KVM_E2BIG E2BIG 18*aa274c33SPaolo Bonzini #define KVM_EPERM EPERM 19*aa274c33SPaolo Bonzini #define KVM_EOPNOTSUPP 95 20*aa274c33SPaolo Bonzini 21*aa274c33SPaolo Bonzini #define KVM_HC_VAPIC_POLL_IRQ 1 22*aa274c33SPaolo Bonzini #define KVM_HC_MMU_OP 2 23*aa274c33SPaolo Bonzini #define KVM_HC_FEATURES 3 24*aa274c33SPaolo Bonzini #define KVM_HC_PPC_MAP_MAGIC_PAGE 4 25*aa274c33SPaolo Bonzini #define KVM_HC_KICK_CPU 5 26*aa274c33SPaolo Bonzini #define KVM_HC_MIPS_GET_CLOCK_FREQ 6 27*aa274c33SPaolo Bonzini #define KVM_HC_MIPS_EXIT_VM 7 28*aa274c33SPaolo Bonzini #define KVM_HC_MIPS_CONSOLE_OUTPUT 8 29*aa274c33SPaolo Bonzini #define KVM_HC_CLOCK_PAIRING 9 30*aa274c33SPaolo Bonzini #define KVM_HC_SEND_IPI 10 31*aa274c33SPaolo Bonzini #define KVM_HC_SCHED_YIELD 11 32*aa274c33SPaolo Bonzini #define KVM_HC_MAP_GPA_RANGE 12 33*aa274c33SPaolo Bonzini 34*aa274c33SPaolo Bonzini /* 35*aa274c33SPaolo Bonzini * hypercalls use architecture specific 36*aa274c33SPaolo Bonzini */ 37*aa274c33SPaolo Bonzini 38*aa274c33SPaolo Bonzini #endif /* __LINUX_KVM_PARA_H */ 39