cvs commit: src/sys/conf files.i386 src/sys/i386/i386 apic_vector.s exception.s src/sys/i386/isa atpic_vector.s

John Baldwin jhb at FreeBSD.org
Thu May 27 08:27:56 PDT 2004


On Wednesday 26 May 2004 09:49 pm, Bruce Evans wrote:
> On Wed, 26 May 2004, John Baldwin wrote:
> > On Wednesday 26 May 2004 03:43 am, Bruce Evans wrote:
> > > bde         2004/05/26 00:43:41 PDT
> > >
> > >   FreeBSD src repository
> > >
> > >   Modified files:
> > >     sys/conf             files.i386
> > >     sys/i386/i386        apic_vector.s exception.s
> > >     sys/i386/isa         atpic_vector.s
> > >   Log:
> > >   MFamd64:
> > >
> > >   Fixed profiling of trap, syscall and interrupt handlers and some
> > >   ordinary functions, essentially by backing out half of rev.1.106 of
> > >   i386/exception.s.  The handlers must be between certain labels for
> > >   the purposes of profiling, and this was broken by scattering them in
> > >   separately compiled .s files, especially for ordinary functions that
> > >   ended up between the labels.  Merge the files by #including them as
> > >   before, except with different pathnames and better comments and
> > >   organization.  Changes to the scattered files are minimal -- just
> > >   move the labels to the file that does the #includes.
> >
> > Oh well, there will never be an apic.ko then.
>
> Including files shouldn't affect modules, since they are only included
> when the option is only configured as a module.  apic.ko would just not
> work right with profiling, the same as now.  To work right, it would
> somehow have to arrange that its symbols are correctly classified by
> mcount(), perhaps by putting them in a special subsection of the text
> section.  Does kldload(2) support this?  I can't see where it reads
> ldscript.${MACHINE}.

I was possibly going to have it do a runtime call to add 'bintr2' and 'eintr2' 
to the list of regions mcount.c checked.  Howver, apic_vector.s belongs in 
apic.ko, so including it in execption.s does kind of break things.  One could 
just always include apic_vector.s I guess and not have it be part of apic.ko.  
That would work w/o pessimizing profiling as much as etrap and bintr2, eintr2 
would have.

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the cvs-src mailing list