cvs commit: src/sys/kern subr_prof.c src/sys/i386/include profile.h

Bruce Evans bde at FreeBSD.org
Thu May 20 09:12:20 PDT 2004


bde         2004/05/20 09:12:20 PDT

  FreeBSD src repository

  Modified files:
    sys/kern             subr_prof.c 
    sys/i386/include     profile.h 
  Log:
  Moved i386 asms to an i386 header.  The asms are for calibration of
  high resolution kernel profiling (options GUPROF.  "U" in GUPROF stands
  for microseconds resolution, but the resolution is now smaller than 1
  nanosecond on multi-GHz machines and the accuracy is heading towards
  1 nanosecond too).  Arches that support GUPROF must now provide certain
  macros for the calibration.  GUPROF is now only supported for i386's,
  so the absence of the new macros for other arches doesn't break anything
  that wasn't already broken.  amd64's have uncommitted support for
  GUPROF, and sparc64's have support that seems to be complete except
  here (there was an #error for non-i386 cases; now there are undefined
  macros).
  
  Changed the asms a little:
  - declare them as __volatile.  They must not be moved, and exporting a
    label across asms is technically incorrect, so try harder to stop gcc
    moving them.
  - don't put the non-clobbered register "bx" in the clobber list.  The
    clobber lists are still more conservative than necessary.
  - drop the non-support for gcc-1.  It just gave a better error message,
    and this is not useful since compiling with gcc-1 would cause thousands
    of worse error messages.
  - drop the support for aout.
  
  Revision  Changes    Path
  1.37      +19 -0     src/sys/i386/include/profile.h
  1.69      +3 -19     src/sys/kern/subr_prof.c


More information about the cvs-src mailing list