Date: Tue, 24 Jan 2006 06:20:17 GMT From: Arthur Hartwig <ahartwig@iprg.nokia.com> To: freebsd-i386@FreeBSD.org Subject: Re: i386/92238: Spurious "atapci1: failed to enable memory mapping!" message on startup Message-ID: <200601240620.k0O6KHqn003253@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR i386/92238; it has been noted by GNATS. From: Arthur Hartwig <ahartwig@iprg.nokia.com> To: bug-followup@FreeBSD.org, arthur.hartwig@nokia.com Cc: Subject: Re: i386/92238: Spurious "atapci1: failed to enable memory mapping!" message on startup Date: Tue, 24 Jan 2006 16:18:37 +1000 The change proposed in the original problem report is insufficient; the system failed to detect the CD drive at ata1-slave. The AHCI in the cfg1 field of the Intel ids array is unfortunately also used in ata_intel_reset to indicate the channel may have a slave device. As well as the previously described patch to get rid of the memory mapping failure message I changed ata_intel_reset(), the first test from if (ctlr->chip->cfg1) { to if (ctlr->chip->chipid >= ATA_I82801FB_S1) { (to cover both ICH6 and ICH7) and the new kernel recognised the CD drive. There are obviously a lot of combinations involving the ICHx series of IDE controllers but the existing code doesn't seem to cope well with all the possibilities. For example, in ata_intel_chipinit() there is no test made to see if an AHCI capable chipset is in AHCI mode. The ICH7 specification suggests (section 12.1.33) the MAP register can be used to see if an AHCI capable chipset is actually in AHCI mode. If you don't have access to an ICH7 board or want to test on additional motherboards I'd be happy for you to send me diffs to try out revised code.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601240620.k0O6KHqn003253>