Date: Mon, 7 Jan 2008 22:29:32 GMT From: John Birrell <jb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 132751 for review Message-ID: <200801072229.m07MTWIk077294@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=132751 Change 132751 by jb@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801072229.m07MTWIk077294>