Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Apr 2003 23:17:06 -0700 (PDT)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 29674 for review
Message-ID:  <200304250617.h3P6H6ja059218@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=29674

Change 29674 by peter@peter_daintree on 2003/04/24 23:16:34

	Shuffle the movq's around to match the trapframe and so that
	it accesses memory in increasing memory order.  This should take
	advantage of any memory burst modes etc.

Affected files ...

.. //depot/projects/hammer/sys/x86_64/isa/icu_vector.s#10 edit
.. //depot/projects/hammer/sys/x86_64/x86_64/exception.s#22 edit

Differences ...

==== //depot/projects/hammer/sys/x86_64/isa/icu_vector.s#10 (text+ko) ====

@@ -25,15 +25,15 @@
 	SUPERALIGN_TEXT ;						\
 IDTVEC(vec_name) ;							\
 	subq	$TF_RIP,%rsp ;	/* skip dummy tf_err and tf_trapno */	\
+	movq	%rdi,TF_RDI(%rsp) ;					\
+	movq	%rsi,TF_RSI(%rsp) ;					\
+	movq	%rdx,TF_RDX(%rsp) ;					\
+	movq	%rcx,TF_RCX(%rsp) ;					\
+	movq	%r8,TF_R8(%rsp) ;					\
+	movq	%r9,TF_R9(%rsp) ;					\
 	movq	%rax,TF_RAX(%rsp) ;					\
-	movq	%rcx,TF_RCX(%rsp) ;					\
-	movq	%rdx,TF_RDX(%rsp) ;					\
 	movq	%rbx,TF_RBX(%rsp) ;					\
 	movq	%rbp,TF_RBP(%rsp) ;					\
-	movq	%rsi,TF_RSI(%rsp) ;					\
-	movq	%rdi,TF_RDI(%rsp) ;					\
-	movq	%r8,TF_R8(%rsp) ;					\
-	movq	%r9,TF_R9(%rsp) ;					\
 	movq	%r10,TF_R10(%rsp) ;					\
 	movq	%r11,TF_R11(%rsp) ;					\
 	movq	%r12,TF_R12(%rsp) ;					\
@@ -69,15 +69,15 @@
 	SUPERALIGN_TEXT ;						\
 IDTVEC(vec_name) ;							\
 	subq	$TF_RIP,%rsp ;	/* skip dummy tf_err and tf_trapno */	\
+	movq	%rdi,TF_RDI(%rsp) ;					\
+	movq	%rsi,TF_RSI(%rsp) ;					\
+	movq	%rdx,TF_RDX(%rsp) ;					\
+	movq	%rcx,TF_RCX(%rsp) ;					\
+	movq	%r8,TF_R8(%rsp) ;					\
+	movq	%r9,TF_R9(%rsp) ;					\
 	movq	%rax,TF_RAX(%rsp) ;					\
-	movq	%rcx,TF_RCX(%rsp) ;					\
-	movq	%rdx,TF_RDX(%rsp) ;					\
 	movq	%rbx,TF_RBX(%rsp) ;					\
 	movq	%rbp,TF_RBP(%rsp) ;					\
-	movq	%rsi,TF_RSI(%rsp) ;					\
-	movq	%rdi,TF_RDI(%rsp) ;					\
-	movq	%r8,TF_R8(%rsp) ;					\
-	movq	%r9,TF_R9(%rsp) ;					\
 	movq	%r10,TF_R10(%rsp) ;					\
 	movq	%r11,TF_R11(%rsp) ;					\
 	movq	%r12,TF_R12(%rsp) ;					\

==== //depot/projects/hammer/sys/x86_64/x86_64/exception.s#22 (text+ko) ====

@@ -130,15 +130,15 @@
 	.type	alltraps,@function
 alltraps:
 	subq	$TF_TRAPNO,%rsp		/* tf_err and tf_trapno already pushed */
+	movq	%rdi,TF_RDI(%rsp)
+	movq	%rsi,TF_RSI(%rsp)
+	movq	%rdx,TF_RDX(%rsp)
+	movq	%rcx,TF_RCX(%rsp)
+	movq	%r8,TF_R8(%rsp)
+	movq	%r9,TF_R9(%rsp)
 	movq	%rax,TF_RAX(%rsp)
-	movq	%rcx,TF_RCX(%rsp)
-	movq	%rdx,TF_RDX(%rsp)
 	movq	%rbx,TF_RBX(%rsp)
 	movq	%rbp,TF_RBP(%rsp)
-	movq	%rsi,TF_RSI(%rsp)
-	movq	%rdi,TF_RDI(%rsp)
-	movq	%r8,TF_R8(%rsp)
-	movq	%r9,TF_R9(%rsp)
 	movq	%r10,TF_R10(%rsp)
 	movq	%r11,TF_R11(%rsp)
 	movq	%r12,TF_R12(%rsp)
@@ -171,15 +171,15 @@
 IDTVEC(int0x80_syscall)
 	pushq	$2			/* sizeof "int 0x80" */
 	subq	$TF_ERR,%rsp		/* skip over tf_trapno */
+	movq	%rdi,TF_RDI(%rsp)
+	movq	%rsi,TF_RSI(%rsp)
+	movq	%rdx,TF_RDX(%rsp)
+	movq	%rcx,TF_RCX(%rsp)
+	movq	%r8,TF_R8(%rsp)
+	movq	%r9,TF_R9(%rsp)
 	movq	%rax,TF_RAX(%rsp)
-	movq	%rcx,TF_RCX(%rsp)
-	movq	%rdx,TF_RDX(%rsp)
 	movq	%rbx,TF_RBX(%rsp)
 	movq	%rbp,TF_RBP(%rsp)
-	movq	%rsi,TF_RSI(%rsp)
-	movq	%rdi,TF_RDI(%rsp)
-	movq	%r8,TF_R8(%rsp)
-	movq	%r9,TF_R9(%rsp)
 	movq	%r10,TF_R10(%rsp)
 	movq	%r11,TF_R11(%rsp)
 	movq	%r12,TF_R12(%rsp)
@@ -252,21 +252,21 @@
 doreti_exit:
 	MEXITCOUNT
 
-	movq	TF_R15(%rsp),%r15
-	movq	TF_R14(%rsp),%r14
-	movq	TF_R13(%rsp),%r13
-	movq	TF_R12(%rsp),%r12
-	movq	TF_R11(%rsp),%r11
-	movq	TF_R10(%rsp),%r10
-	movq	TF_R9(%rsp),%r9
-	movq	TF_R8(%rsp),%r8
 	movq	TF_RDI(%rsp),%rdi
 	movq	TF_RSI(%rsp),%rsi
-	movq	TF_RBP(%rsp),%rbp
-	movq	TF_RBX(%rsp),%rbx
 	movq	TF_RDX(%rsp),%rdx
 	movq	TF_RCX(%rsp),%rcx
+	movq	TF_R8(%rsp),%r8
+	movq	TF_R9(%rsp),%r9
 	movq	TF_RAX(%rsp),%rax
+	movq	TF_RBX(%rsp),%rbx
+	movq	TF_RBP(%rsp),%rbp
+	movq	TF_R10(%rsp),%r10
+	movq	TF_R11(%rsp),%r11
+	movq	TF_R12(%rsp),%r12
+	movq	TF_R13(%rsp),%r13
+	movq	TF_R14(%rsp),%r14
+	movq	TF_R15(%rsp),%r15
 	addq	$TF_RIP,%rsp		/* skip over tf_err, tf_trapno */
 	.globl	doreti_iret
 doreti_iret:
@@ -283,23 +283,23 @@
 	.globl	doreti_iret_fault
 doreti_iret_fault:
 	subq	$TF_RIP,%rsp		/* space including tf_err, tf_trapno */
+	movq	%rdi,TF_RDI(%rsp)
+	movq	%rsi,TF_RSI(%rsp)
+	movq	%rdx,TF_RDX(%rsp)
+	movq	%rcx,TF_RCX(%rsp)
+	movq	%r8,TF_R8(%rsp)
+	movq	%r9,TF_R9(%rsp)
 	movq	%rax,TF_RAX(%rsp)
-	movq	%rcx,TF_RCX(%rsp)
-	movq	%rdx,TF_RDX(%rsp)
 	movq	%rbx,TF_RBX(%rsp)
 	movq	%rbp,TF_RBP(%rsp)
-	movq	%rsi,TF_RSI(%rsp)
-	movq	%rdi,TF_RDI(%rsp)
-	movq	%r8,TF_R8(%rsp)
-	movq	%r9,TF_R9(%rsp)
 	movq	%r10,TF_R10(%rsp)
 	movq	%r11,TF_R11(%rsp)
 	movq	%r12,TF_R12(%rsp)
 	movq	%r13,TF_R13(%rsp)
 	movq	%r14,TF_R14(%rsp)
 	movq	%r15,TF_R15(%rsp)
+	movq	$T_PROTFLT,TF_TRAPNO(%rsp)
 	movq	$0,TF_ERR(%rsp)	/* XXX should be the error code */
-	movq	$T_PROTFLT,TF_TRAPNO(%rsp)
 	jmp	alltraps_with_regs_pushed
 
 #include "x86_64/isa/icu_ipl.s"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200304250617.h3P6H6ja059218>