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

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

Change 29673 by peter@peter_daintree on 2003/04/24 23:06:34

	reorder trapframe so that the syscall arguments are at the beginning
	that is in an order that is suitable to be passed to the syscall dispatch
	directly.

Affected files ...

.. //depot/projects/hammer/sys/x86_64/include/frame.h#10 edit

Differences ...

==== //depot/projects/hammer/sys/x86_64/include/frame.h#10 (text+ko) ====

@@ -46,24 +46,27 @@
 
 /*
  * Exception/Trap Stack Frame
+ *
+ * The ordering of this is specifically so that we can take first 6
+ * the syscall arguments directly from the beginning of the frame.
  */
 
 struct trapframe {
-	register_t	tf_r15;
-	register_t	tf_r14;
-	register_t	tf_r13;
-	register_t	tf_r12;
-	register_t	tf_r11;
-	register_t	tf_r10;
-	register_t	tf_r9;
-	register_t	tf_r8;
 	register_t	tf_rdi;
 	register_t	tf_rsi;
-	register_t	tf_rbp;
-	register_t	tf_rbx;
 	register_t	tf_rdx;
 	register_t	tf_rcx;
+	register_t	tf_r8;
+	register_t	tf_r9;
 	register_t	tf_rax;
+	register_t	tf_rbx;
+	register_t	tf_rbp;
+	register_t	tf_r10;
+	register_t	tf_r11;
+	register_t	tf_r12;
+	register_t	tf_r13;
+	register_t	tf_r14;
+	register_t	tf_r15;
 	register_t	tf_trapno;
 	/* below portion defined in 386 hardware */
 	register_t	tf_err;
@@ -77,21 +80,21 @@
 /* Interrupt stack frame */
 
 struct intrframe {
-	register_t	if_r15;
-	register_t	if_r14;
-	register_t	if_r13;
-	register_t	if_r12;
-	register_t	if_r11;
-	register_t	if_r10;
-	register_t	if_r9;
-	register_t	if_r8;
 	register_t	if_rdi;
 	register_t	if_rsi;
-	register_t	if_rbp;
-	register_t	if_rbx;
 	register_t	if_rdx;
 	register_t	if_rcx;
+	register_t	if_r8;
+	register_t	if_r9;
 	register_t	if_rax;
+	register_t	if_rbx;
+	register_t	if_rbp;
+	register_t	if_r10;
+	register_t	if_r11;
+	register_t	if_r12;
+	register_t	if_r13;
+	register_t	if_r14;
+	register_t	if_r15;
 	register_t	:64;		/* for compat with trap frame - trapno */
 	register_t	:64;		/* for compat with trap frame - err */
 	/* below portion defined in 386 hardware */
@@ -105,21 +108,21 @@
 /* frame of clock (same as interrupt frame) */
 
 struct clockframe {
-	register_t	cf_r15;
-	register_t	cf_r14;
-	register_t	cf_r13;
-	register_t	cf_r12;
-	register_t	cf_r11;
-	register_t	cf_r10;
-	register_t	cf_r9;
-	register_t	cf_r8;
 	register_t	cf_rdi;
 	register_t	cf_rsi;
-	register_t	cf_rbp;
-	register_t	cf_rbx;
 	register_t	cf_rdx;
 	register_t	cf_rcx;
+	register_t	cf_r8;
+	register_t	cf_r9;
 	register_t	cf_rax;
+	register_t	cf_rbx;
+	register_t	cf_rbp;
+	register_t	cf_r10;
+	register_t	cf_r11;
+	register_t	cf_r12;
+	register_t	cf_r13;
+	register_t	cf_r14;
+	register_t	cf_r15;
 	register_t	:64;		/* for compat with trap frame - trapno */
 	register_t	:64;		/* for compat with trap frame - err */
 	/* below portion defined in 386 hardware */



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