95e5e988e0
original BSD code. The association between the vnode and the vm_object no longer includes reference counts. The major difference is that vm_object's are no longer freed gratuitiously from the vnode, and so once an object is created for the vnode, it will last as long as the vnode does. When a vnode object reference count is incremented, then the underlying vnode reference count is incremented also. The two "objects" are now more intimately related, and so the interactions are now much less complex. When vnodes are now normally placed onto the free queue with an object still attached. The rundown of the object happens at vnode rundown time, and happens with exactly the same filesystem semantics of the original VFS code. There is absolutely no need for vnode_pager_uncache and other travesties like that anymore. A side-effect of these changes is that SMP locking should be much simpler, the I/O copyin/copyout optimizations work, NFS should be more ponderable, and further work on layered filesystems should be less frustrating, because of the totally coherent management of the vnode objects and vnodes. Please be careful with your system while running this code, but I would greatly appreciate feedback as soon a reasonably possible.
314 lines
14 KiB
Plaintext
314 lines
14 KiB
Plaintext
# This file tells config what files go into building a kernel,
|
|
# files marked standard are always included.
|
|
#
|
|
# $Id: files.i386,v 1.182 1997/12/12 14:08:45 peter Exp $
|
|
#
|
|
# The long compile-with and dependency lines are required because of
|
|
# limitations in config: backslash-newline doesn't work in strings, and
|
|
# dependency lines other than the first are silently ignored.
|
|
#
|
|
linux_genassym optional compat_linux \
|
|
dependency "$S/i386/linux/linux_genassym.c $S/i386/linux/linux.h" \
|
|
compile-with "${CC} ${CFLAGS} ${PARAM} -UKERNEL -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"
|
|
#
|
|
font8x16.o optional std8x16font \
|
|
compile-with "uudecode < /usr/share/syscons/fonts/${STD8X16FONT}-8x16.fnt && file2c 'unsigned char font_16[16*256] = {' '};' < ${STD8X16FONT}-8x16 > font8x16.c && ${CC} -c ${CFLAGS} font8x16.c" \
|
|
no-implicit-rule before-depend \
|
|
clean "${STD8X16FONT}-8x16 font8x16.c"
|
|
#
|
|
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 \
|
|
dependency "aic7xxx_reg.h $S/i386/eisa/aic7770.c"
|
|
i386/eisa/aha1742.c optional ahb device-driver
|
|
i386/eisa/bt74x.c optional bt device-driver
|
|
i386/eisa/eisaconf.c optional eisa
|
|
i386/eisa/if_vx_eisa.c optional vx device-driver
|
|
i386/eisa/if_fea.c optional fea device-driver
|
|
i386/i386/autoconf.c standard device-driver
|
|
i386/i386/bios.c standard
|
|
i386/i386/bioscall.s standard
|
|
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
|
|
i386/i386/initcpu.c standard
|
|
# 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/mp_machdep.c optional smp
|
|
i386/i386/mpapic.c optional smp
|
|
i386/i386/mpboot.s optional smp
|
|
i386/i386/mplock.s optional smp
|
|
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/simplelock.s optional smp
|
|
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/i386/vm86.c optional vm86
|
|
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/alog.c optional alog 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_ex.c optional ex device-driver
|
|
i386/isa/if_fe.c optional fe device-driver
|
|
i386/isa/if_ie.c optional ie 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_wl.c optional wl device-driver
|
|
i386/isa/if_ze.c optional ze device-driver
|
|
i386/isa/if_zp.c optional zp device-driver
|
|
i386/isa/ipl_funcs.c standard \
|
|
compile-with "${CC} -c ${CFLAGS} ${DEFINED_PROF:S/^$/-fomit-frame-pointer/} $<"
|
|
i386/isa/intr_machdep.c standard
|
|
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/kbdio.c optional psm device-driver
|
|
i386/isa/kbdio.c optional sc device-driver
|
|
i386/isa/kbdio.c optional vt 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 mandatory 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/pnp.c optional pnp device-driver
|
|
i386/isa/prof_machdep.c optional profiling-routine
|
|
i386/isa/ppc.c optional ppc device-driver
|
|
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/rp.c optional rp 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/snd/sound.c optional pcm device-driver
|
|
i386/isa/snd/dmabuf.c optional pcm device-driver
|
|
i386/isa/snd/ad1848.c optional pcm device-driver
|
|
i386/isa/snd/sb_dsp.c optional pcm device-driver
|
|
i386/isa/snd/clones.c optional pcm 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/sound_timer.c optional css device-driver
|
|
i386/isa/sound/sound_timer.c optional mss 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/ad1848.c optional css device-driver
|
|
i386/isa/sound/sound_timer.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/midi_synth.c optional css device-driver
|
|
i386/isa/sound/midibuf.c optional uart device-driver
|
|
i386/isa/sound/midibuf.c optional css device-driver
|
|
i386/isa/sound/trix.c optional trix device-driver
|
|
i386/isa/sound/adlib_card.c optional trix device-driver
|
|
i386/isa/sound/opl3.c optional trix device-driver
|
|
i386/isa/sound/ad1848.c optional trix device-driver
|
|
i386/isa/sound/sound_timer.c optional trix device-driver
|
|
i386/isa/sound/sscape.c optional sscape device-driver
|
|
i386/isa/sound/ad1848.c optional sscape device-driver
|
|
i386/isa/sound/sound_timer.c optional sscape device-driver
|
|
i386/isa/sound/mpu401.c optional sscape device-driver
|
|
i386/isa/sound/midi_synth.c optional sscape device-driver
|
|
i386/isa/sound/midibuf.c optional sscape device-driver
|
|
i386/isa/sound/awe_wave.c optional awe device-driver
|
|
i386/isa/sound/cs4232.c optional css 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/93cx6.c optional ahc device-driver
|
|
i386/scsi/aic7xxx.c optional ahc device-driver \
|
|
dependency "aic7xxx_{reg,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
|
|
libkern/cmpdi2.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
|
|
pci/ide_pci.c optional wd device-driver
|