freebsd-skq/sys/conf/files.alpha
Matthew Dillon d74ac6819b Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt
disablement assumptions in kern_fork.c by adding another API call,
cpu_critical_fork_exit().  Cleanup the td_savecrit field by moving it
from MI to MD.  Temporarily move cpu_critical*() from <arch>/include/cpufunc.h
to <arch>/<arch>/critical.c (stage-2 will clean this up).

Implement interrupt deferral for i386 that allows interrupts to remain
enabled inside critical sections.  This also fixes an IPI interlock bug,
and requires uses of icu_lock to be enclosed in a true interrupt disablement.

This is the stage-1 commit.  Stage-2 will occur after stage-1 has stabilized,
and will move cpu_critical*() into its own header file(s) + other things.
This commit may break non-i386 architectures in trivial ways.  This should
be temporary.

Reviewed by:	core
Approved by:	core
2002-03-27 05:39:23 +00:00

225 lines
8.9 KiB
Plaintext

# This file tells config what files go into building a kernel,
# files marked standard are always included.
#
# $FreeBSD$
#
# 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.o optional compat_linux \
dependency "$S/alpha/linux/linux_genassym.c" \
compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \
no-obj no-implicit-rule \
clean "linux_genassym.o"
#
linux_assym.h optional compat_linux \
dependency "$S/kern/genassym.sh linux_genassym.o" \
compile-with "sh $S/kern/genassym.sh linux_genassym.o > ${.TARGET}" \
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"
#
atkbdmap.h optional atkbd_dflt_keymap \
compile-with "/usr/sbin/kbdcontrol -L ${ATKBD_DFLT_KEYMAP} | sed -e 's/^static keymap_t.* = /static keymap_t key_map = /' -e 's/^static accentmap_t.* = /static accentmap_t accent_map = /' > atkbdmap.h" \
no-obj no-implicit-rule before-depend \
clean "atkbdmap.h"
#
alpha/alpha/alpha-gdbstub.c optional ddb
alpha/alpha/api_up1000.c optional api_up1000
alpha/alpha/atomic.s standard
alpha/alpha/autoconf.c standard
alpha/alpha/busdma_machdep.c standard
alpha/alpha/busspace.c standard
alpha/alpha/clock.c standard
alpha/alpha/clock_if.m standard
alpha/alpha/cpuconf.c standard
alpha/alpha/critical.c standard
alpha/alpha/db_disasm.c optional ddb
alpha/alpha/db_interface.c optional ddb
alpha/alpha/db_trace.c optional ddb
alpha/alpha/dec_1000a.c optional dec_1000a
alpha/alpha/dec_1000a.c optional dec_1000a
alpha/alpha/dec_2100_a50.c optional dec_2100_a50
alpha/alpha/dec_2100_a500.c optional dec_2100_a500
alpha/alpha/dec_axppci_33.c optional dec_axppci_33
alpha/alpha/dec_eb164.c optional dec_eb164
alpha/alpha/dec_eb64plus.c optional dec_eb64plus
alpha/alpha/dec_kn20aa.c optional dec_kn20aa
alpha/alpha/dec_kn300.c optional dec_kn300
alpha/alpha/dec_kn8ae.c optional dec_kn8ae
alpha/alpha/dec_st550.c optional dec_st550
alpha/alpha/dec_st6600.c optional dec_st6600
alpha/alpha/dec_3000_300.c optional dec_3000_300
alpha/alpha/dec_3000_500.c optional dec_3000_500
alpha/alpha/elf_machdep.c standard
alpha/alpha/exception.s standard
alpha/alpha/fp_emulate.c standard
alpha/alpha/ieee_float.c standard
alpha/alpha/in_cksum.c optional inet
alpha/alpha/interrupt.c standard
# locore.s needs to be handled in Makefile to put it first. Otherwise it's
# now normal.
# alpha/alpha/locore.s standard
alpha/alpha/machdep.c standard
alpha/alpha/mem.c standard
alpha/alpha/mountroot.c optional slice
alpha/alpha/pal.s standard
alpha/alpha/perfmon.c optional perfmon profiling-routine
alpha/alpha/perfmon.c optional perfmon
alpha/alpha/pmap.c standard
alpha/alpha/mp_machdep.c optional smp
alpha/alpha/prom.c standard
alpha/alpha/promcons.c standard
alpha/alpha/prom_disp.s standard
alpha/alpha/sgmap.c standard
alpha/alpha/support.s standard
alpha/alpha/swtch.s standard
alpha/alpha/sys_machdep.c standard
alpha/alpha/trap.c standard
alpha/alpha/vm_machdep.c standard
alpha/isa/isa.c optional isa
alpha/isa/isa_dma.c optional isa
alpha/isa/mcclock_isa.c optional isa
alpha/linux/linux_dummy.c optional compat_linux
alpha/linux/linux_locore.s optional compat_linux \
dependency "linux_assym.h"
alpha/linux/linux_machdep.c optional compat_linux
alpha/linux/linux_sysent.c optional compat_linux
alpha/linux/linux_sysvec.c optional compat_linux
alpha/mcbus/mcbus.c optional dec_kn300
alpha/mcbus/mcmem.c optional dec_kn300
alpha/mcbus/mcpcia.c optional dec_kn300
alpha/osf1/imgact_osf1.c optional compat_linux
alpha/osf1/imgact_osf1.c optional compat_osf1
alpha/osf1/osf1_ioctl.c optional compat_linux
alpha/osf1/osf1_ioctl.c optional compat_osf1
alpha/osf1/osf1_misc.c optional compat_linux
alpha/osf1/osf1_misc.c optional compat_osf1
alpha/osf1/osf1_mount.c optional compat_linux
alpha/osf1/osf1_mount.c optional compat_osf1
alpha/osf1/osf1_signal.c optional compat_linux
alpha/osf1/osf1_signal.c optional compat_osf1
alpha/osf1/osf1_sysent.c optional compat_linux
alpha/osf1/osf1_sysent.c optional compat_osf1
alpha/osf1/osf1_sysvec.c optional compat_linux
alpha/osf1/osf1_sysvec.c optional compat_osf1
alpha/pci/alphapci_if.m optional pci
alpha/pci/apecs.c optional dec_2100_a50
alpha/pci/apecs.c optional dec_eb64plus
alpha/pci/apecs.c optional dec_1000a
alpha/pci/apecs_pci.c optional dec_2100_a50
alpha/pci/apecs_pci.c optional dec_eb64plus
alpha/pci/apecs_pci.c optional dec_1000a
alpha/pci/bwx.c optional pci
alpha/pci/cia.c optional dec_eb164
alpha/pci/cia.c optional dec_kn20aa
alpha/pci/cia.c optional dec_st550
alpha/pci/cia.c optional dec_1000a
alpha/pci/cia_pci.c optional dec_eb164
alpha/pci/cia_pci.c optional dec_kn20aa
alpha/pci/cia_pci.c optional dec_st550
alpha/pci/cia_pci.c optional dec_1000a
alpha/pci/irongate.c optional api_up1000
alpha/pci/irongate_pci.c optional api_up1000
alpha/pci/lca.c optional dec_axppci_33
alpha/pci/lca_pci.c optional dec_axppci_33
alpha/pci/pci_eb164_intr.s optional dec_eb164
alpha/pci/pci_eb164_intr.s optional dec_kn20aa
alpha/pci/pci_eb164_intr.s optional dec_st550
alpha/pci/pci_eb64plus_intr.s optional dec_2100_a50
alpha/pci/pci_eb64plus_intr.s optional dec_eb64plus
alpha/pci/pcibus.c optional pci
alpha/pci/swiz.c optional pci
alpha/pci/t2.c optional dec_2100_a500
alpha/pci/t2_pci.c optional dec_2100_a500
alpha/pci/tsunami.c optional dec_st6600
alpha/pci/tsunami_pci.c optional dec_st6600
alpha/tc/am7990.c optional le dec_3000_300
alpha/tc/am7990.c optional le dec_3000_500
alpha/tc/esp.c optional esp dec_3000_300
alpha/tc/esp.c optional esp dec_3000_500
alpha/tc/if_le_dec.c optional le dec_3000_300
alpha/tc/if_le_dec.c optional le dec_3000_500
alpha/tc/if_le_ioasic.c optional le dec_3000_300
alpha/tc/if_le_ioasic.c optional le dec_3000_500
alpha/tc/ioasic.c optional dec_3000_300
alpha/tc/ioasic.c optional dec_3000_500
alpha/tc/mcclock_ioasic.c optional dec_3000_300
alpha/tc/mcclock_ioasic.c optional dec_3000_500
alpha/tc/tc.c optional dec_3000_300
alpha/tc/tc.c optional dec_3000_500
alpha/tc/tcasic.c optional dec_3000_300
alpha/tc/tcasic.c optional dec_3000_500
alpha/tc/tcds.c optional esp dec_3000_300
alpha/tc/tcds.c optional esp dec_3000_500
alpha/tc/tcds_dma.c optional tcds dec_3000_300
alpha/tc/tcds_dma.c optional tcds dec_3000_500
alpha/tlsb/dwlpx.c optional dec_kn8ae
alpha/tlsb/gbus.c optional dec_kn8ae
alpha/tlsb/kftxx.c optional dec_kn8ae
alpha/tlsb/mcclock_tlsb.c optional dec_kn8ae
alpha/tlsb/tlsb.c optional dec_kn8ae
alpha/tlsb/tlsbcpu.c optional dec_kn8ae
alpha/tlsb/tlsbmem.c optional dec_kn8ae
alpha/tlsb/zs_tlsb.c optional dec_kn8ae
compat/linux/linux_file.c optional compat_linux
compat/linux/linux_getcwd.c optional compat_linux
compat/linux/linux_ioctl.c optional compat_linux
compat/linux/linux_ipc.c optional compat_linux
compat/linux/linux_mib.c optional compat_linux
compat/linux/linux_misc.c optional compat_linux
compat/linux/linux_signal.c optional compat_linux
compat/linux/linux_socket.c optional compat_linux
compat/linux/linux_sysctl.c optional compat_linux
compat/linux/linux_stats.c optional compat_linux
compat/linux/linux_util.c optional compat_linux
crypto/blowfish/bf_enc.c optional ipsec ipsec_esp
crypto/des/des_enc.c optional ipsec ipsec_esp
dev/advansys/adv_isa.c optional adv isa
dev/aic/aic_isa.c optional aic isa
dev/dec/mcclock.c optional mcclock
dev/dec/mcclock_if.m optional mcclock
dev/ed/if_ed_isa.c optional ed isa
dev/fb/fb.c optional fb
dev/fb/fb.c optional vga
dev/fb/splash.c optional splash
dev/fb/vga.c optional vga
dev/kbd/atkbd.c optional atkbd
dev/kbd/atkbdc.c count atkbdc
dev/kbd/kbd.c optional atkbd
dev/kbd/kbd.c optional kbd
dev/kbd/kbd.c optional sc
dev/kbd/kbd.c optional ukbd
dev/sio/sio.c optional sio
dev/sio/sio_isa.c optional sio isa
#dev/sio/sio_pccard.c optional sio pccard
dev/sio/sio_pci.c optional sio pci
dev/syscons/schistory.c count sc
dev/syscons/scmouse.c optional sc
dev/syscons/scterm.c optional sc
dev/syscons/scterm-dumb.c optional sc
dev/syscons/scterm-sc.c optional sc
dev/syscons/scvgarndr.c optional sc vga
dev/syscons/scvidctl.c optional sc
dev/syscons/scvtb.c optional sc
dev/syscons/syscons.c optional sc
dev/syscons/sysmouse.c optional sc
isa/atkbd_isa.c optional atkbd
isa/atkbdc_isa.c optional atkbdc
isa/fd.c optional fdc
isa/ppc.c optional ppc
isa/psm.c optional psm
isa/syscons_isa.c optional sc
isa/vga_isa.c optional vga
kern/subr_diskmbr.c standard
libkern/alpha/bswap16.S standard
libkern/alpha/bswap32.S standard
libkern/bcmp.c standard
libkern/ffs.c standard