From owner-cvs-src@FreeBSD.ORG Sat Jan 10 22:52:33 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 39B4016A4CE; Sat, 10 Jan 2004 22:52:33 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 556F643D5A; Sat, 10 Jan 2004 22:52:32 -0800 (PST) (envelope-from imp@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i0B6qW0B084084; Sat, 10 Jan 2004 22:52:32 -0800 (PST) (envelope-from imp@repoman.freebsd.org) Received: (from imp@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i0B6qV57084083; Sat, 10 Jan 2004 22:52:31 -0800 (PST) (envelope-from imp) Message-Id: <200401110652.i0B6qV57084083@repoman.freebsd.org> From: Warner Losh Date: Sat, 10 Jan 2004 22:52:31 -0800 (PST) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/dev/pci pci_pci.c pcib_private.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jan 2004 06:52:33 -0000 imp 2004/01/10 22:52:31 PST FreeBSD src repository Modified files: sys/dev/pci pci_pci.c pcib_private.h Log: Add support for subtractive decoding bridges. These bridges pass all signals to addresses to the child busses. Typically, ProgIf of 1 means a subtractive bridge. However, Intel has a whole lot of ones with a ProgIf of 80 that are also subtractive. We cope with these bridges too. This eliminates hw.pci.allow_unsupported_io_range because that had almost the same effect as these patches (almost means 'buggy'). Remove the bogus checks for ISA bus locations: these cycles aren't special and are only passed by transparent bridges. We allow any range to succeed. If the range is a superset of the range that's decoded, trim the resource to that range. Otherwise, pass the range unchanged. This will change the location that PC Card and CardBus cards are attached. This might bogusly cause some overlapping allocation that wasn't present before, but the overlapping fixes need to be in the pci level. There's also a few formatting changes here. Revision Changes Path 1.29 +126 -159 src/sys/dev/pci/pci_pci.c 1.6 +2 -0 src/sys/dev/pci/pcib_private.h