HardenedBSD/sys/amd64/include
Bruce Evans 912e603778 Implemented non-statistical kernel profiling. This is based on
looking at a high resolution clock for each of the following events:
function call, function return, interrupt entry, interrupt exit,
and interesting branches.  The differences between the times of
these events are added at appropriate places in a ordinary histogram
(as if very fast statistical profiling sampled the pc at those
places) so that ordinary gprof can be used to analyze the times.

gmon.h:
Histogram counters need to be 4 bytes for microsecond resolutions.
They will need to be larger for the 586 clock.
The comments were vax-centric and wrong even on vaxes.  Does anyone
disagree?

gprof4.c:
The standard gprof should support counters of all integral sizes
and the size of the counter should be in the gmon header.  This
hack will do until then.  (Use gprof4 -u to examine the results
of non-statistical profiling.)

config/*:
Non-statistical profiling is configured with `config -pp'.
`config -p' still gives ordinary profiling.

kgmon/*:
Non-statistical profiling is enabled with `kgmon -B'.  `kgmon -b'
still enables ordinary profiling (and distables non-statistical
profiling) if non-statistical profiling is configured.
1995-12-29 15:30:05 +00:00
..
pc
asmacros.h Implemented non-statistical kernel profiling. This is based on 1995-12-29 15:30:05 +00:00
clock.h Add Pentium Pro CPU detection and special handling. For now, all the 1995-12-24 08:10:52 +00:00
cpu.h Make the bootinfo structure visible from sysctl. 1995-07-16 10:33:38 +00:00
cpufunc.h Made bzero a function vector and added a 586/686 optimized version of 1995-12-28 23:34:30 +00:00
cputypes.h Add Pentium Pro CPU detection and special handling. For now, all the 1995-12-24 08:10:52 +00:00
db_machdep.h Removed unused thread support (partly to get rid of its incomplete 1995-12-03 10:40:16 +00:00
exec.h
float.h
floatingpoint.h
fpu.h Added `#include "ioconf.h"' to <machine/conf.h> and cleaned up the 1995-11-04 17:08:13 +00:00
frame.h Make math_emulators LKMable. 1995-12-14 08:21:33 +00:00
ieeefp.h
md_var.h Completed function declarations and/or added prototypes. 1995-11-21 12:55:26 +00:00
npx.h Added `#include "ioconf.h"' to <machine/conf.h> and cleaned up the 1995-11-04 17:08:13 +00:00
pcb.h Killed some unused stuff inherited from Bill Jolitz. Note that since 1995-08-17 11:30:03 +00:00
pmap.h Cleaned up prototypes in pmap headers: removed ones for nonexistent 1995-12-17 07:39:05 +00:00
proc.h
profile.h Implemented non-statistical kernel profiling. This is based on 1995-12-29 15:30:05 +00:00
psl.h
ptrace.h
reg.h
reloc.h
segments.h
signal.h
specialreg.h
sysarch.h
trap.h
tss.h
varargs.h
vmparam.h