summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authormarkm <markm@FreeBSD.org>2001-02-11 10:44:09 +0000
committermarkm <markm@FreeBSD.org>2001-02-11 10:44:09 +0000
commit4e9c36b3003ffcfb812ef0bea8d7504d6a422c13 (patch)
tree3590416bf784163b3ca3a8bc2452bde5c704d0ad /sys
parent0f9088da5625e8088bdbd7b3587fdadb265b1482 (diff)
downloadFreeBSD-src-4e9c36b3003ffcfb812ef0bea8d7504d6a422c13.zip
FreeBSD-src-4e9c36b3003ffcfb812ef0bea8d7504d6a422c13.tar.gz
RIP <machine/lock.h>.
Some things needed bits of <i386/include/lock.h> - cy.c now has its own (only) copy of the COM_(UN)LOCK() macros, and IMASK_(UN)LOCK() has been moved to <i386/include/apic.h> (AKA <machine/apic.h>). Reviewed by: jhb
Diffstat (limited to 'sys')
-rw-r--r--sys/alpha/alpha/mp_machdep.c1
-rw-r--r--sys/alpha/include/lock.h39
-rw-r--r--sys/amd64/amd64/cpu_switch.S1
-rw-r--r--sys/amd64/amd64/exception.S2
-rw-r--r--sys/amd64/amd64/exception.s2
-rw-r--r--sys/amd64/amd64/swtch.s1
-rw-r--r--sys/amd64/include/apicreg.h24
-rw-r--r--sys/amd64/include/atomic.h13
-rw-r--r--sys/amd64/isa/intr_machdep.c3
-rw-r--r--sys/amd64/isa/ithread.c3
-rw-r--r--sys/amd64/isa/nmi.c3
-rw-r--r--sys/arm/include/lock.h36
-rw-r--r--sys/dev/cy/cy.c22
-rw-r--r--sys/dev/cy/cy_isa.c22
-rw-r--r--sys/dev/sio/sio.c4
-rw-r--r--sys/i386/i386/exception.s2
-rw-r--r--sys/i386/i386/swtch.s1
-rw-r--r--sys/i386/include/apic.h24
-rw-r--r--sys/i386/include/apicreg.h24
-rw-r--r--sys/i386/include/atomic.h13
-rw-r--r--sys/i386/include/lock.h87
-rw-r--r--sys/i386/isa/cy.c22
-rw-r--r--sys/i386/isa/intr_machdep.c3
-rw-r--r--sys/i386/isa/ithread.c3
-rw-r--r--sys/i386/isa/nmi.c3
-rw-r--r--sys/ia64/ia64/mp_machdep.c1
-rw-r--r--sys/ia64/include/lock.h35
-rw-r--r--sys/isa/sio.c4
-rw-r--r--sys/kern/kern_shutdown.c1
-rw-r--r--sys/libkern/mcount.c1
-rw-r--r--sys/pc98/cbus/pckbd.c1
-rw-r--r--sys/pc98/cbus/sio.c4
-rw-r--r--sys/pc98/pc98/pc98kbd.c1
-rw-r--r--sys/pc98/pc98/sio.c4
-rw-r--r--sys/powerpc/include/lock.h36
-rw-r--r--sys/powerpc/powerpc/mp_machdep.c1
-rw-r--r--sys/sys/kernel.h3
-rw-r--r--sys/sys/lock.h2
-rw-r--r--sys/sys/lockmgr.h2
39 files changed, 159 insertions, 295 deletions
diff --git a/sys/alpha/alpha/mp_machdep.c b/sys/alpha/alpha/mp_machdep.c
index b40ffa4..bc433e1 100644
--- a/sys/alpha/alpha/mp_machdep.c
+++ b/sys/alpha/alpha/mp_machdep.c
@@ -44,7 +44,6 @@
#include <sys/dkstat.h>
#include <machine/smp.h>
-#include <machine/lock.h>
#include <machine/atomic.h>
#include <machine/globaldata.h>
#include <machine/pmap.h>
diff --git a/sys/alpha/include/lock.h b/sys/alpha/include/lock.h
deleted file mode 100644
index 49bb8ff..0000000
--- a/sys/alpha/include/lock.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 1997, by Steve Passe
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. The name of the developer may NOT be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD$
- */
-
-
-#ifndef _MACHINE_LOCK_H_
-#define _MACHINE_LOCK_H_
-
-extern struct mtx panic_mtx;
-
-#define COM_LOCK()
-#define COM_UNLOCK()
-#define COM_DISABLE_INTR() COM_LOCK()
-#define COM_ENABLE_INTR() COM_UNLOCK()
-
-#endif /* !_MACHINE_LOCK_H_ */
diff --git a/sys/amd64/amd64/cpu_switch.S b/sys/amd64/amd64/cpu_switch.S
index 20fe50a..97154df 100644
--- a/sys/amd64/amd64/cpu_switch.S
+++ b/sys/amd64/amd64/cpu_switch.S
@@ -48,7 +48,6 @@
#include <machine/pmap.h>
#include <machine/apic.h>
#include <machine/smptests.h> /** GRAB_LOPRIO */
-#include <machine/lock.h>
#endif /* SMP */
#include "assym.s"
diff --git a/sys/amd64/amd64/exception.S b/sys/amd64/amd64/exception.S
index 51662ba..33ed923 100644
--- a/sys/amd64/amd64/exception.S
+++ b/sys/amd64/amd64/exception.S
@@ -38,7 +38,7 @@
#include <machine/asmacros.h>
#include <sys/ipl.h>
#include <sys/mutex.h>
-#include <machine/lock.h>
+#include <machine/atomic.h>
#include <machine/psl.h>
#include <machine/trap.h>
#ifdef SMP
diff --git a/sys/amd64/amd64/exception.s b/sys/amd64/amd64/exception.s
index 51662ba..33ed923 100644
--- a/sys/amd64/amd64/exception.s
+++ b/sys/amd64/amd64/exception.s
@@ -38,7 +38,7 @@
#include <machine/asmacros.h>
#include <sys/ipl.h>
#include <sys/mutex.h>
-#include <machine/lock.h>
+#include <machine/atomic.h>
#include <machine/psl.h>
#include <machine/trap.h>
#ifdef SMP
diff --git a/sys/amd64/amd64/swtch.s b/sys/amd64/amd64/swtch.s
index 20fe50a..97154df 100644
--- a/sys/amd64/amd64/swtch.s
+++ b/sys/amd64/amd64/swtch.s
@@ -48,7 +48,6 @@
#include <machine/pmap.h>
#include <machine/apic.h>
#include <machine/smptests.h> /** GRAB_LOPRIO */
-#include <machine/lock.h>
#endif /* SMP */
#include "assym.s"
diff --git a/sys/amd64/include/apicreg.h b/sys/amd64/include/apicreg.h
index be9de4f..3d84792 100644
--- a/sys/amd64/include/apicreg.h
+++ b/sys/amd64/include/apicreg.h
@@ -463,4 +463,28 @@ typedef struct IOAPIC ioapic_t;
#define IOART_INTVEC 0x000000ff /* R/W: INTerrupt vector field */
+#ifdef LOCORE
+
+#ifdef SMP
+
+/*
+ * Protects the IO APIC and apic_imen as a critical region.
+ */
+#define IMASK_LOCK MTX_LOCK_SPIN(_imen_mtx, 0)
+#define IMASK_UNLOCK MTX_UNLOCK_SPIN(_imen_mtx)
+
+#else /* SMP */
+
+#define IMASK_LOCK /* NOP */
+#define IMASK_UNLOCK /* NOP */
+
+#endif /* SMP */
+
+#else /* LOCORE */
+
+/* global data in mp_machdep.c */
+extern struct mtx imen_mtx;
+
+#endif /* LOCORE */
+
#endif /* _MACHINE_APIC_H_ */
diff --git a/sys/amd64/include/atomic.h b/sys/amd64/include/atomic.h
index b5035b89e..cb899a6 100644
--- a/sys/amd64/include/atomic.h
+++ b/sys/amd64/include/atomic.h
@@ -74,16 +74,18 @@ u_##TYPE atomic_load_acq_##TYPE(volatile u_##TYPE *p); \
void atomic_store_rel_##TYPE(volatile u_##TYPE *p, u_##TYPE v);
#else /* !KLD_MODULE */
+
#if defined(SMP)
#if defined(LOCORE)
#define MPLOCKED lock ;
-#else
+#else /* !LOCORE */
#define MPLOCKED "lock ; "
-#endif
-#else
+#endif /* LOCORE */
+#else /* !SMP */
#define MPLOCKED
-#endif
+#endif /* SMP */
+#if !defined(LOCORE)
/*
* The assembly is volatilized to demark potential before-and-after side
* effects if an interrupt or SMP collision were to occur.
@@ -201,8 +203,10 @@ atomic_store_rel_##TYPE(volatile u_##TYPE *p, u_##TYPE v)\
: : "memory"); \
}
#endif /* defined(I386_CPU) */
+#endif /* !defined(LOCORE) */
#endif /* KLD_MODULE */
+#if !defined(LOCORE)
ATOMIC_ASM(set, char, "orb %b2,%0", v)
ATOMIC_ASM(clear, char, "andb %b2,%0", ~v)
ATOMIC_ASM(add, char, "addb %b2,%0", v)
@@ -401,4 +405,5 @@ atomic_readandclear_long(volatile u_long *addr)
return (result);
}
#endif /* !defined(WANT_FUNCTIONS) */
+#endif /* !defined(LOCORE) */
#endif /* ! _MACHINE_ATOMIC_H_ */
diff --git a/sys/amd64/isa/intr_machdep.c b/sys/amd64/isa/intr_machdep.c
index 2dd96d7..9fcab85 100644
--- a/sys/amd64/isa/intr_machdep.c
+++ b/sys/amd64/isa/intr_machdep.c
@@ -43,9 +43,6 @@
#include <sys/param.h>
#include <sys/bus.h>
-#ifndef SMP
-#include <machine/lock.h>
-#endif
#include <sys/proc.h>
#include <sys/systm.h>
#include <sys/syslog.h>
diff --git a/sys/amd64/isa/ithread.c b/sys/amd64/isa/ithread.c
index f3b0109..728d75f 100644
--- a/sys/amd64/isa/ithread.c
+++ b/sys/amd64/isa/ithread.c
@@ -36,9 +36,6 @@
#include <sys/param.h>
#include <sys/bus.h>
#include <sys/rtprio.h> /* change this name XXX */
-#ifndef SMP
-#include <machine/lock.h>
-#endif
#include <sys/proc.h>
#include <sys/systm.h>
#include <sys/syslog.h>
diff --git a/sys/amd64/isa/nmi.c b/sys/amd64/isa/nmi.c
index 2dd96d7..9fcab85 100644
--- a/sys/amd64/isa/nmi.c
+++ b/sys/amd64/isa/nmi.c
@@ -43,9 +43,6 @@
#include <sys/param.h>
#include <sys/bus.h>
-#ifndef SMP
-#include <machine/lock.h>
-#endif
#include <sys/proc.h>
#include <sys/systm.h>
#include <sys/syslog.h>
diff --git a/sys/arm/include/lock.h b/sys/arm/include/lock.h
deleted file mode 100644
index ab1e808..0000000
--- a/sys/arm/include/lock.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 1997, by Steve Passe
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. The name of the developer may NOT be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD$
- */
-
-#ifndef _MACHINE_LOCK_H_
-#define _MACHINE_LOCK_H_
-
-#define COM_LOCK()
-#define COM_UNLOCK()
-#define COM_DISABLE_INTR() COM_LOCK()
-#define COM_ENABLE_INTR() COM_UNLOCK()
-
-#endif /* !_MACHINE_LOCK_H_ */
diff --git a/sys/dev/cy/cy.c b/sys/dev/cy/cy.c
index 374b932..9a56e2d 100644
--- a/sys/dev/cy/cy.c
+++ b/sys/dev/cy/cy.c
@@ -80,7 +80,6 @@
#include <sys/malloc.h>
#include <sys/mutex.h>
#include <sys/syslog.h>
-#include <machine/lock.h>
#include <machine/psl.h>
#include <i386/isa/isa_device.h>
@@ -91,6 +90,27 @@
#error "The cy device requires the old isa compatibility shims"
#endif
+#ifdef SMP
+
+#include <machine/smptests.h> /** xxx_LOCK */
+
+#ifdef USE_COMLOCK
+#define COM_LOCK() mtx_lock_spin(&com_mtx)
+#define COM_UNLOCK() mtx_unlock_spin(&com_mtx)
+#else
+#define COM_LOCK()
+#define COM_UNLOCK()
+#endif /* USE_COMLOCK */
+
+#else /* SMP */
+
+#define COM_LOCK()
+#define COM_UNLOCK()
+
+#endif /* SMP */
+
+extern struct mtx com_mtx;
+
/*
* Dictionary so that I can name everything *sio* or *com* to compare with
* sio.c. There is also lots of ugly formatting and unnecessary ifdefs to
diff --git a/sys/dev/cy/cy_isa.c b/sys/dev/cy/cy_isa.c
index 374b932..9a56e2d 100644
--- a/sys/dev/cy/cy_isa.c
+++ b/sys/dev/cy/cy_isa.c
@@ -80,7 +80,6 @@
#include <sys/malloc.h>
#include <sys/mutex.h>
#include <sys/syslog.h>
-#include <machine/lock.h>
#include <machine/psl.h>
#include <i386/isa/isa_device.h>
@@ -91,6 +90,27 @@
#error "The cy device requires the old isa compatibility shims"
#endif
+#ifdef SMP
+
+#include <machine/smptests.h> /** xxx_LOCK */
+
+#ifdef USE_COMLOCK
+#define COM_LOCK() mtx_lock_spin(&com_mtx)
+#define COM_UNLOCK() mtx_unlock_spin(&com_mtx)
+#else
+#define COM_LOCK()
+#define COM_UNLOCK()
+#endif /* USE_COMLOCK */
+
+#else /* SMP */
+
+#define COM_LOCK()
+#define COM_UNLOCK()
+
+#endif /* SMP */
+
+extern struct mtx com_mtx;
+
/*
* Dictionary so that I can name everything *sio* or *com* to compare with
* sio.c. There is also lots of ugly formatting and unnecessary ifdefs to
diff --git a/sys/dev/sio/sio.c b/sys/dev/sio/sio.c
index 252a376..ee3d4f1 100644
--- a/sys/dev/sio/sio.c
+++ b/sys/dev/sio/sio.c
@@ -80,12 +80,8 @@
#include <pci/pcireg.h>
#include <pci/pcivar.h>
#endif
-#include <machine/lock.h>
#include <machine/clock.h>
-#ifndef SMP
-#include <machine/lock.h>
-#endif
#include <machine/resource.h>
#include <isa/sioreg.h>
diff --git a/sys/i386/i386/exception.s b/sys/i386/i386/exception.s
index 51662ba..33ed923 100644
--- a/sys/i386/i386/exception.s
+++ b/sys/i386/i386/exception.s
@@ -38,7 +38,7 @@
#include <machine/asmacros.h>
#include <sys/ipl.h>
#include <sys/mutex.h>
-#include <machine/lock.h>
+#include <machine/atomic.h>
#include <machine/psl.h>
#include <machine/trap.h>
#ifdef SMP
diff --git a/sys/i386/i386/swtch.s b/sys/i386/i386/swtch.s
index 20fe50a..97154df 100644
--- a/sys/i386/i386/swtch.s
+++ b/sys/i386/i386/swtch.s
@@ -48,7 +48,6 @@
#include <machine/pmap.h>
#include <machine/apic.h>
#include <machine/smptests.h> /** GRAB_LOPRIO */
-#include <machine/lock.h>
#endif /* SMP */
#include "assym.s"
diff --git a/sys/i386/include/apic.h b/sys/i386/include/apic.h
index be9de4f..3d84792 100644
--- a/sys/i386/include/apic.h
+++ b/sys/i386/include/apic.h
@@ -463,4 +463,28 @@ typedef struct IOAPIC ioapic_t;
#define IOART_INTVEC 0x000000ff /* R/W: INTerrupt vector field */
+#ifdef LOCORE
+
+#ifdef SMP
+
+/*
+ * Protects the IO APIC and apic_imen as a critical region.
+ */
+#define IMASK_LOCK MTX_LOCK_SPIN(_imen_mtx, 0)
+#define IMASK_UNLOCK MTX_UNLOCK_SPIN(_imen_mtx)
+
+#else /* SMP */
+
+#define IMASK_LOCK /* NOP */
+#define IMASK_UNLOCK /* NOP */
+
+#endif /* SMP */
+
+#else /* LOCORE */
+
+/* global data in mp_machdep.c */
+extern struct mtx imen_mtx;
+
+#endif /* LOCORE */
+
#endif /* _MACHINE_APIC_H_ */
diff --git a/sys/i386/include/apicreg.h b/sys/i386/include/apicreg.h
index be9de4f..3d84792 100644
--- a/sys/i386/include/apicreg.h
+++ b/sys/i386/include/apicreg.h
@@ -463,4 +463,28 @@ typedef struct IOAPIC ioapic_t;
#define IOART_INTVEC 0x000000ff /* R/W: INTerrupt vector field */
+#ifdef LOCORE
+
+#ifdef SMP
+
+/*
+ * Protects the IO APIC and apic_imen as a critical region.
+ */
+#define IMASK_LOCK MTX_LOCK_SPIN(_imen_mtx, 0)
+#define IMASK_UNLOCK MTX_UNLOCK_SPIN(_imen_mtx)
+
+#else /* SMP */
+
+#define IMASK_LOCK /* NOP */
+#define IMASK_UNLOCK /* NOP */
+
+#endif /* SMP */
+
+#else /* LOCORE */
+
+/* global data in mp_machdep.c */
+extern struct mtx imen_mtx;
+
+#endif /* LOCORE */
+
#endif /* _MACHINE_APIC_H_ */
diff --git a/sys/i386/include/atomic.h b/sys/i386/include/atomic.h
index b5035b89e..cb899a6 100644
--- a/sys/i386/include/atomic.h
+++ b/sys/i386/include/atomic.h
@@ -74,16 +74,18 @@ u_##TYPE atomic_load_acq_##TYPE(volatile u_##TYPE *p); \
void atomic_store_rel_##TYPE(volatile u_##TYPE *p, u_##TYPE v);
#else /* !KLD_MODULE */
+
#if defined(SMP)
#if defined(LOCORE)
#define MPLOCKED lock ;
-#else
+#else /* !LOCORE */
#define MPLOCKED "lock ; "
-#endif
-#else
+#endif /* LOCORE */
+#else /* !SMP */
#define MPLOCKED
-#endif
+#endif /* SMP */
+#if !defined(LOCORE)
/*
* The assembly is volatilized to demark potential before-and-after side
* effects if an interrupt or SMP collision were to occur.
@@ -201,8 +203,10 @@ atomic_store_rel_##TYPE(volatile u_##TYPE *p, u_##TYPE v)\
: : "memory"); \
}
#endif /* defined(I386_CPU) */
+#endif /* !defined(LOCORE) */
#endif /* KLD_MODULE */
+#if !defined(LOCORE)
ATOMIC_ASM(set, char, "orb %b2,%0", v)
ATOMIC_ASM(clear, char, "andb %b2,%0", ~v)
ATOMIC_ASM(add, char, "addb %b2,%0", v)
@@ -401,4 +405,5 @@ atomic_readandclear_long(volatile u_long *addr)
return (result);
}
#endif /* !defined(WANT_FUNCTIONS) */
+#endif /* !defined(LOCORE) */
#endif /* ! _MACHINE_ATOMIC_H_ */
diff --git a/sys/i386/include/lock.h b/sys/i386/include/lock.h
deleted file mode 100644
index 35d1b3d..0000000
--- a/sys/i386/include/lock.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 1997, by Steve Passe
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. The name of the developer may NOT be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD$
- */
-
-
-#ifndef _MACHINE_LOCK_H_
-#define _MACHINE_LOCK_H_
-
-
-#ifdef LOCORE
-
-#ifdef SMP
-
-#define MPLOCKED lock ;
-
-/*
- * Protects the IO APIC and apic_imen as a critical region.
- */
-#define IMASK_LOCK MTX_LOCK_SPIN(_imen_mtx, 0)
-#define IMASK_UNLOCK MTX_UNLOCK_SPIN(_imen_mtx)
-
-#else /* SMP */
-
-#define MPLOCKED /* NOP */
-
-#define IMASK_LOCK /* NOP */
-#define IMASK_UNLOCK /* NOP */
-
-#endif /* SMP */
-
-#else /* LOCORE */
-
-#ifdef SMP
-
-#include <machine/smptests.h> /** xxx_LOCK */
-
-/*
- * sio/cy lock.
- * XXX should rc (RISCom/8) use this?
- */
-#ifdef USE_COMLOCK
-#define COM_LOCK() mtx_lock_spin(&com_mtx)
-#define COM_UNLOCK() mtx_unlock_spin(&com_mtx)
-#else
-#define COM_LOCK()
-#define COM_UNLOCK()
-#endif /* USE_COMLOCK */
-
-#else /* SMP */
-
-#define COM_LOCK()
-#define COM_UNLOCK()
-
-#endif /* SMP */
-
-/* global data in mp_machdep.c */
-extern struct mtx imen_mtx;
-extern struct mtx com_mtx;
-extern struct mtx mcount_mtx;
-extern struct mtx panic_mtx;
-
-#endif /* LOCORE */
-
-#endif /* !_MACHINE_LOCK_H_ */
diff --git a/sys/i386/isa/cy.c b/sys/i386/isa/cy.c
index 374b932..9a56e2d 100644
--- a/sys/i386/isa/cy.c
+++ b/sys/i386/isa/cy.c
@@ -80,7 +80,6 @@
#include <sys/malloc.h>
#include <sys/mutex.h>
#include <sys/syslog.h>
-#include <machine/lock.h>
#include <machine/psl.h>
#include <i386/isa/isa_device.h>
@@ -91,6 +90,27 @@
#error "The cy device requires the old isa compatibility shims"
#endif
+#ifdef SMP
+
+#include <machine/smptests.h> /** xxx_LOCK */
+
+#ifdef USE_COMLOCK
+#define COM_LOCK() mtx_lock_spin(&com_mtx)
+#define COM_UNLOCK() mtx_unlock_spin(&com_mtx)
+#else
+#define COM_LOCK()
+#define COM_UNLOCK()
+#endif /* USE_COMLOCK */
+
+#else /* SMP */
+
+#define COM_LOCK()
+#define COM_UNLOCK()
+
+#endif /* SMP */
+
+extern struct mtx com_mtx;
+
/*
* Dictionary so that I can name everything *sio* or *com* to compare with
* sio.c. There is also lots of ugly formatting and unnecessary ifdefs to
diff --git a/sys/i386/isa/intr_machdep.c b/sys/i386/isa/intr_machdep.c
index 2dd96d7..9fcab85 100644
--- a/sys/i386/isa/intr_machdep.c
+++ b/sys/i386/isa/intr_machdep.c
@@ -43,9 +43,6 @@
#include <sys/param.h>
#include <sys/bus.h>
-#ifndef SMP
-#include <machine/lock.h>
-#endif
#include <sys/proc.h>
#include <sys/systm.h>
#include <sys/syslog.h>
diff --git a/sys/i386/isa/ithread.c b/sys/i386/isa/ithread.c
index f3b0109..728d75f 100644
--- a/sys/i386/isa/ithread.c
+++ b/sys/i386/isa/ithread.c
@@ -36,9 +36,6 @@
#include <sys/param.h>
#include <sys/bus.h>
#include <sys/rtprio.h> /* change this name XXX */
-#ifndef SMP
-#include <machine/lock.h>
-#endif
#include <sys/proc.h>
#include <sys/systm.h>
#include <sys/syslog.h>
diff --git a/sys/i386/isa/nmi.c b/sys/i386/isa/nmi.c
index 2dd96d7..9fcab85 100644
--- a/sys/i386/isa/nmi.c
+++ b/sys/i386/isa/nmi.c
@@ -43,9 +43,6 @@
#include <sys/param.h>
#include <sys/bus.h>
-#ifndef SMP
-#include <machine/lock.h>
-#endif
#include <sys/proc.h>
#include <sys/systm.h>
#include <sys/syslog.h>
diff --git a/sys/ia64/ia64/mp_machdep.c b/sys/ia64/ia64/mp_machdep.c
index 1750251..8b8f1eb 100644
--- a/sys/ia64/ia64/mp_machdep.c
+++ b/sys/ia64/ia64/mp_machdep.c
@@ -43,7 +43,6 @@
#include <sys/dkstat.h>
#include <machine/smp.h>
-#include <machine/lock.h>
#include <machine/atomic.h>
#include <machine/ipl.h>
#include <machine/globaldata.h>
diff --git a/sys/ia64/include/lock.h b/sys/ia64/include/lock.h
deleted file mode 100644
index c3af6a1..0000000
--- a/sys/ia64/include/lock.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 1997, by Steve Passe
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. The name of the developer may NOT be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD$
- */
-
-
-#ifndef _MACHINE_LOCK_H_
-#define _MACHINE_LOCK_H_
-
-#define COM_LOCK()
-#define COM_UNLOCK()
-
-#endif /* !_MACHINE_LOCK_H_ */
diff --git a/sys/isa/sio.c b/sys/isa/sio.c
index 252a376..ee3d4f1 100644
--- a/sys/isa/sio.c
+++ b/sys/isa/sio.c
@@ -80,12 +80,8 @@
#include <pci/pcireg.h>
#include <pci/pcivar.h>
#endif
-#include <machine/lock.h>
#include <machine/clock.h>
-#ifndef SMP
-#include <machine/lock.h>
-#endif
#include <machine/resource.h>
#include <isa/sioreg.h>
diff --git a/sys/kern/kern_shutdown.c b/sys/kern/kern_shutdown.c
index b25fa4d..f2190d0 100644
--- a/sys/kern/kern_shutdown.c
+++ b/sys/kern/kern_shutdown.c
@@ -63,7 +63,6 @@
#include <sys/cons.h>
#include <machine/pcb.h>
-#include <machine/lock.h>
#include <machine/md_var.h>
#include <machine/smp.h> /* smp_active, cpuid */
diff --git a/sys/libkern/mcount.c b/sys/libkern/mcount.c
index ac9011d..7480ff3 100644
--- a/sys/libkern/mcount.c
+++ b/sys/libkern/mcount.c
@@ -46,7 +46,6 @@ void bintr __P((void));
void btrap __P((void));
void eintr __P((void));
void user __P((void));
-#include <machine/lock.h>
#endif
/*
diff --git a/sys/pc98/cbus/pckbd.c b/sys/pc98/cbus/pckbd.c
index e6f7d61..223bf0c 100644
--- a/sys/pc98/cbus/pckbd.c
+++ b/sys/pc98/cbus/pckbd.c
@@ -47,7 +47,6 @@
#include <pc98/pc98/pc98.h>
#include <isa/isavar.h>
-#include <machine/lock.h>
#define DRIVER_NAME "pckbd"
diff --git a/sys/pc98/cbus/sio.c b/sys/pc98/cbus/sio.c
index 31914fe..c98ea11 100644
--- a/sys/pc98/cbus/sio.c
+++ b/sys/pc98/cbus/sio.c
@@ -172,11 +172,7 @@
#include <pci/pcireg.h>
#include <pci/pcivar.h>
#endif
-#include <machine/lock.h>
-#ifndef SMP
-#include <machine/lock.h>
-#endif
#include <machine/resource.h>
#include <isa/sioreg.h>
diff --git a/sys/pc98/pc98/pc98kbd.c b/sys/pc98/pc98/pc98kbd.c
index e6f7d61..223bf0c 100644
--- a/sys/pc98/pc98/pc98kbd.c
+++ b/sys/pc98/pc98/pc98kbd.c
@@ -47,7 +47,6 @@
#include <pc98/pc98/pc98.h>
#include <isa/isavar.h>
-#include <machine/lock.h>
#define DRIVER_NAME "pckbd"
diff --git a/sys/pc98/pc98/sio.c b/sys/pc98/pc98/sio.c
index 31914fe..c98ea11 100644
--- a/sys/pc98/pc98/sio.c
+++ b/sys/pc98/pc98/sio.c
@@ -172,11 +172,7 @@
#include <pci/pcireg.h>
#include <pci/pcivar.h>
#endif
-#include <machine/lock.h>
-#ifndef SMP
-#include <machine/lock.h>
-#endif
#include <machine/resource.h>
#include <isa/sioreg.h>
diff --git a/sys/powerpc/include/lock.h b/sys/powerpc/include/lock.h
deleted file mode 100644
index ab1e808..0000000
--- a/sys/powerpc/include/lock.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 1997, by Steve Passe
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. The name of the developer may NOT be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD$
- */
-
-#ifndef _MACHINE_LOCK_H_
-#define _MACHINE_LOCK_H_
-
-#define COM_LOCK()
-#define COM_UNLOCK()
-#define COM_DISABLE_INTR() COM_LOCK()
-#define COM_ENABLE_INTR() COM_UNLOCK()
-
-#endif /* !_MACHINE_LOCK_H_ */
diff --git a/sys/powerpc/powerpc/mp_machdep.c b/sys/powerpc/powerpc/mp_machdep.c
index 6a46c28..8ca5b04 100644
--- a/sys/powerpc/powerpc/mp_machdep.c
+++ b/sys/powerpc/powerpc/mp_machdep.c
@@ -43,7 +43,6 @@
#include <sys/dkstat.h>
#include <machine/smp.h>
-#include <machine/lock.h>
#include <machine/atomic.h>
#include <machine/globaldata.h>
#include <machine/pmap.h>
diff --git a/sys/sys/kernel.h b/sys/sys/kernel.h
index 7936d2b..a13c25e 100644
--- a/sys/sys/kernel.h
+++ b/sys/sys/kernel.h
@@ -81,6 +81,9 @@ extern int lbolt; /* once a second sleep address */
extern int tickdelta;
extern long timedelta;
+/* global data in mp_machdep.c */
+extern struct mtx panic_mtx;
+
#endif /* _KERNEL */
/*
diff --git a/sys/sys/lock.h b/sys/sys/lock.h
index 3aebc6b..80f8764 100644
--- a/sys/sys/lock.h
+++ b/sys/sys/lock.h
@@ -41,8 +41,6 @@
#ifndef _LOCK_H_
#define _LOCK_H_
-#include <machine/lock.h>
-
struct mtx;
/*
diff --git a/sys/sys/lockmgr.h b/sys/sys/lockmgr.h
index 3aebc6b..80f8764 100644
--- a/sys/sys/lockmgr.h
+++ b/sys/sys/lockmgr.h
@@ -41,8 +41,6 @@
#ifndef _LOCK_H_
#define _LOCK_H_
-#include <machine/lock.h>
-
struct mtx;
/*
OpenPOWER on IntegriCloud