diff options
author | fsmp <fsmp@FreeBSD.org> | 1997-09-07 22:04:09 +0000 |
---|---|---|
committer | fsmp <fsmp@FreeBSD.org> | 1997-09-07 22:04:09 +0000 |
commit | 877f33cf608a56f37130585cbf62e69a7fa8867e (patch) | |
tree | 6c18f1143fc34dc43e409761227569d2ec2324bc /sys/amd64/include | |
parent | 6787a3eb7ff21685017eabc3972f4a5b24109e70 (diff) | |
download | FreeBSD-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.h | 10 | ||||
-rw-r--r-- | sys/amd64/include/mptable.h | 22 | ||||
-rw-r--r-- | sys/amd64/include/smp.h | 3 |
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 */ |