From owner-svn-src-head@FreeBSD.ORG Tue Mar 27 18:22:15 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3BC85106564A; Tue, 27 Mar 2012 18:22:15 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 266828FC18; Tue, 27 Mar 2012 18:22:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2RIMFWj098213; Tue, 27 Mar 2012 18:22:15 GMT (envelope-from gonzo@svn.freebsd.org) Received: (from gonzo@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2RIMEkn098210; Tue, 27 Mar 2012 18:22:14 GMT (envelope-from gonzo@svn.freebsd.org) Message-Id: <201203271822.q2RIMEkn098210@svn.freebsd.org> From: Oleksandr Tymoshenko Date: Tue, 27 Mar 2012 18:22:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r233569 - head/sys/dev/hwpmc X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Mar 2012 18:22:15 -0000 Author: gonzo Date: Tue Mar 27 18:22:14 2012 New Revision: 233569 URL: http://svn.freebsd.org/changeset/base/233569 Log: Fix crash on VirtualBox (and probably on some real hardware): - Do not cover error returned by pmc_core_initialize with the result of pmc_uncore_initialize, fail right away. - Give a user something to report instead failing silently Reported by: Alexandr Kovalenko Modified: head/sys/dev/hwpmc/hwpmc_core.c head/sys/dev/hwpmc/hwpmc_intel.c Modified: head/sys/dev/hwpmc/hwpmc_core.c ============================================================================== --- head/sys/dev/hwpmc/hwpmc_core.c Tue Mar 27 18:17:22 2012 (r233568) +++ head/sys/dev/hwpmc/hwpmc_core.c Tue Mar 27 18:22:14 2012 (r233569) @@ -2406,8 +2406,12 @@ pmc_core_initialize(struct pmc_mdep *md, PMCDBG(MDP,INI,1,"core-init cputype=%d ncpu=%d ipa-version=%d", md->pmd_cputype, maxcpu, ipa_version); - if (ipa_version < 1 || ipa_version > 3) /* Unknown PMC architecture. */ + if (ipa_version < 1 || ipa_version > 3) { + /* Unknown PMC architecture. */ + printf("hwpc_core: unknown PMC architecture: %d\n", + ipa_version); return (EPROGMISMATCH); + } core_cputype = md->pmd_cputype; Modified: head/sys/dev/hwpmc/hwpmc_intel.c ============================================================================== --- head/sys/dev/hwpmc/hwpmc_intel.c Tue Mar 27 18:17:22 2012 (r233568) +++ head/sys/dev/hwpmc/hwpmc_intel.c Tue Mar 27 18:22:14 2012 (r233569) @@ -239,6 +239,9 @@ pmc_intel_initialize(void) KASSERT(0, ("[intel,%d] Unknown CPU type", __LINE__)); } + if (error) + goto error; + /* * Init the uncore class. */