summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include
diff options
context:
space:
mode:
authorfsmp <fsmp@FreeBSD.org>1997-09-07 22:04:09 +0000
committerfsmp <fsmp@FreeBSD.org>1997-09-07 22:04:09 +0000
commit877f33cf608a56f37130585cbf62e69a7fa8867e (patch)
tree6c18f1143fc34dc43e409761227569d2ec2324bc /sys/amd64/include
parent6787a3eb7ff21685017eabc3972f4a5b24109e70 (diff)
downloadFreeBSD-src-877f33cf608a56f37130585cbf62e69a7fa8867e.zip
FreeBSD-src-877f33cf608a56f37130585cbf62e69a7fa8867e.tar.gz
General cleanup of the lock pushdown code. They are grouped and enabled
from machine/smptests.h: #define PUSHDOWN_LEVEL_1 #define PUSHDOWN_LEVEL_2 #define PUSHDOWN_LEVEL_3 #define PUSHDOWN_LEVEL_4_NOT
Diffstat (limited to 'sys/amd64/include')
-rw-r--r--sys/amd64/include/cpufunc.h10
-rw-r--r--sys/amd64/include/mptable.h22
-rw-r--r--sys/amd64/include/smp.h3
3 files changed, 18 insertions, 17 deletions
diff --git a/sys/amd64/include/cpufunc.h b/sys/amd64/include/cpufunc.h
index df987bd..3b7eb9c 100644
--- a/sys/amd64/include/cpufunc.h
+++ b/sys/amd64/include/cpufunc.h
@@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: cpufunc.h,v 1.2 1997/09/01 07:37:58 smp Exp smp $
+ * $Id: cpufunc.h,v 1.3 1997/09/05 20:20:31 smp Exp smp $
*/
/*
@@ -58,17 +58,13 @@ static __inline void
disable_intr(void)
{
__asm __volatile("cli" : : : "memory");
-#ifdef SMP
- s_lock(&mpintr_lock);
-#endif
+ MPINTR_LOCK();
}
static __inline void
enable_intr(void)
{
-#ifdef SMP
- s_unlock(&mpintr_lock);
-#endif
+ MPINTR_UNLOCK();
__asm __volatile("sti");
}
diff --git a/sys/amd64/include/mptable.h b/sys/amd64/include/mptable.h
index 6b402b1..8d376ae 100644
--- a/sys/amd64/include/mptable.h
+++ b/sys/amd64/include/mptable.h
@@ -22,7 +22,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: mp_machdep.c,v 1.49 1997/08/31 03:17:47 fsmp Exp $
+ * $Id: mp_machdep.c,v 1.38 1997/09/05 20:23:34 smp Exp smp $
*/
#include "opt_smp.h"
@@ -195,14 +195,18 @@ typedef struct BASETABLE_ENTRY {
*/
#define MP_BOOTADDRESS_POST 0x10
#define MP_PROBE_POST 0x11
-#define MP_START_POST 0x12
-#define MP_ANNOUNCE_POST 0x13
-#define MPTABLE_PASS1_POST 0x14
+#define MPTABLE_PASS1_POST 0x12
+
+#define MP_START_POST 0x13
+#define MP_ENABLE_POST 0x14
#define MPTABLE_PASS2_POST 0x15
-#define MP_ENABLE_POST 0x16
-#define START_ALL_APS_POST 0x17
-#define INSTALL_AP_TRAMP_POST 0x18
-#define START_AP_POST 0x19
+
+#define START_ALL_APS_POST 0x16
+#define INSTALL_AP_TRAMP_POST 0x17
+#define START_AP_POST 0x18
+
+#define MP_ANNOUNCE_POST 0x19
+
/** XXX FIXME: where does this really belong, isa.h/isa.c perhaps? */
int current_postcode;
@@ -1445,7 +1449,7 @@ default_mp_table(int type)
/* critical region around IO APIC, apic_imen */
struct simplelock imen_lock;
-/* critical region around splxx(), cpl, cil, ipending */
+/* critical region around splxx(), cpl, cml, cil, ipending */
struct simplelock cpl_lock;
/* Make FAST_INTR() routines sequential */
diff --git a/sys/amd64/include/smp.h b/sys/amd64/include/smp.h
index a7051ff..82a6c34 100644
--- a/sys/amd64/include/smp.h
+++ b/sys/amd64/include/smp.h
@@ -6,7 +6,7 @@
* this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
* ----------------------------------------------------------------------------
*
- * $Id: smp.h,v 1.30 1997/08/26 18:10:37 peter Exp $
+ * $Id: smp.h,v 1.27 1997/09/05 18:08:57 smp Exp smp $
*
*/
@@ -167,6 +167,7 @@ extern volatile int smp_idle_loops;
/* 'private' global data in locore.s */
extern volatile u_int cpuid;
extern volatile u_int cpu_lockid;
+extern int inside_intr;
extern volatile u_int other_cpus;
#endif /* !LOCORE */
OpenPOWER on IntegriCloud