Re: [patch V4 part 5 22/31] x86/entry: Convert various hypervisor vectors to IDTENTRY_SYSVEC

Wei Liu
2020-05-06T16:56:58Z

On Tue, May 05, 2020 at 03:54:03PM +0200, Thomas Gleixner wrote:
> From: Thomas Gleixner <tglx@linutronix.de>
>
> Convert various hypervisor vectors to IDTENTRY_SYSVEC
> - Implement the C entry point with DEFINE_IDTENTRY_SYSVEC
> - Emit the ASM stub with DECLARE_IDTENTRY_SYSVEC
> - Remove the ASM idtentries in 64bit
> - Remove the BUILD_INTERRUPT entries in 32bit
> - Remove the old prototypes
>
> No functional change.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: Wei Liu <wei.liu@kernel.org>
> Cc: Michael Kelley <mikelley@microsoft.com>
> Cc: Jason Chen CJ <jason.cj.chen@intel.com>
> Cc: Zhao Yakui <yakui.zhao@intel.com>
>
> ---
> arch/x86/entry/entry_32.S | 14 --------------
> arch/x86/entry/entry_64.S | 17 -----------------
> arch/x86/hyperv/hv_init.c | 9 +++------
> arch/x86/include/asm/acrn.h | 11 -----------
> arch/x86/include/asm/apic.h | 20 --------------------
> arch/x86/include/asm/idtentry.h | 10 ++++++++++
> arch/x86/include/asm/mshyperv.h | 13 -------------
> arch/x86/kernel/cpu/acrn.c | 9 ++++-----
> arch/x86/kernel/cpu/mshyperv.c | 22 ++++++++++------------
> 9 files changed, 27 insertions(+), 98 deletions(-)
>
> --- a/arch/x86/entry/entry_32.S
> +++ b/arch/x86/entry/entry_32.S
> @@ -1342,20 +1342,6 @@ BUILD_INTERRUPT3(xen_hvm_callback_vector
> xen_evtchn_do_upcall)
> #endif
>

You seem to have missed the Xen entry.

> -
> -#if IS_ENABLED(CONFIG_HYPERV)
> -
> -BUILD_INTERRUPT3(hyperv_callback_vector, HYPERVISOR_CALLBACK_VECTOR,
> - hyperv_vector_handler)
> -
> -BUILD_INTERRUPT3(hyperv_reenlightenment_vector, HYPERV_REENLIGHTENMENT_VECTOR,
> - hyperv_reenlightenment_intr)
> -
> -BUILD_INTERRUPT3(hv_stimer0_callback_vector, HYPERV_STIMER0_VECTOR,
> - hv_stimer0_vector_handler)
> -
> -#endif /* CONFIG_HYPERV */
> -
> SYM_CODE_START_LOCAL_NOALIGN(handle_exception)
> /* the function address is in %gs's slot on the stack */
> SAVE_ALL switch_stacks=1 skip_gs=1 unwind_espfix=1
> --- a/arch/x86/entry/entry_64.S
> +++ b/arch/x86/entry/entry_64.S
> @@ -1078,23 +1078,6 @@ apicinterrupt3 HYPERVISOR_CALLBACK_VECTO
> xen_hvm_callback_vector xen_evtchn_do_upcall
> #endif
>

Ditto.

Wei.