From owner-svn-src-head@FreeBSD.ORG Fri May 4 18:54:52 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B709106566B; Fri, 4 May 2012 18:54:52 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6C8038FC08; Fri, 4 May 2012 18:54:52 +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 q44IsqsD018090; Fri, 4 May 2012 18:54:52 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q44IsqJ8018087; Fri, 4 May 2012 18:54:52 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201205041854.q44IsqJ8018087@svn.freebsd.org> From: Jung-uk Kim Date: Fri, 4 May 2012 18:54:52 +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: r235029 - in head: share/man/man4 sys/dev/acpica 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: Fri, 04 May 2012 18:54:52 -0000 Author: jkim Date: Fri May 4 18:54:51 2012 New Revision: 235029 URL: http://svn.freebsd.org/changeset/base/235029 Log: Complete commit message for r235024: Use MADT to match ACPI Processor objects to CPUs. MADT and DSDT/SSDTs may list CPUs in different orders, especially for disabled logical cores. Now we match ACPI IDs from the MADT with Processor objects, strictly order CPUs accordingly, and ignore disabled cores. This prevents us from executing methods for other CPUs, e. g., _PSS for disabled logical core, which may not exist. Unfortunately, it is known that there are a few systems with buggy BIOSes that do not have unique ACPI IDs for MADT and Processor objects. To work around these problems, 'debug.acpi.cpu_unordered' tunable is added. Set this to a non-zero value to restore the old behavior. Many thanks to jhb for pointing me to the right direction and the manual page change. Reported by: Harris, James R (james dot r dot harris at intel dot com) Tested by: Harris, James R (james dot r dot harris at intel dot com) Reviewed by: jhb MFC after: 1 month Modified: head/share/man/man4/acpi.4 head/sys/dev/acpica/acpi.c Modified: head/share/man/man4/acpi.4 ============================================================================== --- head/share/man/man4/acpi.4 Fri May 4 18:36:00 2012 (r235028) +++ head/share/man/man4/acpi.4 Fri May 4 18:54:51 2012 (r235029) @@ -199,7 +199,7 @@ Enables loading of a custom ACPI DSDT. .It Va acpi_dsdt_name Name of the DSDT table to load, if loading is enabled. .It Va debug.acpi.cpu_unordered -Do not use the MADT to match ACPI processor objects to CPUs. +Do not use the MADT to match ACPI Processor objects to CPUs. This is needed on a few systems with a buggy BIOS that does not use consistent processor IDs. Default is 0 (disabled). Modified: head/sys/dev/acpica/acpi.c ============================================================================== --- head/sys/dev/acpica/acpi.c Fri May 4 18:36:00 2012 (r235028) +++ head/sys/dev/acpica/acpi.c Fri May 4 18:54:51 2012 (r235029) @@ -294,7 +294,7 @@ static int acpi_cpu_unordered; TUNABLE_INT("debug.acpi.cpu_unordered", &acpi_cpu_unordered); SYSCTL_INT(_debug_acpi, OID_AUTO, cpu_unordered, CTLFLAG_RDTUN, &acpi_cpu_unordered, 0, - "Do not use the MADT to match ACPI processor objects to CPUs."); + "Do not use the MADT to match ACPI Processor objects to CPUs."); /* Allow users to override quirks. */ TUNABLE_INT("debug.acpi.quirks", &acpi_quirks);