1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef __IRQ_H 3*4882a593Smuzhiyun #define __IRQ_H 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #include <linux/kvm_host.h> 6*4882a593Smuzhiyun irqchip_in_kernel(struct kvm * kvm)7*4882a593Smuzhiyunstatic inline int irqchip_in_kernel(struct kvm *kvm) 8*4882a593Smuzhiyun { 9*4882a593Smuzhiyun int ret = 0; 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #ifdef CONFIG_KVM_MPIC 12*4882a593Smuzhiyun ret = ret || (kvm->arch.mpic != NULL); 13*4882a593Smuzhiyun #endif 14*4882a593Smuzhiyun #ifdef CONFIG_KVM_XICS 15*4882a593Smuzhiyun ret = ret || (kvm->arch.xics != NULL); 16*4882a593Smuzhiyun ret = ret || (kvm->arch.xive != NULL); 17*4882a593Smuzhiyun #endif 18*4882a593Smuzhiyun smp_rmb(); 19*4882a593Smuzhiyun return ret; 20*4882a593Smuzhiyun } 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun #endif 23