Re: ata unable to map interrupt

From: M. Warner Losh <imp_at_bsdimp.com>
Date: Fri, 02 Jul 2004 07:41:39 -0600 (MDT)
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
: _at__at_ -849,7 +849,7 _at__at_
:  	     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
Received on Fri Jul 02 2004 - 11:45:00 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:00 UTC