I have a problem with an SMP 4.7 kernel with ichsmb. My BIOS has not assigned an interrupt, so the kernel does on startup: ichsmb0: <Intel 82801CA (ICH3) SMBus controller> port 0x1100-0x111f irq 0 at device 31.3 on pci0 pci_cfgintr_virgin: using routable interrupt 3 pci_cfgintr: 0:31 INTB routed to irq 3 smbus0: <System Management Bus> on ichsmb0 smb0: <SMBus general purpose I/O> on smbus0 however, I don't seem to ever get an interrupt to the ichsmb driver. I'm suspicious of the choice of irq 3 above, that's the edge interrupt for the serial port, not a level PCI interrupt ??? Anybody seen anything similar? Any idea on how to choose a proper interrupt for my system? Interestingly with a non SMP kernel, the ichsmb works, so in the non IO-APIC config a proper irq must be chosen(?)
From: Don Bowman [mailto:don@sandvine.com]> > I have a problem with an SMP 4.7 kernel with ichsmb. My > BIOS has not assigned an interrupt, so the kernel does > on startup: > > ichsmb0: <Intel 82801CA (ICH3) SMBus controller> port > 0x1100-0x111f irq 0 at > device 31.3 on pci0 > pci_cfgintr_virgin: using routable interrupt 3 > pci_cfgintr: 0:31 INTB routed to irq 3 > smbus0: <System Management Bus> on ichsmb0 > smb0: <SMBus general purpose I/O> on smbus0After obtaining a BIOS from the vendor which assigns an IRQ (11) to this device, it works properly. In the non-SMP kernel, the interrupt is properly assigned and routed even if the BIOS doesn't. In the SMP kernel, the interrupt assigned doesn't work (never get an interrupt). Does the pci_cfgintr_virgin understand IOAPIC routing? Anybody else seen something similar?
In message: <FE045D4D9F7AED4CBFF1B3B813C8533701B36835@mail.sandvine.com> Don Bowman <don@sandvine.com> writes: : Does the pci_cfgintr_virgin understand IOAPIC routing? No. Warner
From: M. Warner Losh [mailto:imp@bsdimp.com]> In message: > <FE045D4D9F7AED4CBFF1B3B813C8533701B36835@mail.sandvine.com> > Don Bowman <don@sandvine.com> writes: > : Does the pci_cfgintr_virgin understand IOAPIC routing? > > No.Thanks, i'd come to that conclusion :) What is involved in making it so, can someone point me in the right direction?