Re: ata unable to map interrupt

From: Beecher Rintoul <akbeech_at_northwindcom.dyndns.org>
Date: Fri, 2 Jul 2004 09:36:48 -0800
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
> : _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

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
/ \ 
---------------------------------------------------------------------------------------
Received on Fri Jul 02 2004 - 15:39:30 UTC

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