From owner-cvs-src-old@FreeBSD.ORG Thu Mar 31 13:22:34 2011 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A05BD1065678 for ; Thu, 31 Mar 2011 13:22:34 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8EF9F8FC27 for ; Thu, 31 Mar 2011 13:22:34 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id p2VDMYQt079390 for ; Thu, 31 Mar 2011 13:22:34 GMT (envelope-from jhb@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id p2VDMY0x079389 for cvs-src-old@freebsd.org; Thu, 31 Mar 2011 13:22:34 GMT (envelope-from jhb@repoman.freebsd.org) Message-Id: <201103311322.p2VDMY0x079389@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to jhb@repoman.freebsd.org using -f From: John Baldwin Date: Thu, 31 Mar 2011 13:22:12 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/dev/pci pci.c pci_user.c pcireg.h pcivar.h X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Mar 2011 13:22:34 -0000 jhb 2011-03-31 13:22:12 UTC FreeBSD src repository Modified files: sys/dev/pci pci.c pci_user.c pcireg.h pcivar.h Log: SVN rev 220195 on 2011-03-31 13:22:12Z by jhb Explicitly track the state of all known BARs for each PCI device. The PCI bus driver will now remember the size of a BAR obtained during the initial bus scan and use that size when doing lazy resource allocation rather than resizing the BAR. The bus driver will now also report unallocated BARs to userland for display by 'pciconf -lb'. Psuedo-resources that are not BARs (such as the implicit I/O port resources for master/slave ATA controllers) will no longer be listed as BARs in 'pciconf -lb'. During resume, BARs are restored from their new saved state instead of having the raw registers saved and restored across resume. This also fixes restoring BARs at unusual loactions if said BAR has been allocated by a driver. Add a constant for the offset of the ROM BIOS BAR in PCI-PCI bridges and properly handle ROM BIOS BARs in PCI-PCI bridges. The PCI bus now also properly handles the lack of a ROM BIOS BAR in a PCI-Cardbus bridge. Tested by: jkim Revision Changes Path 1.417 +153 -49 src/sys/dev/pci/pci.c 1.30 +6 -47 src/sys/dev/pci/pci_user.c 1.80 +1 -0 src/sys/dev/pci/pcireg.h 1.91 +12 -3 src/sys/dev/pci/pcivar.h