PERFORCE change 29673 for review
Peter Wemm
peter at FreeBSD.org
Thu Apr 24 23:06:55 PDT 2003
http://perforce.freebsd.org/chv.cgi?CH=29673
Change 29673 by peter at 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 */
More information about the p4-projects
mailing list