Date: Wed, 24 Nov 2004 06:56:34 -0700 From: Scott Long <scottl@freebsd.org> To: Chuck Swiger <cswiger@mac.com> Cc: "Wilkinson, Alex" <alex.wilkinson@dsto.defence.gov.au> Subject: Re: Transparent bridges (a. k. a. HUB-to-PCI bridges)? Message-ID: <41A49312.5@freebsd.org> In-Reply-To: <41A416E7.4030107@mac.com> References: <200411231226.38172.jkim@niksun.com> <200411231343.22760.jhb@FreeBSD.org> <20041124002603.GD20881@squash.dsto.defence.gov.au> <41A416E7.4030107@mac.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41A49312.5>