summaryrefslogtreecommitdiffstats
path: root/sys/amd64/amd64/exception.S
diff options
context:
space:
mode:
authorjkoshy <jkoshy@FreeBSD.org>2008-12-14 09:06:28 +0000
committerjkoshy <jkoshy@FreeBSD.org>2008-12-14 09:06:28 +0000
commit62d6b4ab63c0ab8d1ae82a778672927f0a1b6b70 (patch)
treefaa42f003457633264d4b909aeb9b8191777eaa4 /sys/amd64/amd64/exception.S
parent3d479167c5e2fbfd86505a5c2aeedda62323cc7d (diff)
downloadFreeBSD-src-62d6b4ab63c0ab8d1ae82a778672927f0a1b6b70.zip
FreeBSD-src-62d6b4ab63c0ab8d1ae82a778672927f0a1b6b70.tar.gz
Bug fix: %ebx needs to be preserved in the user callchain capture
path.
Diffstat (limited to 'sys/amd64/amd64/exception.S')
-rw-r--r--sys/amd64/amd64/exception.S8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/amd64/amd64/exception.S b/sys/amd64/amd64/exception.S
index e211cfd..80308a9 100644
--- a/sys/amd64/amd64/exception.S
+++ b/sys/amd64/amd64/exception.S
@@ -459,9 +459,9 @@ nmi_calltrap:
*/
movq %rsp,%rsi /* source stack pointer */
movq $TF_SIZE,%rcx
- movq PCPU(RSP0),%rbx
- subq %rcx,%rbx
- movq %rbx,%rdi /* destination stack pointer */
+ movq PCPU(RSP0),%rdx
+ subq %rcx,%rdx
+ movq %rdx,%rdi /* destination stack pointer */
shrq $3,%rcx /* trap frame size in long words */
cld
@@ -470,7 +470,7 @@ nmi_calltrap:
movl %ss,%eax
pushq %rax /* tf_ss */
- pushq %rbx /* tf_rsp (on kernel stack) */
+ pushq %rdx /* tf_rsp (on kernel stack) */
pushfq /* tf_rflags */
movl %cs,%eax
pushq %rax /* tf_cs */
OpenPOWER on IntegriCloud