i386/92238: Spurious "atapci1: failed to enable memory mapping!"
message on startup
Arthur Hartwig
ahartwig at iprg.nokia.com
Mon Jan 23 22:20:18 PST 2006
The following reply was made to PR i386/92238; it has been noted by GNATS.
From: Arthur Hartwig <ahartwig at iprg.nokia.com>
To: bug-followup at FreeBSD.org, arthur.hartwig at 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.
More information about the freebsd-i386
mailing list