As part of the effort to separate out architecture specific code, move the definition of hv_x64_msr_hypercall_contents to x86 specific header file. Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
41 lines
931 B
C
41 lines
931 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 misc_features;
|
|
u32 hints;
|
|
};
|
|
|
|
extern struct ms_hyperv_info ms_hyperv;
|
|
|
|
/*
|
|
* Declare the MSR used to setup pages used to communicate with the hypervisor.
|
|
*/
|
|
union hv_x64_msr_hypercall_contents {
|
|
u64 as_uint64;
|
|
struct {
|
|
u64 enable:1;
|
|
u64 reserved:11;
|
|
u64 guest_physical_address:52;
|
|
};
|
|
};
|
|
|
|
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
|