From owner-cvs-all@FreeBSD.ORG Mon Aug 23 16:28:42 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A630516A4CE; Mon, 23 Aug 2004 16:28:42 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9DEAA43D1D; Mon, 23 Aug 2004 16:28:42 +0000 (GMT) (envelope-from njl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i7NGSg73084517; Mon, 23 Aug 2004 16:28:42 GMT (envelope-from njl@repoman.freebsd.org) Received: (from njl@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i7NGSg8G084516; Mon, 23 Aug 2004 16:28:42 GMT (envelope-from njl) Message-Id: <200408231628.i7NGSg8G084516@repoman.freebsd.org> From: Nate Lawson Date: Mon, 23 Aug 2004 16:28:42 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/dev/acpica acpi.c acpi_resource.c acpivar.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2004 16:28:42 -0000 njl 2004-08-23 16:28:42 UTC FreeBSD src repository Modified files: sys/dev/acpica acpi.c acpi_resource.c acpivar.h Log: Rework sysresource management. Instead of having each sysresource object hold its own values, pass them up to the parent (acpi0) and merge/uniq them on the way. After the namespace evaluation, acpi will reserve these resources and manage them via rman before bus_generic_probe() and bus_generic_attach(). This is necessary because some systems specify conflicting resources in separate sysresource objects. It's also cleaner in that the interface between sysresource and acpi is now merely the parent's resource list. This code handles the following cases: 1. Unique resource: add it to the parent via bus_set_resource(). 2. New wholly contained in old: discard new. 3. New tail overlaps old head: grow old head downward. AND/OR 4. New head overlaps old tail: grow old tail upward. Tested by: Pawel Worach Tested by: Radek Kozlowski MFC after: 5 days Revision Changes Path 1.189 +82 -7 src/sys/dev/acpica/acpi.c 1.31 +59 -115 src/sys/dev/acpica/acpi_resource.c 1.81 +0 -2 src/sys/dev/acpica/acpivar.h