PERFORCE change 132751 for review
John Birrell
jb at FreeBSD.org
Mon Jan 7 14:29:33 PST 2008
http://perforce.freebsd.org/chv.cgi?CH=132751
Change 132751 by jb at jb_freebsd1 on 2008/01/07 22:28:45
The return address variable isn't needed. The DTrace asm code
will do all that needs to be done to return from the interrupt
if it chooses. It will only jump back here if the breakpoint
wasn't caused by DTrace, in which case the trap will be handled
in the usual way.
Affected files ...
.. //depot/projects/dtrace/src/sys/amd64/amd64/exception.S#8 edit
Differences ...
==== //depot/projects/dtrace/src/sys/amd64/amd64/exception.S#8 (text+ko) ====
@@ -59,12 +59,6 @@
.size dtrace_invop_calltrap_addr, 8
dtrace_invop_calltrap_addr:
.zero 8
- .globl dtrace_invop_return_addr
- .align 8
- .type dtrace_invop_return_addr, @object
- .size dtrace_invop_return_addr, 8
-dtrace_invop_return_addr:
- .zero 8
#endif
.text
#ifdef HWPMC_HOOKS
@@ -206,9 +200,11 @@
cmpq $0,dtrace_invop_jump_addr
je calltrap
- /* Set our alternate jump addresses for the jump back. */
+ /*
+ * Set our jump address for the jump back in the event that
+ * the breakpoint wasn't caused by DTrace at all.
+ */
movq $calltrap, dtrace_invop_calltrap_addr(%rip)
- movq $doreti, dtrace_invop_return_addr(%rip)
/* Jump to the code hooked in by DTrace. */
movq dtrace_invop_jump_addr, %rax
More information about the p4-projects
mailing list