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