From owner-freebsd-current@FreeBSD.ORG Wed Nov 24 05:07:28 2004 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 7389B16A4CE for ; Wed, 24 Nov 2004 05:07:28 +0000 (GMT) Received: from pi.codefab.com (pi.codefab.com [199.103.21.227]) by mx1.FreeBSD.org (Postfix) with ESMTP id EEBA943D46 for ; Wed, 24 Nov 2004 05:07:27 +0000 (GMT) (envelope-from cswiger@mac.com) Received: from [192.168.1.250] (pool-68-161-115-118.ny325.east.verizon.net [68.161.115.118]) by pi.codefab.com (8.12.11/8.12.11) with ESMTP id iAO57AJH065478 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 24 Nov 2004 00:07:13 -0500 (EST) Message-ID: <41A416E7.4030107@mac.com> Date: Wed, 24 Nov 2004 00:06:47 -0500 From: Chuck Swiger Organization: The Courts of Chaos User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/20040910 X-Accept-Language: en-us, en MIME-Version: 1.0 To: "Wilkinson, Alex" References: <200411231226.38172.jkim@niksun.com> <200411231343.22760.jhb@FreeBSD.org> <20041124002603.GD20881@squash.dsto.defence.gov.au> In-Reply-To: <20041124002603.GD20881@squash.dsto.defence.gov.au> X-Enigmail-Version: 0.86.1.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, hits=-4.5 required=5.5 tests=AWL,BAYES_00 autolearn=ham version=2.64 X-Spam-Checker-Version: SpamAssassin 2.64 (2004-01-11) on pi.codefab.com cc: freebsd-current@freebsd.org Subject: Re: Transparent bridges (a. k. a. HUB-to-PCI bridges)? 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, 24 Nov 2004 05:07:28 -0000 Wilkinson, Alex wrote: > Trying to understand your nomenclature John, so that I can follow this thread. I'm no John Kennedy, nor even John Baldwin, but I'll give this a shot. :-) > Can you please elaborate on the following .... please ;-\ > > 1. PCI bridges > - Host-PCI > - PCI-PCI A host-PCI bridge is typically part of the "southbridge" chip of modern motherboards; on Intel motherboards this is also called the ICH chip, such as the 82801AA/BA/CA/etc. VIA Southbridges include the VT8233/8235/8237/etc. A PCI-PCI bridge is commonly found on multifunction PCI cards, an example would be the DEC 21151 chip found on various four-port NICs. > 2. OOPish device object (device_t) ? True OOP involves encapsulation, polymorphism, and inheritence, and requires language support which is not really available in pure C. That being said, careful programming in C lets you create several closely-related structs for different types of "objects" which can all be utilized by a common set of functions. The most common example of this would probably be the protocol-independent struct sockaddr, which can handle IPv4, IPv6, and other types of network address formats using a common structure (or a related group of structures, depending on how you want to look at it). See "man getaddrinfo". > 3. $PIR table Stands for PCI Interrupt Routing table. When your computer boots, the BIOS is responsible for configuring at least the devices required to boot such that they and the BIOS agree as to which IRQ each device ought to use. Blah, I couldn't find a good link outside of Microsoft, but see here: http://www.microsoft.com/whdc/archive/pciirq.mspx -- -Chuck