From owner-freebsd-current@FreeBSD.ORG Wed Nov 24 13:56:14 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 3FC1216A4CE for ; Wed, 24 Nov 2004 13:56:14 +0000 (GMT) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.FreeBSD.org (Postfix) with ESMTP id B165943D3F for ; Wed, 24 Nov 2004 13:56:13 +0000 (GMT) (envelope-from scottl@freebsd.org) Received: from [192.168.254.11] (junior-wifi.samsco.home [192.168.254.11]) (authenticated bits=0) by pooker.samsco.org (8.12.11/8.12.10) with ESMTP id iAODwu9p063275; Wed, 24 Nov 2004 06:58:56 -0700 (MST) (envelope-from scottl@freebsd.org) Message-ID: <41A49312.5@freebsd.org> Date: Wed, 24 Nov 2004 06:56:34 -0700 From: Scott Long User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.2) Gecko/20040929 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Chuck Swiger References: <200411231226.38172.jkim@niksun.com> <200411231343.22760.jhb@FreeBSD.org> <20041124002603.GD20881@squash.dsto.defence.gov.au> <41A416E7.4030107@mac.com> In-Reply-To: <41A416E7.4030107@mac.com> 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=0.0 required=3.8 tests=none autolearn=no version=2.63 X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on pooker.samsco.org cc: freebsd-current@freebsd.org cc: "Wilkinson, Alex" 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 13:56:14 -0000 Chuck Swiger wrote: > 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. Nope. The southbridge typically holds a PCI-ISA bridge. The host-pci bridge is usually found in the northbridge part of the chipset. The whole point it to bridge the CPU to one or more PCI buses. > > 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. PCI-PCI bridges are also quite common on motherboards, especially with PCI-X. > >> 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". The particular reference to device_t refers to it's ability to have limited inheritence of methods from it's parent 'class'. > >> 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 > Scott