Subject: Re: CVS commit: syssrc
To: Chris G. Demetriou <cgd@sibyte.com>
From: Andrew Doran <ad@netbsd.org>
List: source-changes
Date: 10/03/2000 10:46:03
"Chris G. Demetriou" <cgd@sibyte.com> wrote:

> > I2O subclasses currently have nothing to do with the protocol version.
> 
> Do you have any citation for this?

From the I2O specification (both 1.5 and 2.0):

---

4.2.1.5.1 Extensions for PCI

The host identifies an IOP by its PCI class code. Refer to [PCI] for further
detail. The PCI class code has three fields:

1. Base Class
2. Subclass
3. Programming Interface

The Base Class value assigned for intelligent I/O controllers is 0Eh. The
Subclass code assigned for PCI devices conforming to the I2O specification
is 00h.

---

> The latest update to the PCI class/subclass/interface codes:
> 
> 	http://www.pcisig.com/data/developers/docs/appd_latest.pdf
> 
> says (at least to me), that class 0x0e subclass 0x00 any interface ->
> I2O 1.0.  (It's not entirely clear: it says "xxh" for interface ->
> 1.0, but then specifically says interface 00h -> message FIFO at 0x40.
> My interpretation of that is that 00h is an I2O 1.0 device with
> message FIFO at 0x40.)
> 
> According to the web page you get to it from, that document was last
> updated as of 9/28/2000...

That's incorrect; there are two programming interfaces; 00h being
non-interrupt driven, and 01h interrupt driven. The inbound FIFO is at 40h
for both interface types.