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