From owner-freebsd-current@FreeBSD.ORG Wed Nov 26 11:05:15 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 471E616A4CE for ; Wed, 26 Nov 2003 11:05:15 -0800 (PST) Received: from rootlabs.com (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id 2B6A343FDD for ; Wed, 26 Nov 2003 11:05:13 -0800 (PST) (envelope-from nate@rootlabs.com) Received: (qmail 94603 invoked by uid 1000); 26 Nov 2003 19:05:13 -0000 Date: Wed, 26 Nov 2003 11:05:13 -0800 (PST) From: Nate Lawson To: current@freebsd.org Message-ID: <20031126110323.A94577@root.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: acpi_cpu changes complete X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Nov 2003 19:05:15 -0000 I believe this completes the changes to acpi_cpu for 5.2. Please test on SMP boxes and laptops and if you were disabling it before, please re-enable it to test. (To do that, remove debug.acpi.disable from loader.conf). Thanks, Nate ---------- Forwarded message ---------- Date: Wed, 26 Nov 2003 11:02:07 -0800 (PST) From: Nate Lawson Modified files: sys/dev/acpica acpi_cpu.c sys/modules/acpi Makefile Log: * Add acpi_pcpu_get_id(idx, *acpi_id, *cpu_id) which fetches the idx'th present CPU with pc_acpi_id equal to *acpi_id. If *acpi_id does not match that processor's pc_acpi_id, return the value for ProcId derived from the MADT in *acpi_id. If pc_acpi_id is 0xffffffff, always override it with the value of *acpi_id. Finally, return pc_cpuid in *cpu_id and use that as our primary key. * Use pc_cpuid as our unique key because we know it is valid since MD code set it. The values for ProcId in the ASL and MADT don't match up on some machines (!), forcing us to fall back to ordered probing in that case. * Remove some #ifdef SMP since the refcount doesn't hurt performance and will be needed for dynamic _CST objects. Only one #ifdef SMP (for smp_rendezvous) remains. * Hook up SMP in the compile flags in the Makefile. Tested by: marcel, truckman Approved by: re (scottl) Revision Changes Path 1.21 +48 -49 src/sys/dev/acpica/acpi_cpu.c 1.33 +5 -2 src/sys/modules/acpi/Makefile