From owner-p4-projects@FreeBSD.ORG Mon Jan 7 22:29:32 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C057F16A46B; Mon, 7 Jan 2008 22:29:32 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 85FDD16A468 for ; Mon, 7 Jan 2008 22:29:32 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 65B5513C468 for ; Mon, 7 Jan 2008 22:29:32 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m07MTWKL077297 for ; Mon, 7 Jan 2008 22:29:32 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m07MTWIk077294 for perforce@freebsd.org; Mon, 7 Jan 2008 22:29:32 GMT (envelope-from jb@freebsd.org) Date: Mon, 7 Jan 2008 22:29:32 GMT Message-Id: <200801072229.m07MTWIk077294@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 132751 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2008 22:29:33 -0000 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