summaryrefslogtreecommitdiff
path: root/arch/x86/xen/xen-ops.h
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2020-05-21 23:05:26 +0300
committerThomas Gleixner <tglx@linutronix.de>2020-06-11 16:15:08 +0300
commit2f6474e4636bcc68af6c44abb2703f12d7f083da (patch)
tree317a6b92fc169077e1eb9c3d7a10e3c62869109d /arch/x86/xen/xen-ops.h
parent1de16e0c17155d138282f3a9f65914a9a5da757e (diff)
downloadlinux-2f6474e4636bcc68af6c44abb2703f12d7f083da.tar.xz
x86/entry: Switch XEN/PV hypercall entry to IDTENTRY
Convert the XEN/PV hypercall to IDTENTRY: - Emit the ASM stub with DECLARE_IDTENTRY - Remove the ASM idtentry in 64-bit - Remove the open coded ASM entry code in 32-bit - Remove the old prototypes The handler stubs need to stay in ASM code as they need corner case handling and adjustment of the stack pointer. Provide a new C function which invokes the entry/exit handling and calls into the XEN handler on the interrupt stack if required. The exit code is slightly different from the regular idtentry_exit() on non-preemptible kernels. If the hypercall is preemptible and need_resched() is set then XEN provides a preempt hypercall scheduling function. Move this functionality into the entry code so it can use the existing idtentry functionality. [ mingo: Build fixes. ] Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@kernel.org> Acked-by: Andy Lutomirski <luto@kernel.org> Acked-by: Juergen Gross <jgross@suse.com> Tested-by: Juergen Gross <jgross@suse.com> Link: https://lore.kernel.org/r/20200521202118.055270078@linutronix.de
Diffstat (limited to 'arch/x86/xen/xen-ops.h')
-rw-r--r--arch/x86/xen/xen-ops.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index 1cc1568bfe04..ad05d0589381 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -8,7 +8,6 @@
#include <xen/xen-ops.h>
/* These are code, but not functions. Defined in entry.S */
-extern const char xen_hypervisor_callback[];
extern const char xen_failsafe_callback[];
void xen_sysenter_target(void);