Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Sep 2004 14:12:27 -0400
From:      John Baldwin <jhb@FreeBSD.org>
To:        "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>
Cc:        Pavel Gubin <pg@ie.tusur.ru>
Subject:   Re: "Multiple entries for PCI IRQ 16" and "xlock already held" panics on 5.3-BETA(3,4,5)
Message-ID:  <200409271412.27600.jhb@FreeBSD.org>
In-Reply-To: <Pine.BSF.4.53.0409271605230.11069@e0-0.zab2.int.zabbadoz.net>
References:  <20040922095257.GA81709@ie.tusur.ru> <20040923165349.GA38511@ie.tusur.ru> <Pine.BSF.4.53.0409271605230.11069@e0-0.zab2.int.zabbadoz.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 27 September 2004 01:02 pm, Bjoern A. Zeeb wrote:
> On Thu, 23 Sep 2004, Pavel Gubin wrote:
>
> Hi,
>
> > On Thu, Sep 23, 2004 at 10:29:47AM -0400, John Baldwin wrote:
> > > > > > panices immediately with "panic: Multiple entries for PCI IRQ 16"
> >
> > []
> >
> > > > I/O Ints:	Type	Polarity    Trigger	Bus ID	 IRQ	APIC ID	PIN#
> > > > 		INT	active-lo       level	     0	 2:A	      2	  16
> > > > 		INT	active-lo       level	     0	 2:A	      2	  23
> > >
> > > This is the real bug and I guess I can improve the message.  Then
> > > problem is not two lines for IRQ 16, but that the PCI interrrupt for
> > > bus 0, device 2, pin #A has two different IRQs listed, so we don't know
> > > which one we are supposed to use.  This is definitely a BIOS bug and
> > > your motherboard manufacturer needs to harassed into giving you a BIOS
> > > update.
> >
> >   Then shame on MSI.. And some stupid question - maybe a kernel can be
> > given
>
> MSI A6120MS V2.0 (latest BIOS from 7/2000 I think)
>
> I/O Ints:       Type    Polarity    Trigger     Bus ID   IRQ    APIC ID
> PIN# ..
>                 INT     active-lo       level        0  15:A          2  
> 16 ..
>                 INT     active-lo       level        0  15:A          2  
> 18 ..
>
>
> normally it goes
>
> ------
> OK lsmod
>  0x400000: /boot/kernel/kernel (elf kernel, 0x6c76cc)
>   modules: linux.1 elink.1 io.1 splash.1 viapm.1 intpm.1 alpm.1 agp.1
> crypto.1 nfsserver.1 nfs4.1 nfs.1 ipfw.2 rc4.1 netgraph.65546 wlan.1 zlib.1
> sppp.1 if_gif.1 if_fait h.1 ether.1 sysvshm.1 sysvsem.1 sysvmsg.1 cd9660.1
> isa.1 pseudofs.1 procfs.1 msdosfs.1 usb.1 smbus.1 smb.1 random.1 ppbus.1
> pci.1 pccard.1 null.1 mpt.1 miibus.1 mem.1 is p.1 iicsmb.1 iicbus.1 iicbb.1
> iic.1 ic.1 sbp.1 fwe.1 firewire.1 exca.1 cardbus.1 ahd.1 ahd_pci.1 ahc.1
> ahc_pci.1 ahc_isa.1 ahc_eisa.1 linprocfs.1 scsi_low.1 cam.1 OK set
> boot_verbose=1
> OK show
> LINES=24
> acpi_load=YES
> autoboot_delay=NO
> boot_verbose=1
> ...
> OK boot -h
> ACPI autoload failed - no such file or directory
> Preloaded elf kernel "/boot/kernel/kernel" at 0xc0ac9000.
> MP Configuration Table version 1.4 found at 0xc00f7200
> APIC: Using the MPTable enumerator.
> SMP: Added CPU 0 (BSP)
> SMP: Added CPU 1 (AP)
> MPTable: <MSI      440BX       >
> ...
> panic: Multiple IRQs for PCI interrupt 0.15.INTA: 16 and 18
>
> cpuid = 0
> KDB: enter: panic
> [thread 0]
> Stopped at      kdb_enter+0x2b: nop
> db>
> ------
>
>
> but if I do (no lsmod this time but that shouldn't matter):
>
> ------
> db> reset
> OK set boot_verbose=1
> OK unload acpi			<------- this
> OK boot -h
> /boot/kernel/kernel text=0x4b6e3c data=0x88048+0x9bc78
> syms=[0x4+0x6b200+0x4+0x809c1] /boot/kernel/acpi.ko text=0x4097c
> data=0x1be4+0x110c syms=[0x4+0x7300+0x4+0x9782] ...
> Preloaded elf kernel "/boot/kernel/kernel" at 0xc0b1e000.
> Preloaded elf module "/boot/kernel/acpi.ko" at 0xc0b1e250.
> Table 'FACP' at 0x1fff0030
> Table 'APIC' at 0x1fff00b0
> MADT: Found table at 0x1fff00b0
> MP Configuration Table version 1.4 found at 0xc00f7200
> APIC: Using the MADT enumerator.
> MADT: Found CPU APIC ID 0 ACPI ID 1: enabled
> SMP: Added CPU 0 (AP)
> MADT: Found CPU APIC ID 1 ACPI ID 2: enabled
> SMP: Added CPU 1 (AP)
> ACPI APIC Table: <AMIINT DRAC-100>
> ...
> ------
>
> everything boots up just fine.
>
> /me does not have to understand - do I  ?

You are using ACPI the second time.  I think it doesn't load the first time 
because your loader.rc is out of date (look in /usr/src/UPDATING for the 
entry about module_path).  ACPI's tables don't really allow for duplicate 
entries for the same PCI interrupt, so you don't have this type of issue to 
worry about.

-- 
John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200409271412.27600.jhb>