freebsd-nq/sys/conf/files.i386
Robert Watson a632deec30 Add an "options MP_WATCHDOG" to i386. This option allows one of the
logical CPUs on a system to be used as a dedicated watchdog to cause a
drop to the debugger and/or generate an NMI to the boot processor if
the kernel ceases to respond.  A sysctl enables the watchdog running
out of the processor's idle thread; a callout is launched to reset a
timer in the watchdog.  If the callout fails to reset the timer for ten
seconds, the watchdog will fire.  The sysctl allows you to select which
CPU will run the watchdog.

A sample "debug.leak_schedlock" is included, which causes a sysctl to
spin holding sched_lock in order to trigger the watchdog.  On my Xeons,
the watchdog is able to detect this failure mode and break into the
debugger, which cannot otherwise be done without an NMI button.

This option does not currently work with sched_ule due to ule's push
notion of scheduling, similar to machdep.hlt_logical_cpus failing to
work with that scheduler.

On face value, this might seem somewhat inefficient, but there are a
lot of dual-processor Xeons with HTT around, so using one as a watchdog
for testing is not as inefficient as one might fear.
2004-08-15 18:02:09 +00:00

423 lines
16 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/i386/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"
#
svr4_genassym.o optional compat_svr4 \
dependency "$S/i386/svr4/svr4_genassym.c" \
compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \
no-obj no-implicit-rule \
clean "svr4_genassym.o"
#
svr4_assym.h optional compat_svr4 \
dependency "$S/kern/genassym.sh svr4_genassym.o" \
compile-with "sh $S/kern/genassym.sh svr4_genassym.o > ${.TARGET}" \
no-obj no-implicit-rule before-depend \
clean "svr4_assym.h"
#
font.h optional sc_dflt_font \
compile-with "uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x16.fnt && file2c 'static u_char dflt_font_16[16*256] = {' '};' < ${SC_DFLT_FONT}-8x16 > font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x14.fnt && file2c 'static u_char dflt_font_14[14*256] = {' '};' < ${SC_DFLT_FONT}-8x14 >> font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x8.fnt && file2c 'static u_char dflt_font_8[8*256] = {' '};' < ${SC_DFLT_FONT}-8x8 >> font.h" \
no-obj no-implicit-rule before-depend \
clean "font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 ${SC_DFLT_FONT}-8x8"
#
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"
#
ukbdmap.h optional ukbd_dflt_keymap \
compile-with "/usr/sbin/kbdcontrol -L ${UKBD_DFLT_KEYMAP} | sed -e 's/^static keymap_t.* = /static keymap_t key_map = /' -e 's/^static accentmap_t.* = /static accentmap_t accent_map = /' > ukbdmap.h" \
no-obj no-implicit-rule before-depend \
clean "ukbdmap.h"
#
trlld.o optional oltr \
dependency "$S/contrib/dev/oltr/i386-elf.trlld.o.uu" \
compile-with "uudecode < $S/contrib/dev/oltr/i386-elf.trlld.o.uu" \
no-implicit-rule
#
hal.o optional ath_hal \
dependency "$S/contrib/dev/ath/freebsd/i386-elf.hal.o.uu" \
compile-with "uudecode < $S/contrib/dev/ath/freebsd/i386-elf.hal.o.uu" \
no-implicit-rule
#
#
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_stats.c optional compat_linux
compat/linux/linux_sysctl.c optional compat_linux
compat/linux/linux_uid16.c optional compat_linux
compat/linux/linux_util.c optional compat_linux
compat/ndis/kern_ndis.c optional ndisapi pci
compat/ndis/subr_hal.c optional ndisapi pci
compat/ndis/subr_ndis.c optional ndisapi pci
compat/ndis/subr_ntoskrnl.c optional ndisapi pci
compat/ndis/subr_pe.c optional ndisapi pci
compat/pecoff/imgact_pecoff.c optional pecoff_support
compat/svr4/imgact_svr4.c optional compat_svr4
compat/svr4/svr4_fcntl.c optional compat_svr4
compat/svr4/svr4_filio.c optional compat_svr4
compat/svr4/svr4_ioctl.c optional compat_svr4
compat/svr4/svr4_ipc.c optional compat_svr4
compat/svr4/svr4_misc.c optional compat_svr4
compat/svr4/svr4_resource.c optional compat_svr4
compat/svr4/svr4_signal.c optional compat_svr4
compat/svr4/svr4_socket.c optional compat_svr4
compat/svr4/svr4_sockio.c optional compat_svr4
compat/svr4/svr4_stat.c optional compat_svr4
compat/svr4/svr4_stream.c optional compat_svr4
compat/svr4/svr4_syscallnames.c optional compat_svr4
compat/svr4/svr4_sysent.c optional compat_svr4
compat/svr4/svr4_sysvec.c optional compat_svr4
compat/svr4/svr4_termios.c optional compat_svr4
compat/svr4/svr4_ttold.c optional compat_svr4
contrib/dev/oltr/if_oltr.c optional oltr
contrib/dev/oltr/trlldbm.c optional oltr
contrib/dev/oltr/trlldhm.c optional oltr
contrib/dev/oltr/trlldmac.c optional oltr
bf_enc.o optional ipsec ipsec_esp \
dependency "$S/crypto/blowfish/arch/i386/bf_enc.S $S/crypto/blowfish/arch/i386/bf_enc_586.S $S/crypto/blowfish/arch/i386/bf_enc_686.S" \
compile-with "${CC} -c -I$S/crypto/blowfish/arch/i386 ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}" \
no-implicit-rule
crypto/des/arch/i386/des_enc.S optional ipsec ipsec_esp
crypto/des/des_ecb.c optional netsmbcrypto
crypto/des/arch/i386/des_enc.S optional netsmbcrypto
crypto/des/des_setkey.c optional netsmbcrypto
bf_enc.o optional crypto \
dependency "$S/crypto/blowfish/arch/i386/bf_enc.S $S/crypto/blowfish/arch/i386/bf_enc_586.S $S/crypto/blowfish/arch/i386/bf_enc_686.S" \
compile-with "${CC} -c -I$S/crypto/blowfish/arch/i386 ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}" \
no-implicit-rule
crypto/des/arch/i386/des_enc.S optional crypto
crypto/des/des_ecb.c optional crypto
crypto/des/des_setkey.c optional crypto
dev/advansys/adv_isa.c optional adv isa
dev/aic/aic_isa.c optional aic isa
dev/ar/if_ar.c optional ar
dev/ar/if_ar_isa.c optional ar isa
dev/ar/if_ar_pci.c optional ar pci
dev/arl/if_arl.c optional arl
dev/arl/if_arl_isa.c optional arl isa
dev/cm/if_cm_isa.c optional cm isa
dev/cp/cpddk.c optional cp
dev/cp/if_cp.c optional cp
dev/ctau/ctau.c optional ctau
dev/ctau/ctddk.c optional ctau
dev/ctau/if_ct.c optional ctau
dev/cx/csigma.c optional cx
dev/cx/cxddk.c optional cx
dev/cx/if_cx.c optional cx
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/fdc/fdc.c optional fdc
dev/fdc/fdc_acpi.c optional fdc
dev/fdc/fdc_isa.c optional fdc isa
dev/fdc/fdc_pccard.c optional fdc card
dev/fdc/fdc_pccard.c optional fdc pccard
dev/fe/if_fe_isa.c optional fe isa
dev/ichwd/ichwd.c optional ichwd
dev/if_ndis/if_ndis.c optional ndis
dev/if_ndis/if_ndis_pccard.c optional ndis card
dev/if_ndis/if_ndis_pccard.c optional ndis pccard
dev/if_ndis/if_ndis_pci.c optional ndis cardbus
dev/if_ndis/if_ndis_pci.c optional ndis pci
dev/kbd/atkbd.c optional atkbd
dev/kbd/atkbdc.c optional 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/kbd/kbd.c optional vt
dev/lnc/if_lnc_isa.c optional lnc isa
dev/io/iodev.c optional io
dev/mem/memutil.c optional mem
dev/ppc/ppc.c optional ppc
dev/ppc/ppc_puc.c optional ppc puc pci
dev/random/nehemiah.c optional random
dev/sbni/if_sbni.c optional sbni
dev/sbni/if_sbni_isa.c optional sbni isa
dev/sbni/if_sbni_pci.c optional sbni pci
dev/sio/sio.c optional sio
dev/sio/sio_isa.c optional sio isa
dev/sr/if_sr_isa.c optional sr isa
dev/syscons/apm/apm_saver.c optional apm_saver apm
dev/syscons/schistory.c optional 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/scvesactl.c optional sc vga vesa
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
dev/uart/uart_cpu_i386.c optional uart
geom/geom_bsd.c standard
geom/geom_bsd_enc.c standard
geom/geom_mbr.c standard
geom/geom_mbr_enc.c standard
dev/acpica/acpi_if.m standard
i386/acpica/OsdEnvironment.c optional acpi
i386/acpica/acpi_asus.c optional acpi_asus acpi
i386/acpica/acpi_machdep.c optional acpi
i386/acpica/acpi_panasonic.c optional acpi_panasonic acpi
i386/acpica/acpi_toshiba.c optional acpi_toshiba acpi
i386/acpica/acpi_wakeup.c optional acpi
acpi_wakecode.h optional acpi \
dependency "$S/i386/acpica/acpi_wakecode.S" \
compile-with "${MAKE} -f $S/i386/acpica/Makefile MAKESRCPATH=$S/i386/acpica" \
no-obj no-implicit-rule before-depend \
clean "acpi_wakecode.h acpi_wakecode.o acpi_wakecode.bin"
#
i386/acpica/madt.c optional acpi apic
i386/bios/apm.c optional apm
i386/bios/mca_machdep.c optional mca
i386/bios/smapi.c optional smapi
i386/bios/smapi_bios.S optional smapi
i386/bios/smbios.c optional smbios
i386/bios/vpd.c optional vpd
#i386/i386/apic_vector.s optional apic
i386/i386/atomic.c standard \
compile-with "${CC} -c ${CFLAGS} ${DEFINED_PROF:S/^$/-fomit-frame-pointer/} ${.IMPSRC}"
i386/i386/autoconf.c standard
i386/i386/bios.c standard
i386/i386/bioscall.s standard
i386/i386/busdma_machdep.c standard
i386/i386/critical.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/dump_machdep.c standard
i386/i386/elan-mmcr.c optional cpu_elan
i386/i386/elan-mmcr.c optional cpu_soekris
i386/i386/elf_machdep.c standard
i386/i386/exception.s standard
i386/i386/gdb_machdep.c optional gdb
i386/i386/geode.c optional cpu_geode
i386/i386/i686_mem.c optional mem
i386/i386/identcpu.c standard
i386/i386/in_cksum.c optional inet
i386/i386/initcpu.c standard
i386/i386/intr_machdep.c standard
i386/i386/io_apic.c optional apic
i386/i386/io.c optional io
i386/i386/k6_mem.c optional mem
i386/i386/legacy.c standard
i386/i386/local_apic.c optional apic
i386/i386/locore.s standard no-obj
i386/i386/longrun.c optional cpu_enable_longrun
i386/i386/machdep.c standard
i386/i386/mem.c optional mem
i386/i386/mp_clock.c optional smp
i386/i386/mp_machdep.c optional smp
i386/i386/mp_watchdog.c optional mp_watchdog smp
i386/i386/mpboot.s optional smp
i386/i386/mptable.c optional apic
i386/i386/mptable_pci.c optional apic pci
i386/i386/nexus.c standard
i386/i386/p4tcc.c optional cpu_enable_tcc
i386/i386/perfmon.c optional perfmon
i386/i386/perfmon.c optional perfmon profiling-routine
i386/i386/pmap.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/tsc.c standard
i386/i386/uio_machdep.c standard
i386/i386/vm86.c standard
i386/i386/vm_machdep.c standard
i386/ibcs2/ibcs2_errno.c optional ibcs2
i386/ibcs2/ibcs2_fcntl.c optional ibcs2
i386/ibcs2/ibcs2_ioctl.c optional ibcs2
i386/ibcs2/ibcs2_ipc.c optional ibcs2
i386/ibcs2/ibcs2_isc.c optional ibcs2
i386/ibcs2/ibcs2_isc_sysent.c optional ibcs2
i386/ibcs2/ibcs2_misc.c optional ibcs2
i386/ibcs2/ibcs2_msg.c optional ibcs2
i386/ibcs2/ibcs2_other.c optional ibcs2
i386/ibcs2/ibcs2_signal.c optional ibcs2
i386/ibcs2/ibcs2_socksys.c optional ibcs2
i386/ibcs2/ibcs2_stat.c optional ibcs2
i386/ibcs2/ibcs2_sysent.c optional ibcs2
i386/ibcs2/ibcs2_sysi86.c optional ibcs2
i386/ibcs2/ibcs2_sysvec.c optional ibcs2
i386/ibcs2/ibcs2_util.c optional ibcs2
i386/ibcs2/ibcs2_xenix.c optional ibcs2
i386/ibcs2/ibcs2_xenix_sysent.c optional ibcs2
i386/ibcs2/imgact_coff.c optional ibcs2
i386/isa/atpic.c standard
#i386/isa/atpic_vector.s standard
i386/isa/clock.c standard
i386/isa/elcr.c standard
i386/isa/elink.c optional ep
i386/isa/elink.c optional ie
i386/isa/if_el.c optional el
i386/isa/isa.c optional isa
i386/isa/isa_dma.c optional isa
i386/isa/mse.c optional mse
i386/isa/nmi.c standard
i386/isa/npx.c optional npx
i386/isa/pcf.c optional pcf
i386/isa/pcvt/pcvt_drv.c optional vt
i386/isa/pcvt/pcvt_ext.c optional vt
i386/isa/pcvt/pcvt_kbd.c optional vt
i386/isa/pcvt/pcvt_out.c optional vt
i386/isa/pcvt/pcvt_sup.c optional vt
i386/isa/pcvt/pcvt_vtf.c optional vt
i386/isa/pmtimer.c optional pmtimer
i386/isa/prof_machdep.c optional profiling-routine
i386/isa/spic.c optional spic
i386/isa/spkr.c optional speaker
i386/isa/vesa.c optional vga vesa
i386/linux/imgact_linux.c optional compat_linux
i386/linux/linux_dummy.c optional compat_linux
i386/linux/linux_locore.s optional compat_linux \
dependency "linux_assym.h"
i386/linux/linux_machdep.c optional compat_linux
i386/linux/linux_ptrace.c optional compat_linux
i386/linux/linux_sysent.c optional compat_linux
i386/linux/linux_sysvec.c optional compat_linux
i386/pci/pci_bus.c optional pci
i386/pci/pci_cfgreg.c optional pci
i386/pci/pci_pir.c optional pci
i386/svr4/svr4_locore.s optional compat_svr4 \
dependency "svr4_assym.h" \
warning "COMPAT_SVR4 is broken and should be avoided"
i386/svr4/svr4_machdep.c optional compat_svr4
#
# isdn4bsd, needed for isic | iwic | ifpi | ifpi2 | ihfc | ifpnp | itjc
#
i4b/layer1/i4b_hdlc.c optional itjc
i4b/layer1/i4b_hdlc.c optional ihfc
i4b/layer1/i4b_l1dmux.c optional isic
i4b/layer1/i4b_l1lib.c optional isic
i4b/layer1/i4b_l1dmux.c optional iwic
i4b/layer1/i4b_l1lib.c optional iwic
i4b/layer1/i4b_l1dmux.c optional ifpi
i4b/layer1/i4b_l1lib.c optional ifpi
i4b/layer1/i4b_l1dmux.c optional ifpi2
i4b/layer1/i4b_l1lib.c optional ifpi2
i4b/layer1/i4b_l1dmux.c optional ihfc
i4b/layer1/i4b_l1lib.c optional ihfc
i4b/layer1/i4b_l1dmux.c optional ifpnp
i4b/layer1/i4b_l1lib.c optional ifpnp
i4b/layer1/i4b_l1dmux.c optional itjc
i4b/layer1/i4b_l1lib.c optional itjc
#
# isdn4bsd, isic
#
i4b/layer1/isic/i4b_asuscom_ipac.c optional isic
i4b/layer1/isic/i4b_avm_a1.c optional isic
i4b/layer1/isic/i4b_bchan.c optional isic
i4b/layer1/isic/i4b_ctx_s0P.c optional isic
i4b/layer1/isic/i4b_drn_ngo.c optional isic
i4b/layer1/isic/i4b_dynalink.c optional isic
i4b/layer1/isic/i4b_elsa_qs1i.c optional isic
i4b/layer1/isic/i4b_elsa_qs1p.c optional isic pci
i4b/layer1/isic/i4b_elsa_pcc16.c optional isic
i4b/layer1/isic/i4b_hscx.c optional isic
i4b/layer1/isic/i4b_isac.c optional isic
i4b/layer1/isic/i4b_isic.c optional isic
i4b/layer1/isic/i4b_isic_isa.c optional isic
i4b/layer1/isic/i4b_isic_pnp.c optional isic
i4b/layer1/isic/i4b_itk_ix1.c optional isic
i4b/layer1/isic/i4b_l1.c optional isic
i4b/layer1/isic/i4b_l1fsm.c optional isic
i4b/layer1/isic/i4b_siemens_isurf.c optional isic
i4b/layer1/isic/i4b_sws.c optional isic
i4b/layer1/isic/i4b_tel_s016.c optional isic
i4b/layer1/isic/i4b_tel_s0163.c optional isic
i4b/layer1/isic/i4b_tel_s08.c optional isic
i4b/layer1/isic/i4b_usr_sti.c optional isic
i4b/layer1/isic/i4b_diva.c optional isic
#
# isdn4bsd, iwic
#
i4b/layer1/iwic/i4b_iwic_pci.c optional iwic pci
i4b/layer1/iwic/i4b_iwic_dchan.c optional iwic pci
i4b/layer1/iwic/i4b_iwic_bchan.c optional iwic pci
i4b/layer1/iwic/i4b_iwic_fsm.c optional iwic pci
i4b/layer1/iwic/i4b_iwic_l1if.c optional iwic pci
#
# isdn4bsd, ifpi
#
i4b/layer1/ifpi/i4b_ifpi_pci.c optional ifpi pci
i4b/layer1/ifpi/i4b_ifpi_isac.c optional ifpi pci
i4b/layer1/ifpi/i4b_ifpi_l1.c optional ifpi pci
i4b/layer1/ifpi/i4b_ifpi_l1fsm.c optional ifpi pci
#
# isdn4bsd, ifpi2
#
i4b/layer1/ifpi2/i4b_ifpi2_pci.c optional ifpi2 pci
i4b/layer1/ifpi2/i4b_ifpi2_isacsx.c optional ifpi2 pci
i4b/layer1/ifpi2/i4b_ifpi2_l1.c optional ifpi2 pci
i4b/layer1/ifpi2/i4b_ifpi2_l1fsm.c optional ifpi2 pci
#
# isdn4bsd, ifpnp
#
i4b/layer1/ifpnp/i4b_ifpnp_avm.c optional ifpnp
i4b/layer1/ifpnp/i4b_ifpnp_isac.c optional ifpnp
i4b/layer1/ifpnp/i4b_ifpnp_l1.c optional ifpnp
i4b/layer1/ifpnp/i4b_ifpnp_l1fsm.c optional ifpnp
#
# isdn4bsd, ihfc
#
i4b/layer1/ihfc/i4b_ihfc_l1if.c optional ihfc
i4b/layer1/ihfc/i4b_ihfc_pnp.c optional ihfc
i4b/layer1/ihfc/i4b_ihfc_drv.c optional ihfc
#
# isdn4bsd, itjc
#
i4b/layer1/itjc/i4b_itjc_pci.c optional itjc
i4b/layer1/itjc/i4b_itjc_isac.c optional itjc
i4b/layer1/itjc/i4b_itjc_l1.c optional itjc
i4b/layer1/itjc/i4b_itjc_l1fsm.c optional itjc
#
isa/atkbd_isa.c optional atkbd
isa/atkbdc_isa.c optional atkbdc
isa/psm.c optional psm
isa/syscons_isa.c optional sc
isa/vga_isa.c optional vga
kern/imgact_aout.c optional compat_aout
kern/imgact_gzip.c optional gzip
libkern/divdi3.c standard
libkern/ffsl.c standard
libkern/flsl.c standard
libkern/moddi3.c standard
libkern/qdivrem.c standard
libkern/ucmpdi2.c standard
libkern/udivdi3.c standard
libkern/umoddi3.c standard
pci/agp_ali.c optional agp
pci/agp_amd.c optional agp
pci/agp_i810.c optional agp
pci/agp_intel.c optional agp
pci/agp_nvidia.c optional agp
pci/agp_sis.c optional agp
pci/agp_via.c optional agp