#ifndef _E2K_KVM_GUEST_SIGNAL_H_ #define _E2K_KVM_GUEST_SIGNAL_H_ #include #ifndef __ASSEMBLY__ extern int kvm_signal_setup(struct pt_regs *regs); extern int kvm_longjmp_copy_user_to_kernel_hw_stacks(struct pt_regs *regs, struct pt_regs *new_regs); extern int kvm_complete_long_jump(struct pt_regs *regs); #ifdef CONFIG_KVM_GUEST_KERNEL /* it is native paravirtualized guest kernel */ /* or native kernel without virtualization support */ static inline int signal_setup(struct pt_regs *regs) { return kvm_signal_setup(regs); } static inline int longjmp_copy_user_to_kernel_hw_stacks(struct pt_regs *regs, struct pt_regs *new_regs) { return kvm_longjmp_copy_user_to_kernel_hw_stacks(regs, new_regs); } static inline int complete_long_jump(struct pt_regs *regs) { if (likely(IS_HV_GM())) { return native_complete_long_jump(regs); } else { return kvm_complete_long_jump(regs); } } #endif /* CONFIG_KVM_GUEST_KERNEL */ #endif /* !__ASSEMBLY__ */ #endif /* !_E2K_KVM_GUEST_SIGNAL_H_ */