summaryrefslogtreecommitdiff
path: root/debian/patches/sysenter0006-optimize.patch
blob: afdac79b308855950f9f8f9d3fcba2ceec6fc4d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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