Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Feb 2004 12:46:10 -0600 (CST)
From:      James Van Artsdalen <james-freebsd-amd64@jrv.org>
To:        obrien@freebsd.org
Cc:        freebsd-amd64@freebsd.org
Subject:   Re: SiImg 3114 was: (FWD) FreeBSD 5.2.1-RC available
Message-ID:  <200402081846.i18IkA81000259@bigtex.jrv.org>
In-Reply-To: <20040202095652.GA25017@dragon.nuxi.com> (obrien@freebsd.org)
References:  <20040202095652.GA25017@dragon.nuxi.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> Date: Mon, 2 Feb 2004 01:56:52 -0800
> From: "David O'Brien" <obrien@freebsd.org>
> 
> Note 5.2.1 also adds the Silicon Image 3114 SATA support needed to
> install on a SATA drive in many Opteron systems.

Is anyone else having trouble with this?

The 3114 is found no problem but the drive is not seen.
The culprit may be this code in ata_reset().

It does not recognize any drive unless (err & 0x7f) == ATA_E_ILI is
true immediately after BUSY is deasserted, which isn't the case for me
(and definitely isn't true for older ATA disks; could this be a typo
of some kind?).

            stat0 = ATA_IDX_INB(ch, ATA_STATUS);
            if (bootverbose)
                ata_printf(ch, ATA_MASTER,
                           "stat=0x%02x err=0x%02x lsb=0x%02x msb=0x%02x\n",
                           stat0, err, lsb, msb);
            if (!(stat0 & ATA_S_BUSY)) {
                if ((err & 0x7f) == ATA_E_ILI) {
                    if (lsb == ATAPI_MAGIC_LSB && msb == ATAPI_MAGIC_MSB) {
                        ch->devices |= ATA_ATAPI_MASTER;
                    }
                    else if (stat0 & ATA_S_READY) {
                        ch->devices |= ATA_ATA_MASTER;
                    }
                }
                else if ((stat0 & 0x4f) && err == lsb && err == msb) {
                    stat0 |= ATA_S_BUSY;
                }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200402081846.i18IkA81000259>