From owner-cvs-sys Sun Aug 24 13:34:29 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id NAA19959 for cvs-sys-outgoing; Sun, 24 Aug 1997 13:34:29 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id NAA19859; Sun, 24 Aug 1997 13:34:06 -0700 (PDT) From: Steve Passe Received: (from fsmp@localhost) by freefall.freebsd.org (8.8.6/8.8.5) id NAA02039; Sun, 24 Aug 1997 13:33:33 -0700 (PDT) Date: Sun, 24 Aug 1997 13:33:33 -0700 (PDT) Message-Id: <199708242033.NAA02039@freefall.freebsd.org> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-sys@FreeBSD.ORG Subject: cvs commit: src/sys/i386/include smp.h src/sys/i386/isa ipl_funcs.c src/sys/i386/i386 mp_machdep.c Sender: owner-cvs-sys@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk fsmp 1997/08/24 13:33:33 PDT Modified files: sys/i386/include smp.h sys/i386/isa ipl_funcs.c sys/i386/i386 mp_machdep.c Log: A clean fix for the spl "deadlock before smp_active" problem. Added a new variable, 'bsp_apic_ready', which is set as soon as the bootstrap CPU has initialized its local APIC. Conditionalize the GENSPLR functions to call ss_lock ONLY after bsp_apic_ready is TRUE; This should prevent any problems with races between the time the 1st AP becomes ready and the time smp_active is set. Revision Changes Path 1.29 +2 -1 src/sys/i386/include/smp.h 1.5 +22 -19 src/sys/i386/isa/ipl_funcs.c 1.44 +3 -1 src/sys/i386/i386/mp_machdep.c