it appears that for pio reads and writes, sdata.c (the plan 9 ata driver) omits waiting for Drdy. normally drives assert Drdy very quickly, but its in the spec and i've tripped on a few slow parts that are not ready when we send them data:
Sep 8 13:00:49 EDT 2008 sdata.c 54744 [quanstro] sdata.c:1421 c /n/dump/2008/0909/sys/src/9/pc/sdata.c:1421 < if(ataready(cmdport, ctlport, drive->dev, Bsy|Drq, Drdy, 101*1000) < 0) --- > if(ataready(cmdport, ctlport, drive->dev, Bsy|Drq, 0, 101*1000) < 0) i'm pretty sure that the same test needs to be in atapktio as well. (could this be the disagreement with vmware?) it is interesting that it's been that way for a long time. - erik
