1e08cae41SH. Peter Anvin #ifndef _ASM_X86_MSHYPER_H 2e08cae41SH. Peter Anvin #define _ASM_X86_MSHYPER_H 3a2a47c6cSKy Srinivasan 4e08cae41SH. Peter Anvin #include <linux/types.h> 51aec1696SThomas Gleixner #include <linux/interrupt.h> 6e08cae41SH. Peter Anvin #include <asm/hyperv.h> 7e08cae41SH. Peter Anvin 8e08cae41SH. Peter Anvin struct ms_hyperv_info { 9e08cae41SH. Peter Anvin u32 features; 10e08cae41SH. Peter Anvin u32 hints; 11e08cae41SH. Peter Anvin }; 12e08cae41SH. Peter Anvin 13e08cae41SH. Peter Anvin extern struct ms_hyperv_info ms_hyperv; 14a2a47c6cSKy Srinivasan 15bc2b0331SK. Y. Srinivasan void hyperv_callback_vector(void); 16cf910e83SSeiji Aguchi #ifdef CONFIG_TRACING 17cf910e83SSeiji Aguchi #define trace_hyperv_callback_vector hyperv_callback_vector 18cf910e83SSeiji Aguchi #endif 19bc2b0331SK. Y. Srinivasan void hyperv_vector_handler(struct pt_regs *regs); 20*76d388cdSThomas Gleixner void hv_setup_vmbus_irq(void (*handler)(void)); 21*76d388cdSThomas Gleixner void hv_remove_vmbus_irq(void); 22bc2b0331SK. Y. Srinivasan 23a2a47c6cSKy Srinivasan #endif 24