d6b9e17eb5
- use a more accurate and more efficient method of compensating for overheads. The old method counted too much time against leaf functions. - normally use the Pentium timestamp counter if available. On Pentiums, the times are now accurate to within a couple of cpu clock cycles per function call in the (unlikely) event that there are no cache misses in or caused by the profiling code. - optionally use an arbitrary Pentium event counter if available. - optionally regress to using the i8254 counter. - scaled the i8254 counter by a factor of 128. Now the i8254 counters overflow slightly faster than the TSC counters for a 150MHz Pentium :-) (after about 16 seconds). This is to avoid fractional overheads. files.i386: permon.c temporarily has to be classified as a profiling-routine because a couple of functions in it may be called from profiling code. options.i386: - I586_CTR_GUPROF is currently unused (oops). - I586_PMC_GUPROF should be something like 0x70000 to enable (but not use unless prof_machdep.c is changed) support for Pentium event counters. 7 is a control mode and the counter number 0 is somewhere in the 0000 bits (see perfmon.h for the encoding). profile.h: - added declarations. - cleaned up separation of user mode declarations. prof_machdep.c: Mostly clock-select changes. The default clock can be changed by editing kmem. There should be a sysctl for this. subr_prof.c: - added copyright. - calibrate overheads for the new method. - documented new method. - fixed races and and machine dependencies in start/stop code. mcount.c: Use the new overhead compensation method. gmon.h: - changed GPROF4 counter type from unsigned to int. Oops, this should be machine-dependent and/or int32_t. - reorganized overhead counters. Submitted by: Pentium event counter changes mostly by wollman
273 lines
12 KiB
Plaintext
273 lines
12 KiB
Plaintext
# This file tells config what files go into building a kernel,
|
|
# files marked standard are always included.
|
|
#
|
|
# $Id: files.i386,v 1.140 1996/09/11 19:53:30 phk Exp $
|
|
#
|
|
aic7xxx_asm optional ahc device-driver \
|
|
dependency "$S/dev/aic7xxx/aic7xxx_asm.c" \
|
|
compile-with "${CC} -Wall -o $@ $>" \
|
|
no-obj no-implicit-rule \
|
|
clean "aic7xxx_asm"
|
|
#
|
|
aic7xxx_seq.h optional ahc device-driver \
|
|
compile-with "./aic7xxx_asm -o $@ $S/dev/aic7xxx/aic7xxx.seq" \
|
|
no-obj no-implicit-rule before-depend \
|
|
clean "aic7xxx_seq.h" \
|
|
dependency "$S/dev/aic7xxx/aic7xxx_reg.h $S/dev/aic7xxx/aic7xxx.seq aic7xxx_asm"
|
|
#
|
|
linux_genassym optional compat_linux \
|
|
dependency "$S/i386/linux/linux_genassym.c $S/i386/linux/linux.h" \
|
|
compile-with "${CC} ${CFLAGS} -o $@ $<" \
|
|
no-obj no-implicit-rule \
|
|
clean "linux_genassym"
|
|
#
|
|
linux_assym.h optional compat_linux \
|
|
dependency "linux_genassym" \
|
|
compile-with "./linux_genassym > $@" \
|
|
no-obj no-implicit-rule before-depend \
|
|
clean "linux_assym.h"
|
|
#
|
|
i386/scsi/93cx6.c optional ahc device-driver
|
|
i386/apm/apm.c optional apm device-driver
|
|
i386/apm/apm_setup.s optional apm
|
|
i386/eisa/3c5x9.c optional ep device-driver
|
|
i386/eisa/aic7770.c optional ahc device-driver
|
|
i386/eisa/aha1742.c optional ahb device-driver
|
|
i386/eisa/bt74x.c optional bt device-driver
|
|
i386/eisa/eisaconf.c optional eisa
|
|
i386/i386/autoconf.c standard device-driver
|
|
i386/i386/cons.c standard
|
|
i386/i386/db_disasm.c optional ddb
|
|
i386/i386/db_interface.c optional ddb
|
|
i386/i386/db_trace.c optional ddb
|
|
i386/i386/i386-gdbstub.c optional ddb
|
|
i386/i386/exception.s standard
|
|
i386/i386/identcpu.c standard
|
|
i386/i386/in_cksum.c optional inet
|
|
# locore.s needs to be handled in Makefile to put it first. Otherwise it's
|
|
# now normal.
|
|
# i386/i386/locore.s standard
|
|
i386/i386/machdep.c standard
|
|
i386/i386/math_emulate.c optional math_emulate
|
|
i386/i386/mem.c standard
|
|
i386/i386/microtime.s standard
|
|
i386/i386/perfmon.c optional perfmon profiling-routine
|
|
i386/i386/perfmon.c optional perfmon
|
|
i386/i386/pmap.c standard
|
|
i386/i386/procfs_machdep.c standard
|
|
i386/i386/support.s standard
|
|
i386/i386/swtch.s standard
|
|
i386/i386/sys_machdep.c standard
|
|
i386/i386/trap.c standard
|
|
i386/i386/userconfig.c optional userconfig
|
|
i386/i386/vm_machdep.c standard
|
|
i386/ibcs2/ibcs2_fcntl.c optional ibcs2
|
|
i386/ibcs2/ibcs2_stat.c optional ibcs2
|
|
i386/ibcs2/ibcs2_ipc.c optional ibcs2
|
|
i386/ibcs2/ibcs2_msg.c optional ibcs2
|
|
i386/ibcs2/ibcs2_misc.c optional ibcs2
|
|
i386/ibcs2/ibcs2_other.c optional ibcs2
|
|
i386/ibcs2/ibcs2_signal.c optional ibcs2
|
|
i386/ibcs2/ibcs2_ioctl.c optional ibcs2
|
|
i386/ibcs2/ibcs2_socksys.c optional ibcs2
|
|
i386/ibcs2/ibcs2_sysi86.c optional ibcs2
|
|
i386/ibcs2/ibcs2_util.c optional ibcs2
|
|
i386/ibcs2/ibcs2_isc.c optional ibcs2
|
|
i386/ibcs2/ibcs2_isc_sysent.c optional ibcs2
|
|
i386/ibcs2/ibcs2_xenix.c optional ibcs2
|
|
i386/ibcs2/ibcs2_xenix_sysent.c optional ibcs2
|
|
i386/ibcs2/ibcs2_errno.c optional ibcs2
|
|
i386/ibcs2/ibcs2_sysent.c optional ibcs2
|
|
i386/ibcs2/ibcs2_sysvec.c optional ibcs2
|
|
i386/ibcs2/imgact_coff.c optional ibcs2
|
|
i386/isa/aha1542.c optional aha device-driver
|
|
i386/isa/aic6360.c optional aic device-driver
|
|
i386/isa/b004.c optional bqu device-driver
|
|
i386/isa/bt5xx-445.c optional bt device-driver
|
|
i386/isa/clock.c standard
|
|
i386/isa/cronyx.c optional cx device-driver
|
|
i386/isa/ctx.c optional ctx device-driver
|
|
i386/isa/cx.c optional cx device-driver
|
|
i386/isa/cy.c optional cy device-driver
|
|
i386/isa/diskslice_machdep.c standard
|
|
i386/isa/elink.c optional ep device-driver
|
|
i386/isa/elink.c optional ie device-driver
|
|
i386/isa/fd.c optional fd device-driver
|
|
i386/isa/ft.c optional ft device-driver
|
|
i386/isa/gpib.c optional gp device-driver
|
|
i386/isa/asc.c optional asc device-driver
|
|
i386/isa/gsc.c optional gsc device-driver
|
|
i386/isa/if_ar.c optional ar device-driver
|
|
i386/isa/if_cx.c optional cx device-driver
|
|
i386/isa/if_ed.c optional ed device-driver
|
|
i386/isa/if_eg.c optional eg device-driver
|
|
i386/isa/if_el.c optional el device-driver
|
|
i386/isa/if_ep.c optional ep device-driver
|
|
i386/isa/if_fe.c optional fe device-driver
|
|
i386/isa/if_ie.c optional ie device-driver
|
|
i386/isa/if_ix.c optional ix device-driver
|
|
i386/isa/if_le.c optional le device-driver
|
|
i386/isa/if_lnc.c optional lnc device-driver
|
|
i386/isa/if_sr.c optional sr device-driver
|
|
i386/isa/if_ze.c optional ze device-driver
|
|
i386/isa/if_zp.c optional zp device-driver
|
|
i386/isa/isa.c optional isa device-driver
|
|
i386/isa/istallion.c optional stli device-driver
|
|
i386/isa/joy.c optional joy device-driver
|
|
i386/isa/lpt.c optional lpt device-driver
|
|
i386/isa/labpc.c optional labpc device-driver
|
|
i386/isa/mcd.c optional mcd device-driver
|
|
i386/isa/mse.c optional mse device-driver
|
|
i386/isa/ncr5380.c optional nca device-driver
|
|
i386/isa/npx.c optional npx device-driver
|
|
i386/isa/pcaudio.c optional pca device-driver
|
|
i386/isa/matcd/matcd.c optional matcd device-driver
|
|
i386/isa/pcibus.c optional pci device-driver
|
|
i386/isa/pcicx.c optional ze device-driver
|
|
i386/isa/pcicx.c optional zp device-driver
|
|
i386/isa/pcvt/pcvt_drv.c optional vt device-driver
|
|
i386/isa/pcvt/pcvt_ext.c optional vt device-driver
|
|
i386/isa/pcvt/pcvt_kbd.c optional vt device-driver
|
|
i386/isa/pcvt/pcvt_out.c optional vt device-driver
|
|
i386/isa/pcvt/pcvt_sup.c optional vt device-driver
|
|
i386/isa/pcvt/pcvt_vtf.c optional vt device-driver
|
|
i386/isa/prof_machdep.c optional profiling-routine
|
|
i386/isa/psm.c optional psm device-driver
|
|
i386/isa/qcam.c optional qcam device-driver
|
|
i386/isa/qcamio.c optional qcam device-driver
|
|
i386/isa/random_machdep.c standard
|
|
i386/isa/rc.c optional rc device-driver
|
|
i386/isa/scd.c optional scd device-driver
|
|
i386/isa/seagate.c optional sea device-driver
|
|
i386/isa/si.c optional si device-driver
|
|
i386/isa/si_code.c optional si device-driver
|
|
i386/isa/sio.c optional sio device-driver
|
|
i386/isa/sound/dev_table.c optional snd device-driver
|
|
i386/isa/sound/soundcard.c optional snd device-driver
|
|
i386/isa/sound/sound_switch.c optional snd device-driver
|
|
i386/isa/sound/audio.c optional snd device-driver
|
|
i386/isa/sound/dmabuf.c optional snd device-driver
|
|
i386/isa/sound/sys_timer.c optional snd device-driver
|
|
i386/isa/sound/sequencer.c optional snd device-driver
|
|
i386/isa/sound/patmgr.c optional snd device-driver
|
|
i386/isa/sound/adlib_card.c optional opl device-driver
|
|
i386/isa/sound/opl3.c optional opl device-driver
|
|
i386/isa/sound/gus_card.c optional gus device-driver
|
|
i386/isa/sound/gus_midi.c optional gus device-driver
|
|
i386/isa/sound/gus_vol.c optional gus device-driver
|
|
i386/isa/sound/gus_wave.c optional gus device-driver
|
|
i386/isa/sound/ics2101.c optional gus device-driver
|
|
i386/isa/sound/sound_timer.c optional gus device-driver
|
|
i386/isa/sound/midi_synth.c optional gus device-driver
|
|
i386/isa/sound/midibuf.c optional gus device-driver
|
|
i386/isa/sound/ad1848.c optional gusxvi device-driver
|
|
i386/isa/sound/ad1848.c optional gus device-driver
|
|
i386/isa/sound/ad1848.c optional mss device-driver
|
|
i386/isa/sound/midi_synth.c optional mss device-driver
|
|
i386/isa/sound/midibuf.c optional mss device-driver
|
|
i386/isa/sound/mpu401.c optional mpu device-driver
|
|
i386/isa/sound/midi_synth.c optional mpu device-driver
|
|
i386/isa/sound/midibuf.c optional mpu device-driver
|
|
i386/isa/sound/pas2_card.c optional pas device-driver
|
|
i386/isa/sound/pas2_midi.c optional pas device-driver
|
|
i386/isa/sound/pas2_mixer.c optional pas device-driver
|
|
i386/isa/sound/pas2_pcm.c optional pas device-driver
|
|
i386/isa/sound/midi_synth.c optional pas device-driver
|
|
i386/isa/sound/midibuf.c optional pas device-driver
|
|
i386/isa/sound/sb_card.c optional sb device-driver
|
|
i386/isa/sound/sb_dsp.c optional sb device-driver
|
|
i386/isa/sound/sb_midi.c optional sb device-driver
|
|
i386/isa/sound/sb_mixer.c optional sb device-driver
|
|
i386/isa/sound/midi_synth.c optional sb device-driver
|
|
i386/isa/sound/midibuf.c optional sb device-driver
|
|
i386/isa/sound/sb16_dsp.c optional sbxvi device-driver
|
|
i386/isa/sound/sb16_midi.c optional sbmidi device-driver
|
|
i386/isa/sound/uart6850.c optional uart device-driver
|
|
i386/isa/sound/midi_synth.c optional uart device-driver
|
|
i386/isa/sound/midibuf.c optional uart device-driver
|
|
i386/isa/sound/trix.c optional trix device-driver
|
|
i386/isa/sound/sscape.c optional sscape device-driver
|
|
i386/isa/spigot.c optional spigot device-driver
|
|
i386/isa/spkr.c optional speaker device-driver
|
|
i386/isa/stallion.c optional stl device-driver
|
|
i386/isa/syscons.c optional sc device-driver
|
|
i386/isa/tw.c optional tw device-driver
|
|
i386/isa/ultra14f.c optional uha device-driver
|
|
i386/isa/wd.c optional wdc device-driver
|
|
i386/isa/wd.c optional wd device-driver
|
|
i386/isa/atapi.c optional atapi device-driver
|
|
i386/isa/wcd.c optional wcd device-driver
|
|
i386/isa/wd7000.c optional wds device-driver
|
|
i386/isa/wt.c optional wt device-driver
|
|
i386/linux/imgact_linux.c optional compat_linux
|
|
i386/linux/linux_dummy.c optional compat_linux
|
|
i386/linux/linux_file.c optional compat_linux
|
|
i386/linux/linux_ioctl.c optional compat_linux
|
|
i386/linux/linux_ipc.c optional compat_linux
|
|
i386/linux/linux_locore.s optional compat_linux \
|
|
dependency "linux_assym.h"
|
|
i386/linux/linux_misc.c optional compat_linux
|
|
i386/linux/linux_signal.c optional compat_linux
|
|
i386/linux/linux_socket.c optional compat_linux
|
|
i386/linux/linux_stats.c optional compat_linux
|
|
i386/linux/linux_sysent.c optional compat_linux
|
|
i386/linux/linux_sysvec.c optional compat_linux
|
|
i386/linux/linux_util.c optional compat_linux
|
|
i386/scsi/aic7xxx.c optional ahc device-driver \
|
|
dependency "$S/dev/aic7xxx/aic7xxx_reg.h aic7xxx_seq.h"
|
|
i386/scsi/bt.c optional bt device-driver
|
|
libkern/bcd.c standard
|
|
libkern/divdi3.c standard
|
|
libkern/inet_ntoa.c standard
|
|
libkern/index.c standard
|
|
libkern/mcount.c optional profiling-routine
|
|
libkern/moddi3.c standard
|
|
libkern/qdivrem.c standard
|
|
libkern/qsort.c standard
|
|
libkern/random.c standard
|
|
libkern/scanc.c standard
|
|
libkern/skpc.c standard
|
|
libkern/strcat.c standard
|
|
libkern/strcmp.c standard
|
|
libkern/strcpy.c standard
|
|
libkern/strlen.c standard
|
|
libkern/strncmp.c standard
|
|
libkern/strncpy.c standard
|
|
libkern/udivdi3.c standard
|
|
libkern/umoddi3.c standard
|
|
gnu/i386/fpemul/div_small.s optional gpl_math_emulate
|
|
gnu/i386/fpemul/errors.c optional gpl_math_emulate
|
|
gnu/i386/fpemul/fpu_arith.c optional gpl_math_emulate
|
|
gnu/i386/fpemul/fpu_aux.c optional gpl_math_emulate
|
|
gnu/i386/fpemul/fpu_entry.c optional gpl_math_emulate
|
|
gnu/i386/fpemul/fpu_etc.c optional gpl_math_emulate
|
|
gnu/i386/fpemul/fpu_trig.c optional gpl_math_emulate
|
|
gnu/i386/fpemul/get_address.c optional gpl_math_emulate
|
|
gnu/i386/fpemul/load_store.c optional gpl_math_emulate
|
|
gnu/i386/fpemul/poly_2xm1.c optional gpl_math_emulate
|
|
gnu/i386/fpemul/poly_atan.c optional gpl_math_emulate
|
|
gnu/i386/fpemul/poly_div.s optional gpl_math_emulate
|
|
gnu/i386/fpemul/poly_l2.c optional gpl_math_emulate
|
|
gnu/i386/fpemul/poly_mul64.s optional gpl_math_emulate
|
|
gnu/i386/fpemul/poly_sin.c optional gpl_math_emulate
|
|
gnu/i386/fpemul/poly_tan.c optional gpl_math_emulate
|
|
gnu/i386/fpemul/polynomial.s optional gpl_math_emulate
|
|
gnu/i386/fpemul/reg_add_sub.c optional gpl_math_emulate
|
|
gnu/i386/fpemul/reg_compare.c optional gpl_math_emulate
|
|
gnu/i386/fpemul/reg_constant.c optional gpl_math_emulate
|
|
gnu/i386/fpemul/reg_div.s optional gpl_math_emulate
|
|
gnu/i386/fpemul/reg_ld_str.c optional gpl_math_emulate
|
|
gnu/i386/fpemul/reg_mul.c optional gpl_math_emulate
|
|
gnu/i386/fpemul/reg_norm.s optional gpl_math_emulate
|
|
gnu/i386/fpemul/reg_round.s optional gpl_math_emulate
|
|
gnu/i386/fpemul/reg_u_add.s optional gpl_math_emulate
|
|
gnu/i386/fpemul/reg_u_div.s optional gpl_math_emulate
|
|
gnu/i386/fpemul/reg_u_mul.s optional gpl_math_emulate
|
|
gnu/i386/fpemul/reg_u_sub.s optional gpl_math_emulate
|
|
gnu/i386/fpemul/wm_shrx.s optional gpl_math_emulate
|
|
gnu/i386/fpemul/wm_sqrt.s optional gpl_math_emulate
|
|
gnu/i386/isa/dgb.c optional dgb device-driver
|
|
gnu/i386/isa/nic3008.c optional nic device-driver
|
|
gnu/i386/isa/nic3009.c optional nnic device-driver
|
|
pci/wd82371.c optional wd device-driver
|