This message is from the T13 list server.

Hale L:

> IS THE ATA/ATAPI HOST ...
> IS THE NUMBER OF BYTES ...
> Better fux ...

>From the SHOUTing, I gather you're happy to volunteer to clue me in here?

> THE ATA/ATAPI HOST ...
> must parse and understand
> every SCSI CDB it processes.

Granted, I wasn't working hard to dispute this claim.

Myself, I find it difficult to claim an Atapi host must parse the command block given 
that the Ansi Ata/pi standard doesn't say tell us how to do that.

How about we walk me through a simple, concrete example: for now, let's suppose we're 
building a bridge to just AtapiPio from Usb.

Let's begin with a fully transparent bridge that parses the command by the simple 
means of blindly passing the bytes on to the Atapi device.  The Atapi device reports 
back in the I/O bit which way to move data and in the x1F5:1F4 Cylinder registers how 
much data to move.

What additional parsing does this bridge need to do?

What kind of parsing do we want beyond what the readily available parsing of the Atapi 
device does for free?

Can we have one concrete example?

> Better fux those bridge devices
> that try to short cut this.

I can't fix it until you tell me what's broken?

The parsing bugs I know of appear by definition only when some bridge does have the 
arrogance to parse commands.  Sometimes a bridge translates commands incompatibly, 
sometimes a bridge truncates data transfer arbitrarily, sometimes a bridge decides 
data direction wrongly.

I think the parsing of commands is hard to get right.  The only way to guarantee a 
bridge never parses commands wrong is to guarantee that bridge never parse commands at 
all.  A truly transparent bridge by definition presents the device just as it is.  
When the device is broken, the bridged device appears broken in precisely the same 
way, but that's a bug in he device, not a bug in the bridge.

> bridge ...
> THE ATA/ATAPI HOST ...

Maybe I was too quick to swallow the claim I heard here that a bridge is a host like 
any other.

The ultimate host has to limit how much data moves which way how slowly: abandoning 
these responsibilities is what makes a "phase following" Atapi host that slavishly 
obeys C/D, I/O, and ByteCount so pernicious.

A mere bridge doesn't - indeed shouldn't - take on that job.  The bridge can't know 
what those limits should be: only the ultimate host knows.

Pat LaVarre


Subscribe/Unsubscribe instructions can be found at www.t13.org.

Reply via email to