forked from Minki/linux
b4370df2b1
Full kernel hang is observed when kdump kernel starts after a crash. This hang happens in vmbus_negotiate_version() function on wait_for_completion() as Hyper-V host (Win2012R2 in my testing) never responds to CHANNELMSG_INITIATE_CONTACT as it thinks the connection is already established. We need to perform some mandatory minimalistic cleanup before we start new kernel. Reported-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
28 lines
684 B
C
28 lines
684 B
C
#ifndef _ASM_X86_MSHYPER_H
|
|
#define _ASM_X86_MSHYPER_H
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/interrupt.h>
|
|
#include <asm/hyperv.h>
|
|
|
|
struct ms_hyperv_info {
|
|
u32 features;
|
|
u32 hints;
|
|
};
|
|
|
|
extern struct ms_hyperv_info ms_hyperv;
|
|
|
|
void hyperv_callback_vector(void);
|
|
#ifdef CONFIG_TRACING
|
|
#define trace_hyperv_callback_vector hyperv_callback_vector
|
|
#endif
|
|
void hyperv_vector_handler(struct pt_regs *regs);
|
|
void hv_setup_vmbus_irq(void (*handler)(void));
|
|
void hv_remove_vmbus_irq(void);
|
|
|
|
void hv_setup_kexec_handler(void (*handler)(void));
|
|
void hv_remove_kexec_handler(void);
|
|
void hv_setup_crash_handler(void (*handler)(struct pt_regs *regs));
|
|
void hv_remove_crash_handler(void);
|
|
#endif
|