tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: WD_QUIRK_FORCE_LBA48



On Tue, Dec 15, 2009 at 12:12:57AM +0100, Manuel Bouyer wrote:
> On Mon, Dec 14, 2009 at 11:59:44PM +0100, Manuel Bouyer wrote:
> > On Mon, Dec 14, 2009 at 11:46:46PM +0100, Christoph Badura wrote:
> > > On Mon, Dec 14, 2009 at 11:31:11PM +0100, Manuel Bouyer wrote:
> > > > There are ATA-5 drives reporting LBA48 supports. LBA48 showed up before
> > > > ATA-6 was out (like much features in ATA world, in fact).
> > > 
> > > So what exactly is the point you're trying to make?
> > 
> > That there are drives out there, which claim LBA48 support but are
> > otherwise conform to the ATA-5 standart (not ATA-6) and so support
> > reading sector 0xfffffff using LBA28. If you use the "clamp to 128GB"
> > jumper they will report a capacity of 0x10000000 and not 0xfffffff.
> 
> On second though such jumper don't exists, extended capacity is read from
> another register.
> 
> > Of course such drives are old enough to be connected to a controller
> > which is old enough to not work properly with LBA48.
> 
> But I guess such drives would claim ATA-6 support anyway.
> Well, I'm not sure what the right way to handle this is.
> Maybe we should just drop support for such odd configuration and
> just conform to standards.

Re-reading this it looks like I mixed standards. s/ATA6/ATA7 and s/ATA5/ATA6
in what I wrote yesterday.

ATA up to and including ATA6 says that words 60-61 shall be less than
or equal to 0x10000000. ATA7 made this 0xfffffff (no idea why)
which means that the last sector effectively addressable by LBA28
effectively decreased by one sector between ATA6 and ATA7.

I just figured that the best way to handle this is probably to use
the content of words 60-61 as the LBA48 boundary then. I think this would
cover all cases, including drives claming only ATA6 support but supporting
LBA48 addressing.

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index