summaryrefslogtreecommitdiff
path: root/debian/patches/sysenter0008-document-check-for-sysenter-at-the-right-location.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/sysenter0008-document-check-for-sysenter-at-the-right-location.patch')
-rw-r--r--debian/patches/sysenter0008-document-check-for-sysenter-at-the-right-location.patch71
1 files changed, 0 insertions, 71 deletions
diff --git a/debian/patches/sysenter0008-document-check-for-sysenter-at-the-right-location.patch b/debian/patches/sysenter0008-document-check-for-sysenter-at-the-right-location.patch
deleted file mode 100644
index 8386235..0000000
--- a/debian/patches/sysenter0008-document-check-for-sysenter-at-the-right-location.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 2a53b2da8c31676ddf53564ac95a01fcb78f2d20 Mon Sep 17 00:00:00 2001
-From: Justus Winter <4winter@informatik.uni-hamburg.de>
-Date: Tue, 5 May 2015 20:34:50 +0200
-Subject: [PATCH gnumach 08/10] document, check for sysenter at the right
- location
-
----
- i386/i386/locore.S | 19 ++++++++++---------
- 1 file changed, 10 insertions(+), 9 deletions(-)
-
-diff --git a/i386/i386/locore.S b/i386/i386/locore.S
-index 4c2a253..8b4d766 100644
---- a/i386/i386/locore.S
-+++ b/i386/i386/locore.S
-@@ -521,6 +521,9 @@ _return_to_user:
- */
-
- _return_from_kernel:
-+ cmpl $0x7fffffff, R_TRAPNO(%esp) /* YYY */
-+ je return_from_sysenter
-+
- _kret_popl_gs:
- popl %gs /* restore segment registers */
- _kret_popl_fs:
-@@ -592,8 +595,6 @@ ENTRY(thread_syscall_return)
- or $(KERNEL_STACK_SIZE-1),%ecx
- movl -3-IKS_SIZE(%ecx),%esp /* switch back to PCB stack */
- movl %eax,R_EAX(%esp) /* save return value */
-- cmpl $0x7fffffff, R_TRAPNO(%esp) /* YYY */
-- je return_from_sysenter
- jmp _return_from_trap
-
- ENTRY(call_continuation)
-@@ -1231,6 +1232,7 @@ user_sysenter_stub_end:
- * Control enters at `sysenter_entry' with %esp pointing to the
- * per-cpu sysenter stack. We store all arguments here. We keep %ebp
- * pointing to the top of this structure to copy the arguments.
-+
- *
- * sysenter stack layout:
- *
-@@ -1291,11 +1293,10 @@ ENTRY(sysenter_entry)
-
- /* Populate trap save area. */
- pushl $0x7fffffff /* trap number */
-- pushl $0x12345678 /* unused */
-- pushl SE_STACK_POINTER(%ebp) /* ecx */
-- pushl SE_RETURN_ADDRESS(%ebp) /* edx */
-- subl $(5 * 4), %esp /* Unused. We save the
-- arguments in userspace. */
-+ pushl %eax /* %eax: unused */
-+ pushl SE_STACK_POINTER(%ebp) /* %ecx: for sysexit */
-+ pushl SE_RETURN_ADDRESS(%ebp) /* %edx: for sysexit */
-+ subl $(5 * 4), %esp /* unused */
- pushl SE_DS(%ebp) /* copy the segment registers */
- pushl SE_ES(%ebp)
- pushl SE_FS(%ebp)
-@@ -1363,8 +1364,8 @@ se_args_0:
- movl %ebx, %esp /* clean parameters from stack */
- popl %esp /* switch to pcb stack */
- movl %eax, R_EAX(%esp) /* save return value */
--return_from_sysenter:
-- /* xxx: process ast */
-+ jmp _return_from_trap /* check for AST, then... */
-+return_from_sysenter: /* return here */
- popl %gs /* restore segment registers */
- popl %fs
- popl %es
---
-2.1.4
-