diff --git a/user/kvmctl.c b/user/kvmctl.c
index 8fdca1d..50f5021 100644
--- a/user/kvmctl.c
+++ b/user/kvmctl.c
@@ -1101,3 +1101,8 @@ int kvm_set_signal_mask(kvm_context_t kvm, int vcpu, const sigset_t *sigset)
 	free(sigmask);
 	return r;
 }
+
+int kvm_irqchip_in_kernel(kvm_context_t kvm)
+{
+    return kvm->irqchip_in_kernel;
+}
diff --git a/user/kvmctl.h b/user/kvmctl.h
index 2d32edc..0c65f4e 100644
--- a/user/kvmctl.h
+++ b/user/kvmctl.h
@@ -414,4 +414,11 @@ int kvm_dirty_pages_log_enable_all(kvm_context_t kvm);
  */
 int kvm_dirty_pages_log_reset(kvm_context_t kvm);
 
+/*!
+ * \brief Query whether in kernel irqchip is used
+ *
+ * \param kvm Pointer to the current kvm_context
+ */
+int kvm_irqchip_in_kernel(kvm_context_t kvm);
+
 #endif
