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
incorrect irqs with pci devices
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.: vga-pci0: Matrox model 0521 graphics accelerator irq 17(real 11) at device 0.0 on pci1 ^^ ^^ pcm1: SoundBlaster Live irq 16(real 10) at device 15.0 on pci0 ^^ ^^ ed0: NE2000 PCI Ethernet (RealTek 8029) irq 18(real 9) at device 18.0 on pci0 ^^ ^ I used the following hack to show the real irqs: --- pci.c.orig Fri Dec 3 02:20:56 1999 +++ pci.c Fri Dec 3 02:25:08 1999 @@ -1149,8 +1149,10 @@ retval += bus_print_child_header(dev, child); -if (cfg-intpin 0 cfg-intline != 255) +if (cfg-intpin 0 cfg-intline != 255){ retval += printf(" irq %d", cfg-intline); + printf("(real %u)", pci_read_config(child, PCI_INTERRUPT_REG, 1)); + } retval += printf(" at device %d.%d", pci_get_slot(child), pci_get_function(child)); pciconf also shows the incorrect irqs (but I can read the correct ones with the -r option for pciconf). Is this a known problem, is anyone else experiencing this? I haven't really looked at any of the code yet ( i got lost). Here's some other relevant info (more available on request): pcib0: Intel 82443BX (440 BX) host to PCI bridge on motherboard pci0: PCI bus on pcib0 pcib1: Intel 82443BX (440 BX) PCI-PCI (AGP) bridge at device 1.0 on pci0 pci1: PCI bus on pcib1 - Mike Heffner [EMAIL PROTECTED] Fredericksburg, VA ICQ# 882073 Date: 03-Dec-99 Time: 02:08:53 - To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message