summaryrefslogtreecommitdiffstats
path: root/sys/conf
diff options
context:
space:
mode:
authordillon <dillon@FreeBSD.org>2002-03-27 05:39:23 +0000
committerdillon <dillon@FreeBSD.org>2002-03-27 05:39:23 +0000
commitdc5aafeb94ddee4f835e390dffaecbb0eec5d5e2 (patch)
tree8233f61cf29e01829b91c6a5cf27defe60e6b8d8 /sys/conf
parent9b5143f94f573dc8954cb0913f3edb055e6caf0f (diff)
downloadFreeBSD-src-dc5aafeb94ddee4f835e390dffaecbb0eec5d5e2.zip
FreeBSD-src-dc5aafeb94ddee4f835e390dffaecbb0eec5d5e2.tar.gz
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
Diffstat (limited to 'sys/conf')
-rw-r--r--sys/conf/files.alpha1
-rw-r--r--sys/conf/files.i3861
-rw-r--r--sys/conf/files.ia641
-rw-r--r--sys/conf/files.pc981
-rw-r--r--sys/conf/files.powerpc1
-rw-r--r--sys/conf/files.sparc641
6 files changed, 6 insertions, 0 deletions
diff --git a/sys/conf/files.alpha b/sys/conf/files.alpha
index 9854c5d..9733f65 100644
--- a/sys/conf/files.alpha
+++ b/sys/conf/files.alpha
@@ -39,6 +39,7 @@ 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
diff --git a/sys/conf/files.i386 b/sys/conf/files.i386
index ecae824..5243412 100644
--- a/sys/conf/files.i386
+++ b/sys/conf/files.i386
@@ -199,6 +199,7 @@ 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
diff --git a/sys/conf/files.ia64 b/sys/conf/files.ia64
index 9af5112..9850f3b 100644
--- a/sys/conf/files.ia64
+++ b/sys/conf/files.ia64
@@ -27,6 +27,7 @@ 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
diff --git a/sys/conf/files.pc98 b/sys/conf/files.pc98
index 7a44e84..c7d9d7f 100644
--- a/sys/conf/files.pc98
+++ b/sys/conf/files.pc98
@@ -183,6 +183,7 @@ 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
diff --git a/sys/conf/files.powerpc b/sys/conf/files.powerpc
index 4d6fa6f..98307c8 100644
--- a/sys/conf/files.powerpc
+++ b/sys/conf/files.powerpc
@@ -16,6 +16,7 @@ powerpc/powerpc/bcopy.c standard
powerpc/powerpc/clock.c standard
powerpc/powerpc/copyinout.c standard
powerpc/powerpc/copystr.c standard
+powerpc/powerpc/critical.c standard
powerpc/powerpc/elf_machdep.c standard
powerpc/powerpc/extintr.c standard
powerpc/powerpc/fuswintr.c standard
diff --git a/sys/conf/files.sparc64 b/sys/conf/files.sparc64
index bb2bdee..ba67ba9 100644
--- a/sys/conf/files.sparc64
+++ b/sys/conf/files.sparc64
@@ -28,6 +28,7 @@ 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
OpenPOWER on IntegriCloud