1 #ifndef _ASM_X86_MSHYPER_H 2 #define _ASM_X86_MSHYPER_H 3 4 #include <linux/types.h> 5 #include <linux/interrupt.h> 6 #include <asm/hyperv.h> 7 8 struct ms_hyperv_info { 9 u32 features; 10 u32 misc_features; 11 u32 hints; 12 }; 13 14 extern struct ms_hyperv_info ms_hyperv; 15 16 void hyperv_callback_vector(void); 17 #ifdef CONFIG_TRACING 18 #define trace_hyperv_callback_vector hyperv_callback_vector 19 #endif 20 void hyperv_vector_handler(struct pt_regs *regs); 21 void hv_setup_vmbus_irq(void (*handler)(void)); 22 void hv_remove_vmbus_irq(void); 23 24 void hv_setup_kexec_handler(void (*handler)(void)); 25 void hv_remove_kexec_handler(void); 26 void hv_setup_crash_handler(void (*handler)(struct pt_regs *regs)); 27 void hv_remove_crash_handler(void); 28 #endif 29