Hi!
I have trouble getting some Interrupts. I have used getpir to create a irq_tables.c but I get a warning message during startup: "Inconsistent IRQ routing table size (0xd0/0xc0)"
mainly it is the network interfaces that does not work. It feels like i have missed a leap in the IRQ configuration. I have not yet been able to understand the importance and use of the mptable.c for IRQ configuration, is this my source of trouble?
I've attached some output when booted from linuxbios and the created irq_tables.c in use.
linuxbios also fail to map the tg3 net interfaces through MSI which the standard bios does, but it maps the intel net interfaces through MSI... how come?
Thanks for any help! /Thomas
* Thomas Ekstrand thomas.ekstrand@gmail.com [070524 13:46]:
I have trouble getting some Interrupts. I have used getpir to create a irq_tables.c but I get a warning message during startup: "Inconsistent IRQ routing table size (0xd0/0xc0)"
You also need to tell the number of pirq entries in Options.lb
linuxbios also fail to map the tg3 net interfaces through MSI which the standard bios does, but it maps the intel net interfaces through MSI... how come?
Standard bios uses ACPI for IRQ configuration.
Stefan
On Thu, May 24, 2007 at 02:12:04PM +0200, Stefan Reinauer wrote:
Standard bios uses ACPI for IRQ configuration.
Is there a legal problem with a getpir-like tool that reads ACPI of the standard BIOS?
//Peter
2007/5/24, Stefan Reinauer stepan@coresystems.de:
- Thomas Ekstrand thomas.ekstrand@gmail.com [070524 13:46]:
I have trouble getting some Interrupts. I have used getpir to create a irq_tables.c but I get a warning message during startup: "Inconsistent IRQ routing table size (0xd0/0xc0)"
You also need to tell the number of pirq entries in Options.lb
That was a minor annoying issue, glad to be gone with! :) thank you!
But the main issue still remain, I don't get any interrupts from the network interfaces! what have I done wrong?
linuxbios also fail to map the tg3 net interfaces through MSI which the standard bios does, but it maps the intel net interfaces through MSI... how come?
Standard bios uses ACPI for IRQ configuration.
Yes, but how can I get linuxbios to map the tg3 i-faces through MSI as well? are they different from the intel ones because they're integrated or something?
Stefan
-- coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br. Tel.: +49 761 7668825 • Fax: +49 761 7664613 Email: info@coresystems.de • http://www.coresystems.de/
* Thomas Ekstrand thomas.ekstrand@gmail.com [070524 15:31]:
linuxbios also fail to map the tg3 net interfaces through MSI which the standard bios does, but it maps the intel net interfaces through MSI... how come?
Standard bios uses ACPI for IRQ configuration.
Yes, but how can I get linuxbios to map the tg3 i-faces through MSI as well? are they different from the intel ones because they're integrated or something?
The "best" solution would be to implement ACPI tables for your board.
Are you sure that the tg3 entries in PIRQ are correct? How are they different from the intel card entry?
On Thu, 2007-05-24 at 15:31 +0200, Thomas Ekstrand wrote:
But the main issue still remain, I don't get any interrupts from the network interfaces! what have I done wrong?
Have you configured LinuxBIOS to build mptables as well? These might take priority, I'm not sure.
Can you say what motherboard/chipset you have?
linuxbios also fail to map the tg3 net interfaces through MSI which the standard bios does, but it maps the intel net interfaces through MSI... how come?
Standard bios uses ACPI for IRQ configuration.
Yes, but how can I get linuxbios to map the tg3 i-faces through MSI as well? are they different from the intel ones because they're integrated or something?
Each bridge must have a Hypertransport MSI Mapping configured. Linux will complain about them being missing for some devices. If you can look at the output of dmesg and maybe attach it here, there should be some information that can help like this:
[ 53.388119] io scheduler cfq registered (default) [ 53.412056] PCI: Found disabled HT MSI Mapping on 0000:00:0b.0 [ 53.417914] Losing some ticks... checking if CPU frequency changed. [ 53.417922] PCI: Found enabled HT MSI Mapping on 0000:00:00.0 [ 53.423699] PCI: Found disabled HT MSI Mapping on 0000:00:0c.0 [ 53.429563] PCI: Found enabled HT MSI Mapping on 0000:00:00.0 [ 53.435338] PCI: Found disabled HT MSI Mapping on 0000:00:0d.0 [ 53.441201] PCI: Found enabled HT MSI Mapping on 0000:00:00.0 [ 53.446977] PCI: Found disabled HT MSI Mapping on 0000:00:0e.0 [ 53.452840] PCI: Found enabled HT MSI Mapping on 0000:00:00.0 [ 53.458850] PCI: Setting latency timer of device 0000:00:0b.0 to 64 [ 53.458867] assign_interrupt_mode Found MSI capability [ 53.464036] Allocate Port Service[0000:00:0b.0:pcie00] [ 53.464092] PCI: Setting latency timer of device 0000:00:0c.0 to 64 [ 53.464108] assign_interrupt_mode Found MSI capability [ 53.469274] Allocate Port Service[0000:00:0c.0:pcie00] [ 53.469323] PCI: Setting latency timer of device 0000:00:0d.0 to 64 [ 53.469339] assign_interrupt_mode Found MSI capability [ 53.474505] Allocate Port Service[0000:00:0d.0:pcie00] [ 53.474555] PCI: Setting latency timer of device 0000:00:0e.0 to 64 [ 53.474571] assign_interrupt_mode Found MSI capability [ 53.479739] Allocate Port Service[0000:00:0e.0:pcie00] [ 53.499366] Real Time Clock Driver v1.12ac
That's from Tyan S2865 (CK804 southbridge) vendor bios 3.04. It doen't use any MSI interrupts, I'm not sure if the issue is the ck804 hardware is buggy or the BIOS forgot to enable it.
Regards,
Jeremy
2007/5/24, Jeremy Jackson jerj@coplanar.net:
On Thu, 2007-05-24 at 15:31 +0200, Thomas Ekstrand wrote:
But the main issue still remain, I don't get any interrupts from the network interfaces! what have I done wrong?
Have you configured LinuxBIOS to build mptables as well? These might take priority, I'm not sure.
thanks for the hint I'll try that
Can you say what motherboard/chipset you have?
The motherboard is based on the broadcom blast the chipset is the HT1000/HT2000 aka 5785/5780
linuxbios also fail to map the tg3 net interfaces through MSI which the standard bios does, but it maps the intel net interfaces through MSI... how come?
Standard bios uses ACPI for IRQ configuration.
Yes, but how can I get linuxbios to map the tg3 i-faces through MSI as well? are they different from the intel ones because they're integrated or something?
Each bridge must have a Hypertransport MSI Mapping configured. Linux will complain about them being missing for some devices. If you can look at the output of dmesg and maybe attach it here, there should be some information that can help like this:
It's attached! although not as nice as yours! :) I can't make out much :/
I've discovered that the pci device numbering is mismatched in the Config.lb for the mainboard and I haven't added the Intel net i-faces to it, but yet they appear in Linux? should I change it to match the lspci output?
thanks for your patience helping me out. I really appreciate it!
Regards,
Jeremy
Thanks! Thomas
On 24.05.2007 17:17, Thomas Ekstrand wrote:
2007/5/24, Jeremy Jackson jerj@coplanar.net:
On Thu, 2007-05-24 at 15:31 +0200, Thomas Ekstrand wrote:
Each bridge must have a Hypertransport MSI Mapping configured. Linux will complain about them being missing for some devices. If you can look at the output of dmesg and maybe attach it here, there should be some information that can help like this:
It's attached! although not as nice as yours! :) I can't make out much :/
dmesg 6> MEM window: fc000000-fc0fffff PREFETCH window: 88000000-880fffff PCI: Bridge: 0000:00:06.0 IO window: disabled. MEM window: disabled. PREFETCH window: disabled. [...]
The beginning of dmesg seems to have been snipped. Try setting CONFIG_LOG_BUF_SHIFT=17 (or greater in your kernel config). And use "dmesg -s131072". That should give you the full boot log.
bruf: module license 'Proprietary' taints kernel. bruf_init: module version 0.14 bruf_init: registered bruf with Major Number = 0x7f
Interesting. I have never heard of that module.
Regards, Carl-Daniel
* Thomas Ekstrand thomas.ekstrand@gmail.com [070524 13:46]:
Hi!
I have trouble getting some Interrupts. I have used getpir to create a irq_tables.c but I get a warning message during startup: "Inconsistent IRQ routing table size (0xd0/0xc0)"
mainly it is the network interfaces that does not work. It feels like i have missed a leap in the IRQ configuration. I have not yet been able to understand the importance and use of the mptable.c for IRQ configuration, is this my source of trouble?
I've attached some output when booted from linuxbios and the created irq_tables.c in use.
linuxbios also fail to map the tg3 net interfaces through MSI which the standard bios does, but it maps the intel net interfaces through MSI... how come?
00:04.0 Class : 0200 : 8086 : 1209 (rev 10) > intel card 1 04:04.0 Class : 0200 : 14e4 : 166a (rev 03) tg3 1 04:04.1 Class : 0200 : 14e4 : 166a (rev 03) tg3 2 07:00.0 Class : 0200 : 8086 : 105e (rev 06) intel card 2 07:00.1 Class : 0200 : 8086 : 105e (rev 06) intel card 3
/* bus, dev|fn, {link, bitmap}, {link, bitmap}, {link, bitmap}, {link, bitmap}, slot, rfu */ {0x04,(0x04<<3)|0x0, {{0x22, 0xdefa}, {0x23, 0xdefa}, {0x00, 0x0000}, {0x00, 0x00000}}, 0x0, 0x0}, {0x00,(0x04<<3)|0x0, {{0x21, 0xdefa}, {0x00, 0x0000}, {0x00, 0x0000}, {0x00, 0x00000}}, 0x0, 0x0}, {0x07,(0x00<<3)|0x0, {{0x26, 0xdefa}, {0x26, 0xdefa}, {0x00, 0x0000}, {0x00, 0x00000}}, 0x0, 0x0},
This pirq table has entries for the following of above listed cards:
4:4.0 0:4.0 7:0.0
These are missing: 4:4.1 7:0.1
The PIRQ table does not at all fit to the devices on the bus, it is bogus. It lists entries for bus 5 and 8 but has no devices on such busses.
Are your device numbers different with legacy bios? Do the entries make sense whith those?
If not.. do ACPI, and you dont have to worry about this old cruft. Have a look at acpidump to see what acpi tables are provided by your legacy bios and compare them with the acpi spec to see which ones are required.
Stefan