blob: 3f1be85a83bcf94424d7957c651f217c4ef47433 [file] [log] [blame]
Alexander Grafde9ba2f2013-04-16 17:42:19 +02001#ifndef __IRQ_H
2#define __IRQ_H
3
4#include <linux/kvm_host.h>
5
6static inline int irqchip_in_kernel(struct kvm *kvm)
7{
8 int ret = 0;
9
10#ifdef CONFIG_KVM_MPIC
11 ret = ret || (kvm->arch.mpic != NULL);
12#endif
Paul Mackerras5975a2e2013-04-27 00:28:37 +000013#ifdef CONFIG_KVM_XICS
14 ret = ret || (kvm->arch.xics != NULL);
Benjamin Herrenschmidt5af50992017-04-05 17:54:56 +100015 ret = ret || (kvm->arch.xive != NULL);
Paul Mackerras5975a2e2013-04-27 00:28:37 +000016#endif
Alexander Grafde9ba2f2013-04-16 17:42:19 +020017 smp_rmb();
18 return ret;
19}
20
21#endif