From owner-p4-projects@FreeBSD.ORG Sun Dec 23 04:35:21 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A42CF16A468; Sun, 23 Dec 2007 04:35:21 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 57A4B16A41B for ; Sun, 23 Dec 2007 04:35:21 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 594BB13C45A for ; Sun, 23 Dec 2007 04:35:21 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lBN4ZK0Q090146 for ; Sun, 23 Dec 2007 04:35:20 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lBN4ZKHE090143 for perforce@freebsd.org; Sun, 23 Dec 2007 04:35:20 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Dec 2007 04:35:20 GMT Message-Id: <200712230435.lBN4ZKHE090143@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 131455 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Dec 2007 04:35:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=131455 Change 131455 by jb@jb_freebsd1 on 2007/12/23 04:34:32 Add a SYSINIT to the end of the SI_SUB_SMP to initialise the cyclic device on the APs just launched. If the cyclic device is loaded after the kernel is booted, this isn't necessary because all the CPUs are listed in the pcpu list. It's only in the case where the cyclic device is loaded by the boot loader that it will be initialised on cpu0 well before and APs are launched. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/amd64/cyclic_machdep.c#2 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/amd64/cyclic_machdep.c#2 (text+ko) ==== @@ -86,6 +86,15 @@ c->cpu_intr_actv &= ~(1 << CY_LOCK_LEVEL); } +static void +cyclic_ap_start(void *dummy) +{ + /* Initialise the rest of the CPUs. */ + cyclic_mp_init(); +} + +SYSINIT(cyclic_ap_start, SI_SUB_SMP, SI_ORDER_ANY, cyclic_ap_start, NULL); + /* * Machine dependent cyclic subsystem initialisation. */