mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 13:05:10 +07:00
aaffcfd1e8
Implement paravirtual apic hooks to enable PV IPIs for KVM if the "send IPI" hypercall is available. The hypercall lets a guest send IPIs, with at most 128 destinations per hypercall in 64-bit mode and 64 vCPUs per hypercall in 32-bit mode. Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Radim Krčmář <rkrcmar@redhat.com> Cc: Vitaly Kuznetsov <vkuznets@redhat.com> Signed-off-by: Wanpeng Li <wanpengli@tencent.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
38 lines
952 B
C
38 lines
952 B
C
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
#ifndef _UAPI__LINUX_KVM_PARA_H
|
|
#define _UAPI__LINUX_KVM_PARA_H
|
|
|
|
/*
|
|
* 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
|
|
*/
|
|
|
|
/* Return values for hypercalls */
|
|
#define KVM_ENOSYS 1000
|
|
#define KVM_EFAULT EFAULT
|
|
#define KVM_EINVAL EINVAL
|
|
#define KVM_E2BIG E2BIG
|
|
#define KVM_EPERM EPERM
|
|
#define KVM_EOPNOTSUPP 95
|
|
|
|
#define KVM_HC_VAPIC_POLL_IRQ 1
|
|
#define KVM_HC_MMU_OP 2
|
|
#define KVM_HC_FEATURES 3
|
|
#define KVM_HC_PPC_MAP_MAGIC_PAGE 4
|
|
#define KVM_HC_KICK_CPU 5
|
|
#define KVM_HC_MIPS_GET_CLOCK_FREQ 6
|
|
#define KVM_HC_MIPS_EXIT_VM 7
|
|
#define KVM_HC_MIPS_CONSOLE_OUTPUT 8
|
|
#define KVM_HC_CLOCK_PAIRING 9
|
|
#define KVM_HC_SEND_IPI 10
|
|
|
|
/*
|
|
* hypercalls use architecture specific
|
|
*/
|
|
#include <asm/kvm_para.h>
|
|
|
|
#endif /* _UAPI__LINUX_KVM_PARA_H */
|