Re: Transparent bridges (a. k. a. HUB-to-PCI bridges)?

From: Chuck Swiger <cswiger_at_mac.com>
Date: Wed, 24 Nov 2004 00:06:47 -0500
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
Received on Wed Nov 24 2004 - 04:07:28 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:23 UTC