From owner-svn-src-all@freebsd.org Thu Jan 18 08:34:21 2018 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E2980EBD31D; Thu, 18 Jan 2018 08:34:21 +0000 (UTC) (envelope-from wma@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BBF7D802EA; Thu, 18 Jan 2018 08:34:21 +0000 (UTC) (envelope-from wma@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EA3A01C07B; Thu, 18 Jan 2018 08:34:20 +0000 (UTC) (envelope-from wma@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w0I8YKvL079119; Thu, 18 Jan 2018 08:34:20 GMT (envelope-from wma@FreeBSD.org) Received: (from wma@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w0I8YKKk079118; Thu, 18 Jan 2018 08:34:20 GMT (envelope-from wma@FreeBSD.org) Message-Id: <201801180834.w0I8YKKk079118@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: wma set sender to wma@FreeBSD.org using -f From: Wojciech Macek Date: Thu, 18 Jan 2018 08:34:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r328113 - head/sys/powerpc/powerpc X-SVN-Group: head X-SVN-Commit-Author: wma X-SVN-Commit-Paths: head/sys/powerpc/powerpc X-SVN-Commit-Revision: 328113 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jan 2018 08:34:22 -0000 Author: wma Date: Thu Jan 18 08:34:20 2018 New Revision: 328113 URL: https://svnweb.freebsd.org/changeset/base/328113 Log: Call platform_smp_ap_init before decr_ap_init In platform_smp_ap_init we are doing some crucial code (eg. set LPCR register) which have influence over further execution. Practiculary in PowerNV platform we have experienced Data Storage Interrupt before we set apropriate LPCR. It caused code execution from location which was legal in bootloader (petitboot based on linux) but illegal in FreeBSD Modified: head/sys/powerpc/powerpc/mp_machdep.c Modified: head/sys/powerpc/powerpc/mp_machdep.c ============================================================================== --- head/sys/powerpc/powerpc/mp_machdep.c Thu Jan 18 07:42:51 2018 (r328112) +++ head/sys/powerpc/powerpc/mp_machdep.c Thu Jan 18 08:34:20 2018 (r328113) @@ -81,12 +81,12 @@ machdep_ap_bootstrap(void) __asm __volatile("or 27,27,27"); __asm __volatile("or 6,6,6"); + /* Give platform code a chance to do anything necessary */ + platform_smp_ap_init(); + /* Initialize DEC and TB, sync with the BSP values */ platform_smp_timebase_sync(ap_timebase, 1); decr_ap_init(); - - /* Give platform code a chance to do anything necessary */ - platform_smp_ap_init(); /* Serialize console output and AP count increment */ mtx_lock_spin(&ap_boot_mtx);