mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-21 11:13:30 +00:00
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
66 lines
2.3 KiB
Plaintext
66 lines
2.3 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.
|
|
#
|
|
|
|
crypto/blowfish/bf_enc.c optional ipsec ipsec_esp
|
|
crypto/des/des_enc.c optional ipsec ipsec_esp
|
|
dev/ofw/ofw_console.c optional ofw_console
|
|
dev/ofw/openfirm.c standard
|
|
libkern/ffs.c standard
|
|
kern/subr_diskmbr.c standard
|
|
kern/syscalls.c optional ktr
|
|
sparc64/ebus/ebus.c count ebus
|
|
sparc64/isa/isa.c optional isa
|
|
# The following is needed for both ISA and EBus.
|
|
sparc64/isa/ofw_isa.c standard
|
|
sparc64/pci/apb.c optional apb
|
|
sparc64/pci/ofw_pci.c optional pci
|
|
sparc64/pci/psycho.c optional pci
|
|
sparc64/sbus/sbus.c optional sbus
|
|
sparc64/sparc64/autoconf.c standard
|
|
sparc64/sparc64/bus_machdep.c standard
|
|
sparc64/sparc64/cache.c standard
|
|
sparc64/sparc64/clock.c standard
|
|
sparc64/sparc64/counter.c standard
|
|
sparc64/sparc64/critical.c standard
|
|
sparc64/sparc64/db_disasm.c optional ddb
|
|
sparc64/sparc64/db_interface.c optional ddb
|
|
sparc64/sparc64/db_trace.c optional ddb
|
|
sparc64/sparc64/db_hwwatch.c optional ddb
|
|
sparc64/sparc64/elf_machdep.c standard
|
|
# locore.s and exception.s need to be handled in Makefile to put them first.
|
|
# Otherwise it's they're normal.
|
|
# sparc64/sparc64/locore.s standard
|
|
# sparc64/sparc64/exception.s standard
|
|
sparc64/sparc64/emul.c standard
|
|
sparc64/sparc64/fp.c standard
|
|
sparc64/sparc64/identcpu.c standard
|
|
sparc64/sparc64/in_cksum.c optional inet
|
|
sparc64/sparc64/intr_machdep.c standard
|
|
sparc64/sparc64/iommu.c standard
|
|
sparc64/sparc64/machdep.c standard
|
|
sparc64/sparc64/mem.c standard
|
|
sparc64/sparc64/mp_exception.s optional smp
|
|
sparc64/sparc64/mp_locore.s optional smp
|
|
sparc64/sparc64/mp_machdep.c optional smp
|
|
sparc64/sparc64/nexus.c standard
|
|
sparc64/sparc64/ofw_bus.c standard
|
|
sparc64/sparc64/ofw_machdep.c standard
|
|
sparc64/sparc64/pmap.c standard
|
|
sparc64/sparc64/pv.c standard
|
|
sparc64/sparc64/rwindow.c standard
|
|
sparc64/sparc64/sparcbus_if.m standard
|
|
sparc64/sparc64/support.s standard
|
|
sparc64/sparc64/sys_machdep.c standard
|
|
sparc64/sparc64/swtch.s standard
|
|
sparc64/sparc64/tick.c standard
|
|
sparc64/sparc64/trap.c standard
|
|
sparc64/sparc64/tsb.c standard
|
|
sparc64/sparc64/vm_machdep.c standard
|