[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
On Mon, Dec 14, 2009 at 10:17:46PM +0100, Manuel Bouyer wrote:
> On Mon, Dec 14, 2009 at 10:05:23PM +0100, Christoph Badura wrote:
> > On Mon, Dec 14, 2009 at 04:27:51PM +0100, Manuel Bouyer wrote:
> > > On Sun, Dec 13, 2009 at 10:41:15PM +0000, Christoph Badura wrote:
> > > > - (wd->sc_wdc_bio.blkno > LBA48_THRESHOLD ||
> > > > + (wd->sc_wdc_bio.blkno +
> > > > + wd->sc_wdc_bio.bcount / wd->sc_dk.dk_label->d_secsize >
> > > > + LBA48_THRESHOLD ||
> > >
> > > but please make this (LBA48_THRESHOLD + 1). Otherwise the last
> > > LBA24 sector will be inaccessible on non-LBA48 controllers.
> > As David pointed out the last addressable LBA28 sector is actually
> > 0xFFFFFFE, c.f. 6.2.1. of ATA-ATAPI-6 spec. Also, 6.2.2. of the spec
> > requires devices to return an error if an attempt is made to access
> > sector 0xFFFFFFFF. So the check for > LBA48_THRESHOLD is correct.
> Well, not really because previous standards didn't say that.
> ATA-5 specifically says that word 61-60 shall be less than or equal
> to 268,435,456 (which is 0x10000000). They changed their mind for ATA-6.
Hum, as we have the ATA major number in IDENTIFY, maybe we could make
LBA48_THRESHOLD dependant on the ATA revision reported by the drive ?
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
NetBSD: 26 ans d'experience feront toujours la difference
Main Index |
Thread Index |