From owner-cvs-src@FreeBSD.ORG Mon Oct 30 19:19:11 2006 Return-Path: X-Original-To: cvs-src@FreeBSD.org 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 1584616A492; Mon, 30 Oct 2006 19:19:11 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A07C043DFD; Mon, 30 Oct 2006 19:18:46 +0000 (GMT) (envelope-from imp@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UJIkdU007706; Mon, 30 Oct 2006 19:18:46 GMT (envelope-from imp@repoman.freebsd.org) Received: (from imp@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UJIkOJ007705; Mon, 30 Oct 2006 19:18:46 GMT (envelope-from imp) Message-Id: <200610301918.k9UJIkOJ007705@repoman.freebsd.org> From: Warner Losh Date: Mon, 30 Oct 2006 19:18:46 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/dev/pci pci.c pci_pci.c pcivar.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 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: Mon, 30 Oct 2006 19:19:11 -0000 imp 2006-10-30 19:18:46 UTC FreeBSD src repository Modified files: sys/dev/pci pci.c pci_pci.c pcivar.h Log: More fully support 64-bit bars. Prior to this commit, we supported only those bars that had addresses assigned by the BIOS and where the bridges were properly programmed. Now even unprogrammed ones work. This was needed for sun4v. We still only implement up to 2GB memory ranges, even for 64-bit bars. PCI standards at least through 2.2 say that this is the max (or 1GB is, I only know it is < 32bits). o Always define pci_addr_t as uint64_t. A pci address is always 64-bits, but some hosts can't address all of them. o Preserve the upper half of the 64-bit word during resource probing. o Test to make sure that 64-bit values can fit in a u_long (true on some platforms, but not others). Don't use those that can't. o minor pedantry about data sizes. o Better bridge resource reporting in bootverbose case. o Minor formatting changes to cope with different data types on different platforms. Submitted by: jmg, with many changes by me to fully support 64-bit addresses. Revision Changes Path 1.317 +29 -12 src/sys/dev/pci/pci.c 1.42 +39 -33 src/sys/dev/pci/pci_pci.c 1.72 +1 -13 src/sys/dev/pci/pcivar.h