RE: [RFC PATCH 2/3] arch/x86/acrn: Use HYPERVISOR_CALLBACK_VECTOR for Acrn upcall vector

From: Thomas Gleixner
Date: Mon Mar 25 2019 - 04:27:49 EST


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