svn commit: r276142 - in head/sys: amd64/amd64 cddl/dev/dtrace/amd64 cddl/dev/dtrace/i386 cddl/dev/dtrace/mips cddl/dev/dtrace/powerpc i386/i386 mips/mips powerpc/aim sys

Mark Johnston markj at FreeBSD.org
Tue Dec 23 16:06:27 UTC 2014


On Tue, Dec 23, 2014 at 08:45:57AM -0700, Ian Lepore wrote:
> On Tue, 2014-12-23 at 15:38 +0000, Mark Johnston wrote:
> > Author: markj
> > Date: Tue Dec 23 15:38:19 2014
> > New Revision: 276142
> > URL: https://svnweb.freebsd.org/changeset/base/276142
> > 
> > Log:
> >   Restore the trap type argument to the DTrace trap hook, removed in r268600.
> >   It's redundant at the moment since it can be obtained from the trapframe
> >   on the architectures where DTrace is supported, but this won't be the case
> >   with ARM.
> > 
> > Modified:
> >   head/sys/amd64/amd64/trap.c
> >   head/sys/cddl/dev/dtrace/amd64/dtrace_subr.c
> >   head/sys/cddl/dev/dtrace/i386/dtrace_subr.c
> >   head/sys/cddl/dev/dtrace/mips/dtrace_subr.c
> >   head/sys/cddl/dev/dtrace/powerpc/dtrace_subr.c
> >   head/sys/i386/i386/trap.c
> >   head/sys/mips/mips/trap.c
> >   head/sys/powerpc/aim/trap.c
> >   head/sys/sys/dtrace_bsd.h
> > 
> 
> Wouldn't it have been easier to just add the field to the trapframe for
> arm?  iirc we have an unused padding field in the struct already just
> for ABI alignment, it could go there.

In this case, the extra argument will be the fault address AND'ed with
FAULT_TYPE_MASK, and the hook is only potentially called in the data abort
handler, so this extra field would be unused for other exceptions (and
unused for data aborts unless DTrace is active). Maybe that's ok, but
restoring the extra hook argument seemed like a less intrusive way to go
to me.

-Mark


More information about the svn-src-all mailing list