epia800

Eric W. Biederman ebiederman at lnxi.com
Thu Sep 25 00:28:01 CEST 2003


Steve Gehlbach <steve at nexpath.com> writes:

> Eric W. Biederman wrote:
> 
> > Steve how does your 1.2G Caviar fail?  Is it not detected or is the
> > problem something else?
> 
> Everything works fine, it just gets the wrong data.  I put in lots of printf's,
> it is using ide_read_sector_lba, all results are normal AFAICT.  I printed out
> the sector (sector 0) that it read, it had about 50 initial values, then all
> zeros. The real sector 0 is pretty much all filled.  I grep'ed for a couple of
> bytes from the bogus sector and they did not appear in the real sector, so I
> think all of the data is bogus, not just shifted or something.
> 
> The cmd.device byte (=0xe0) (and the others in this structure) appear correct in
> 
> comparing to ATA spec.  Is there ever any confusion about what the first sector
> is (0 vs 1)?  I could not find a specific statement in the ATA spec about this,
> but it is a long spec.
> 
> I was going to force it to use ide_read_sector_chs but did not have time.
> 
> I switched to using my CF drive and it worked fine, so I don't think it was
> cockpit trouble.

Right.  My only other guess is that some of the lba48 support my be interacting
in a strange way and causing problems.  We always write the lba48 high
registers but we don't set them in the lba case.  It should not cause a problem.

But drives are diverse enough we might find some strange bugs.

At least we have not yet found a drive that we have spin up problems with yet.

Eric



More information about the coreboot mailing list