ata unable to map interrupt
Beecher Rintoul
akbeech at northwindcom.dyndns.org
Fri Jul 2 10:39:30 PDT 2004
On Friday 02 July 2004 05:41 am, M. Warner Losh wrote:
> In message: <16613.22301.418927.354317 at grasshopper.cs.duke.edu>
>
> Andrew Gallatin <gallatin at cs.duke.edu> writes:
> : John Baldwin writes:
> : > On Thursday 01 July 2004 09:53 pm, Andrew Gallatin wrote:
> : > > Andrew Gallatin writes:
> : > > > Today's kernel:
> : > > >
> : > > > atapci0: <ServerWorks CSB5 UDMA100 controller> port
> : > > > 0xffa0-0xffaf,0x374-0x377,0x170-0x177,0x3f4-0x3f7,0x1f0-0x1f7 at
> : > > > device 15.1 on pci0 atapci0: unable to map interrupt
> : > >
> : > > Argh! Unable to map interrupt, not I/O port. Sorry.. An I/O port
> : > > mapping was the last thing that left me at a mountroot prompt on
> : > > this f'ing box.
> : > >
> : > > The problem is really with mapping interrupts. I've left mptable,
> : > > and verbose boot output from working and nonworking kernels at
> : > > http://people.freebsd.org/~gallatin/ata_irq/
> : > >
> : > > As I said before, it doesn't seem to matter if I enable or disable
> : > > ACPI. I've also tried set hw.apic.mixed_mode=0
> : > >
> : > > A kernel from another box from June 19th seems to work, so
> : > > maybe it happened in the last 12 days or so.
> : >
> : > I think this is a problem with ATA. Soren made a change to
> : > dev/pci/pci.c for the ATA native mode allocation that might be
> : > suspect.
> :
> : Yep that's it. Thank you! Backing out 1.263 of sys/dev/pci/pci.c
> : fixes it, as does #if 0'ing the native addressing code block:
> :
> : Index: dev/pci/pci.c
> : ===================================================================
> : RCS file: /home/ncvs/src/sys/dev/pci/pci.c,v
> : retrieving revision 1.263
> : diff -u -r1.263 pci.c
> : --- dev/pci/pci.c 29 Jun 2004 20:25:43 -0000 1.263
> : +++ dev/pci/pci.c 2 Jul 2004 12:29:47 -0000
> : @@ -849,7 +849,7 @@
> : int s, int f, struct resource_list *rl)
> : {
> : int rid, type, progif;
> : -#if 1
> : +#if 0
> : /* if this device supports PCI native addressing use it */
> : progif = pci_read_config(dev, PCIR_PROGIF, 1);
> : if ((progif & 0x8a) == 0x8a) {
>
> I'm going to commit this then.
>
> Warner
That also worked on my box. Thanks everyone.
Beech
--
---------------------------------------------------------------------------------------
Beech Rintoul - System Administrator - akbeech at northwindcom.dyndns.org
/"\ ASCII Ribbon Campaign | NorthWind Communications
\ / - NO HTML/RTF in e-mail | 201 East 9th Avenue Ste.310
X - NO Word docs in e-mail | Anchorage, AK 99501
/ \
---------------------------------------------------------------------------------------
More information about the freebsd-current
mailing list