Date: Sun, 20 Jul 2014 16:32:19 +0200 From: Stefan Farfeleder <stefanf@FreeBSD.org> To: Mark Johnston <markj@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r268869 - in head/sys: amd64/amd64 cddl/dev/dtrace/amd64 cddl/dev/fbt Message-ID: <20140720143218.GB1205@mole.fafoe.narf.at> In-Reply-To: <201407190227.s6J2RWvL042340@svn.freebsd.org> References: <201407190227.s6J2RWvL042340@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, On Sat, Jul 19, 2014 at 02:27:32AM +0000, Mark Johnston wrote: > Author: markj > Date: Sat Jul 19 02:27:31 2014 > New Revision: 268869 > URL: http://svnweb.freebsd.org/changeset/base/268869 <snip> > Modified: head/sys/amd64/amd64/trap.c > ============================================================================== > --- head/sys/amd64/amd64/trap.c Sat Jul 19 02:15:28 2014 (r268868) > +++ head/sys/amd64/amd64/trap.c Sat Jul 19 02:27:31 2014 (r268869) > @@ -97,7 +97,8 @@ PMC_SOFT_DEFINE( , , page_fault, write); > #include <sys/dtrace_bsd.h> > #endif > > -extern void trap(struct trapframe *frame); > +extern void __noinline trap(struct trapframe *frame); > +extern void trap_check(struct trapframe *frame); > extern void syscall(struct trapframe *frame); > void dblfault_handler(struct trapframe *frame); > > @@ -604,6 +605,19 @@ out: > return; > } > > +/* > + * Ensure that we ignore any DTrace-induced faults. This function cannot > + * be instrumented, so it cannot generate such faults itself. > + */ > +void > +trap_check(struct trapframe *frame) > +{ > + > + if (dtrace_trap_func != NULL && (*dtrace_trap_func)(frame)) > + return; > + trap(frame); > +} > + > static int /usr/src/sys/amd64/amd64/trap.c:616:6: error: use of undeclared identifier 'dtrace_trap_func' if (dtrace_trap_func != NULL && (*dtrace_trap_func)(frame)) ^ This is without KDTRACE_HOOKS. BR, Stefan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140720143218.GB1205>