On Mon, 25 Mar 2019, Zhao, Yakui wrote:
+/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _ASM_X86_ACRNHYPER_H
+#define _ASM_X86_ACRNHYPER_H
+
+#include <linux/types.h>
+#include <asm/io.h>
+
+#ifdef CONFIG_ACRN
+/* ACRN Hypervisor callback */
+void acrn_hv_callback_vector(void);
What declares acrn_hv_vector_handler() ?
Acrn_hv_callback_vector is defined in arch/x86/entry/entry_64.S, which will be used as
the parameter of alloc_intr_gate
Acrn_hv_vector_handler is the real ISR handler, which is defined in acrn.c.
I know how that works and I was not asking where stuff is defined. I was
asking where it is declared. Global functions need a declaration in a
header file.
+void acrn_remove_intr_irq(void)
+{
+ acrn_intr_handler = NULL;
+}
+EXPORT_SYMBOL(acrn_remove_intr_irq);
Where is the code which uses these exports? We are not adding exports just
because or for consumption by out of tree modules.
Understand it.
Is it reasonable that the above two functions are added in the driver patch set?
Yes, because then we see the context.
Thanks,
tglx