Re: incorrect irqs with pci devices
On Fri, 3 Dec 1999, Mike Heffner wrote: Hi, I have recently noticed that the irqs for my PCI devices are being screwed up somehow. It is easily noticeable with dmesg, the correct one's are in paren.: Is this an SMP box by any chance? Does the kernel work with the irqs which it chose? -- Doug Rabson Mail: [EMAIL PROTECTED] Nonlinear Systems Ltd. Phone: +44 181 442 9037 To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: incorrect irqs with pci devices
On 03-Dec-99 Doug Rabson said: | On Fri, 3 Dec 1999, Mike Heffner wrote: | | Hi, | | I have recently noticed that the irqs for my PCI devices are being screwed | up | somehow. It is easily noticeable with dmesg, the correct one's are in | paren.: | | Is this an SMP box by any chance? Does the kernel work with the irqs which | it chose? | Yes, it is a SMP box, and yes, the devices work fine. I just thought it was odd that the kernel would report incorrect ones. - Mike Heffner [EMAIL PROTECTED] Fredericksburg, VA ICQ# 882073 Date: 03-Dec-99 Time: 09:54:12 - To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: incorrect irqs with pci devices
On Fri, 03 Dec 1999 09:55:43 -0500 (EST), Mike Heffner [EMAIL PROTECTED] said: Yes, it is a SMP box, and yes, the devices work fine. I just thought it was odd that the kernel would report incorrect ones. They are not incorrect. SMP uses a different interrupt system. -GAWollman -- Garrett A. Wollman | O Siem / We are all family / O Siem / We're all the same [EMAIL PROTECTED] | O Siem / The fires of freedom Opinions not those of| Dance in the burning flame MIT, LCS, CRS, or NSA| - Susan Aglukark and Chad Irschick To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: incorrect irqs with pci devices
Mike Heffner wrote: On 03-Dec-99 Doug Rabson said: | On Fri, 3 Dec 1999, Mike Heffner wrote: | | Hi, | | I have recently noticed that the irqs for my PCI devices are being screw ed | up | somehow. It is easily noticeable with dmesg, the correct one's are in | paren.: | | Is this an SMP box by any chance? Does the kernel work with the irqs whic h | it chose? | Yes, it is a SMP box, and yes, the devices work fine. I just thought it was o dd that the kernel would report incorrect ones. It isn't "incorrect".. SMP motherboards have a seperate interrupt controller (APIC - Advanced programmable interupt controller) that is used for message passing as well as distributing interrupts per cpu. It also generally has 24 interrupt pins, and there can be more than one APIC in a system. When a system boots, it's in "legacy" mode until the switch is thrown and it's running in SMP mode. At that time, the alternative IRQ assignments are activated. fxp0: Intel EtherExpress Pro 10/100B Ethernet irq 18 at device 6.0 on pci0 ahc0: Adaptec aic7880 Ultra SCSI adapter irq 17 at device 9.0 on pci0 etc. Run the mptable(1) program to see your motherboard config. Cheers, -Peter To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: incorrect irqs with pci devices
Garrett Wollman wrote: On Fri, 03 Dec 1999 09:55:43 -0500 (EST), Mike Heffner [EMAIL PROTECTED] said: Yes, it is a SMP box, and yes, the devices work fine. I just thought it was odd that the kernel would report incorrect ones. They are not incorrect. SMP uses a different interrupt system. They are on my box, where incorrect is defined as the interrupts not reaching their supposed destination. I would really like to fix this, but I don't know enough about exactly what is wrong. Any ideas would really be appreciated, as I would like to remove my disgusting hack. :) I have an AMI raid controller that the system reports that it is on irq 11. The problem is that the interrupts actually go to irq 17. If I hard wire them with *** pci.c.old Mon Nov 29 19:34:46 1999 --- pci.c Thu Dec 2 17:48:42 1999 *** *** 347,352 --- 347,356 } } } + if (cfg-intline == 11) { + printf("apic_io: incorrect int 11 - 17\n"); + cfg-intline = 17; + } #endif /* APIC_IO */ cfg-mingnt = pci_cfgread(cfg, PCIR_MINGNT, 1); ...everything works fine. I believe the problem has something to do with the fact that it is a bridged card, but I'm not sure how things should work. Any thoughts? Chris To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message