d74ac6819b
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
117 lines
4.1 KiB
Plaintext
117 lines
4.1 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.
|
|
#
|
|
#
|
|
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"
|
|
#
|
|
ia64/acpica/acpi_machdep.c optional acpica
|
|
ia64/acpica/acpi_wakeup.c optional acpica
|
|
ia64/acpica/OsdEnvironment.c optional acpica
|
|
ia64/acpica/madt.c optional acpica
|
|
ia64/ia64/ia64-gdbstub.c optional ddb
|
|
ia64/ia64/autoconf.c standard
|
|
ia64/ia64/busdma_machdep.c standard
|
|
ia64/ia64/clock.c standard
|
|
ia64/ia64/clock_if.m standard
|
|
ia64/ia64/critical.c standard
|
|
ia64/ia64/db_disasm.c optional ddb
|
|
ia64/ia64/db_interface.c optional ddb
|
|
ia64/ia64/db_trace.c optional ddb
|
|
ia64/ia64/efi.c standard
|
|
ia64/ia64/eficlock.c standard
|
|
ia64/ia64/elf_machdep.c standard
|
|
ia64/ia64/exception.s standard
|
|
ia64/ia64/in_cksum.c optional inet
|
|
ia64/ia64/interrupt.c standard
|
|
# locore.s needs to be handled in Makefile to put it first. Otherwise it's
|
|
# now normal.
|
|
# ia64/ia64/locore.s standard
|
|
ia64/ia64/machdep.c standard
|
|
ia64/ia64/mem.c standard
|
|
ia64/ia64/mountroot.c optional slice
|
|
ia64/ia64/mp_machdep.c optional smp
|
|
ia64/ia64/nexus.c standard
|
|
ia64/ia64/pal.s standard
|
|
ia64/ia64/pal_stub.s optional ski
|
|
ia64/ia64/perfmon.c optional perfmon profiling-routine
|
|
ia64/ia64/perfmon.c optional perfmon
|
|
ia64/ia64/pmap.c standard
|
|
ia64/ia64/sal.c standard
|
|
ia64/ia64/sapic.c standard
|
|
ia64/ia64/setjmp.s standard
|
|
ia64/ia64/ski.c optional ski
|
|
ia64/ia64/support.s standard
|
|
ia64/ia64/ssc.c optional ski
|
|
ia64/ia64/sscdisk.c optional ski
|
|
ia64/ia64/swtch.s standard
|
|
ia64/ia64/sys_machdep.c standard
|
|
ia64/ia64/trap.c standard
|
|
ia64/ia64/unaligned.c standard
|
|
ia64/ia64/unwind.c optional ddb
|
|
ia64/ia64/vm_machdep.c standard
|
|
ia64/isa/isa.c optional isa
|
|
ia64/isa/isa_dma.c optional isa
|
|
ia64/pci/pci_cfgreg.c optional pci
|
|
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/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/ia64/bswap16.S standard
|
|
libkern/ia64/bswap32.S standard
|
|
libkern/ia64/__divsi3.S standard
|
|
libkern/ia64/__modsi3.S standard
|
|
libkern/ia64/__udivsi3.S standard
|
|
libkern/ia64/__umodsi3.S standard
|
|
libkern/ia64/__divdi3.S standard
|
|
libkern/ia64/__moddi3.S standard
|
|
libkern/ia64/__udivdi3.S standard
|
|
libkern/ia64/__umoddi3.S standard
|
|
libkern/bcmp.c standard
|
|
libkern/ffs.c standard
|