summaryrefslogtreecommitdiff
path: root/debian/patches/sysenter0006-optimize.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/sysenter0006-optimize.patch')
-rw-r--r--debian/patches/sysenter0006-optimize.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/debian/patches/sysenter0006-optimize.patch b/debian/patches/sysenter0006-optimize.patch
new file mode 100644
index 0000000..afdac79
--- /dev/null
+++ b/debian/patches/sysenter0006-optimize.patch
@@ -0,0 +1,31 @@
+From 936cfa5a59ef5e9b1c58ab3d06626ba791b17be7 Mon Sep 17 00:00:00 2001
+From: Justus Winter <4winter@informatik.uni-hamburg.de>
+Date: Mon, 4 May 2015 02:14:49 +0200
+Subject: [PATCH gnumach 06/10] optimize
+
+---
+ i386/i386/locore.S | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/i386/i386/locore.S b/i386/i386/locore.S
+index ed51cb8..99fbfb6 100644
+--- a/i386/i386/locore.S
++++ b/i386/i386/locore.S
+@@ -1279,11 +1279,10 @@ ENTRY(sysenter_entry)
+ movl %ebx, %ecx
+ or $(KERNEL_STACK_SIZE-1),%ecx
+ movl -3-IKS_SIZE(%ecx), %esp /* switch to PCB stack */
+- addl $(ISS_SIZE - 16), %esp /* point to top of structure */ //XXX: magic 16 b/c of vm86
++ addl $(ISS_SIZE - 16 /* vm86 */ - 6 * 4 /* unused */), %esp
++ /* point to trap number */
+
+- /* Create trap save area. */
+- subl $(6 * 4), %esp /* Unused. We save the
+- arguments in userspace. */
++ /* Populate trap save area. */
+ pushl $0x7fffffff /* trap number */
+ pushl $0x12345678 /* unused */
+ pushl SE_STACK_POINTER(%ebp) /* ecx */
+--
+2.1.4
+