mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 17:30:02 +00:00
![Juergen Gross](/assets/img/avatar_default.png)
When running as Xen pv-guest the exception frame on the stack contains %r11 and %rcx additional to the other data pushed by the processor. Instead of having a paravirt op being called for each exception type prepend the Xen specific code to each exception entry. When running as Xen pv-guest just use the exception entry with prepended instructions, otherwise use the entry without the Xen specific code. [ tglx: Merged through tip to avoid ugly merge conflict ] Signed-off-by: Juergen Gross <jgross@suse.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: xen-devel@lists.xenproject.org Cc: boris.ostrovsky@oracle.com Cc: luto@amacapital.net Link: http://lkml.kernel.org/r/20170831174249.26853-1-jg@pfupf.net
40 lines
943 B
C
40 lines
943 B
C
#ifndef _ASM_X86_PROTO_H
|
|
#define _ASM_X86_PROTO_H
|
|
|
|
#include <asm/ldt.h>
|
|
|
|
/* misc architecture specific prototypes */
|
|
|
|
void syscall_init(void);
|
|
|
|
#ifdef CONFIG_X86_64
|
|
void entry_SYSCALL_64(void);
|
|
long do_arch_prctl_64(struct task_struct *task, int option, unsigned long arg2);
|
|
#endif
|
|
|
|
#ifdef CONFIG_X86_32
|
|
void entry_INT80_32(void);
|
|
void entry_SYSENTER_32(void);
|
|
void __begin_SYSENTER_singlestep_region(void);
|
|
void __end_SYSENTER_singlestep_region(void);
|
|
#endif
|
|
|
|
#ifdef CONFIG_IA32_EMULATION
|
|
void entry_SYSENTER_compat(void);
|
|
void __end_entry_SYSENTER_compat(void);
|
|
void entry_SYSCALL_compat(void);
|
|
void entry_INT80_compat(void);
|
|
#if defined(CONFIG_X86_64) && defined(CONFIG_XEN_PV)
|
|
void xen_entry_INT80_compat(void);
|
|
#endif
|
|
#endif
|
|
|
|
void x86_configure_nx(void);
|
|
void x86_report_nx(void);
|
|
|
|
extern int reboot_force;
|
|
|
|
long do_arch_prctl_common(struct task_struct *task, int option,
|
|
unsigned long cpuid_enabled);
|
|
|
|
#endif /* _ASM_X86_PROTO_H */
|