can you copy irq_tables to 0xf0000 on your mainboard?
thanks
--------------------------------- Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, and more
On Tue, 25 Feb 2003, zhu shi song wrote:
can you copy irq_tables to 0xf0000 on your mainboard?
It depends on the chipset on the mainboard and also if the code for that chipset sets up 0xf0000 as 'shadow memory'.
For most platforms, the answer is still 'no'. But for most platforms, I think the answer could be 'yes'
ron
for mainboards that can't copy irq_routing_table to 0xf0000, what should we do to let linux setup irq of pci device correctly?
"Ronald G. Minnich" rminnich@lanl.gov wrote:On Tue, 25 Feb 2003, zhu shi song wrote:
can you copy irq_tables to 0xf0000 on your mainboard?
It depends on the chipset on the mainboard and also if the code for that chipset sets up 0xf0000 as 'shadow memory'.
For most platforms, the answer is still 'no'. But for most platforms, I think the answer could be 'yes'
ron
_______________________________________________ Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
--------------------------------- Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, and more
On Tue, 25 Feb 2003, zhu shi song wrote:
for mainboards that can't copy irq_routing_table to 0xf0000, what should we do to let linux setup irq of pci device correctly?
make sure that CONFIG_COMPRESS=0 ron
yes , CONFIG_COMPRESS=0 but it seems there is no effect, should i set kernel pci access mode to any or direct? "Ronald G. Minnich" rminnich@lanl.gov wrote:On Tue, 25 Feb 2003, zhu shi song wrote:
for mainboards that can't copy irq_routing_table to 0xf0000, what should we do to let linux setup irq of pci device correctly?
make sure that CONFIG_COMPRESS=0 ron
_______________________________________________ Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
--------------------------------- Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, and more
yes , CONFIG_COMPRESS=0 but it seems there is no effect, should i set kernel pci access mode to any or direct?
PCI access mode has to be direct.
-Andrew
no any progress. linux can't assign pci irq. what's wrong? Andrew Ip aip@cwlinux.com wrote:
yes , CONFIG_COMPRESS=0 but it seems there is no effect, should i set kernel pci access mode to any or direct?
PCI access mode has to be direct.
-Andrew
no any progress. linux can't assign pci irq. what's wrong?
Have you run getpir to get the correct pirq table?
-Andrew
yes, irq_tables.c is: /* This file was generated by getpir.c, do not modify! (but if you do, please run checkpir on it to verify) Contains the IRQ Routing Table dumped directly from your memory , wich BIOS sets up Documentation at : http://www.microsoft.com/hwdev/busbios/PCIIRQ.HTM */ #include <arch/pirq_routing.h> const struct irq_routing_table intel_irq_routing_table = { PIRQ_SIGNATURE, /* u32 signature */ PIRQ_VERSION, /* u16 version */ 32+16*4, /* there can be total 4 devices on the bus */ 0, /* Where the interrupt router lies (bus) */ 0x90, /* Where the interrupt router lies (dev) */ 0x8c00, /* IRQs devoted exclusively to PCI usage */ 0x1078, /* Vendor */ 0x2, /* Device */ 0, /* Crap (miniport) */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* u8 rfu[11] */ 0x4d, /* u8 checksum , this hase to set to some value that would give 0 after the sum of all bytes for this structure (including checksum) */ { {0,0x78, {{0x3, 0xdeb8}, {0x4, 0xdeb8}, {0x1, 0xdeb8}, {0x2, 0xdeb8}}, 0x2, 0}, {0,0x88, {{0x4, 0xdeb8}, {0x1, 0xdeb8}, {0x2, 0xdeb8}, {0x3, 0xdeb8}}, 0x3, 0}, {0,0x98, {{0x1, 0xdeb8}, {0, 0xdeb8}, {0, 0xdeb8}, {0, 0xdeb8}}, 0, 0}, {0x40,0, {{0, 0}, {0, 0}, {0, 0}, {0, 0}}, 0, 0}, } }; Andrew Ip aip@cwlinux.com wrote:> no any progress. linux can't assign pci irq. what's wrong? Have you run getpir to get the correct pirq table?
-Andrew
sorry, check sum should be 0xf0. NIC is ok. but usb's irq is not correct. zhu shi song zhushisongzhu@yahoo.com wrote: yes, irq_tables.c is: /* This file was generated by getpir.c, do not modify! (but if you do, please run checkpir on it to verify) Contains the IRQ Routing Table dumped directly from your memory , wich BIOS sets up Documentation at : http://www.microsoft.com/hwdev/busbios/PCIIRQ.HTM */ #include <arch/pirq_routing.h> const struct irq_routing_table intel_irq_routing_table = { PIRQ_SIGNATURE, /* u32 signature */ PIRQ_VERSION, /* u16 version */ 32+16*4, /* there can be total 4 devices on the bus */ 0, /* Where the interrupt router lies (bus) */ 0x90, /* Where the interrupt router lies (dev) */ 0x8c00, /* IRQs devoted exclusively to PCI usage */ 0x1078, /* Vendor */ &nb! sp; 0x2, /* Device */ 0, /* Crap (miniport) */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* u8 rfu[11] */ 0xf0, /* u8 checksum , this hase to set to some value that would give 0 after the sum of all bytes for this structure (including checksum) */ { {0,0x78, {{0x3, 0xdeb8}, {0x4, 0xdeb8}, {0x1, 0xdeb8}, {0x2, 0xdeb8}}, 0x2, 0}, {0,0x88, {{0x4, 0xdeb8}, {0x1, 0xdeb8}, {0x2, 0xdeb8}, {0x3, 0xdeb8}}, 0x3, 0}, &n! bsp; {0,0x98, {{0x1, 0xdeb8}, {0, 0xdeb8}, {0, 0xdeb8}, {0, 0xdeb8}}, 0, 0}, {0x40,0, {{0, 0}, {0, 0}, {0, 0}, {0, 0}}, 0, 0}, } }; Andrew Ip aip@cwlinux.com wrote: > no any progress. linux can't assign pci irq. what's wrong? Have you run getpir to get the correct pirq table?
-Andrew
usb's irq is still incorrect. under normal linux, usb's irq is 15, but under linuxbios the irq is 10. so usb can't work correctly. what's the correct step to run getpir? what's the rule for linux kernel to assign pci irq according to irq routing table? thanks zhu shi song zhushisongzhu@yahoo.com wrote:
sorry, check sum should be 0xf0. NIC is ok. but usb's irq is not correct. zhu shi song zhushisongzhu@yahoo.com wrote: yes, irq_tables.c is: /* This file was generated by getpir.c, do not modify! (but if you do, please run checkpir on it to verify) Contains the IRQ Routing Table dumped directly from your memory , wich BIOS sets up Documentation at : http://www.microsoft.com/hwdev/busbios/PCIIRQ.HTM */ #include <arch/pirq_routing.h> const struct irq_routing_table intel_irq_routing_table = { PIRQ_SIGNATURE, /* u32 signature */ PIRQ_VERSION, /* u16 version */ 32+16*4, /* there can be total 4 devices on the bus */ 0, /* Where the interrupt router lies (bus) */ 0x90, /* Where the interrupt router lies (dev) */ 0x8c00, /* IRQs devoted exclusively to PCI usage */ 0x1078, /* Vendor */ &am! p;nb! sp; 0x2, /* Device */ 0, /* Crap (miniport) */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* u8 rfu[11] */ 0xf0, /* u8 checksum , this hase to set to some value that would give 0 after the sum of all bytes for this structure (including checksum) */ { {0,0x78, {{0x3, 0xdeb8}, {0x4, 0xdeb8}, {0x1, 0xdeb8}, {0x2, 0xdeb8}}, 0x2, 0}, {0,0x88, {{0x4, 0xdeb8}, {0x1, 0xdeb8}, {0x2, 0xdeb8}, {0x3, 0xdeb8}}, 0x3, 0}, &n! bsp;&n! bsp; {0,0x98, {{0x1, 0xdeb8}, {0, 0xdeb8}, {0, 0xdeb8}, {0, 0xdeb8}}, 0, 0}, {0x40,0, {{0, 0}, {0, 0}, {0, 0}, {0, 0}}, 0, 0}, } }; Andrew Ip aip@cwlinux.com wrote: > no any progress. linux can't assign pci irq. what's wrong? Have you run getpir to get the correct pirq table?
-Andrew
On Wed, 26 Feb 2003, zhu shi song wrote:
usb's irq is still incorrect. under normal linux, usb's irq is 15, but under linuxbios the irq is 10. so usb can't work correctly. what's the correct step to run getpir? what's the rule for linux kernel to assign pci irq according to irq routing table? thanks
There is a chance that the PIR on the standard BIOS is wrong!
This happens. We've seen cases where the BIOS settings do not agree with the PIR settings, and the BIOS is just setting in the correct interrupt.
What board is this again (Sorry I forgot)
ron
evoc mainboard specififaction: on-board NS GX1 233Mhz(fanless) NS CS5530A winbond83977f realtek rtl8139C
attached file is linux kern boot mesgs. "Ronald G. Minnich" rminnich@lanl.gov wrote: On Wed, 26 Feb 2003, zhu shi song wrote:
usb's irq is still incorrect. under normal linux, usb's irq is 15, but under linuxbios the irq is 10. so usb can't work correctly. what's the correct step to run getpir? what's the rule for linux kernel to assign pci irq according to irq routing table? thanks
There is a chance that the PIR on the standard BIOS is wrong!
This happens. We've seen cases where the BIOS settings do not agree with the PIR settings, and the BIOS is just setting in the correct interrupt.
What board is this again (Sorry I forgot)
ron
_______________________________________________ Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
--------------------------------- Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, and more
Linux version 2.4.18epoll (root@localhost.localdomain) (gcc version 2.95.3 19993 BIOS-provided physical RAM map: BIOS-e801: 0000000000000000 - 000000000009f000 (usable) BIOS-e801: 0000000000100000 - 0000000001e00000 (usable) On node 0 totalpages: 7680 zone(0): 4096 pages. zone(1): 3584 pages. zone(2): 0 pages. Initializing CPU#0 Detected 233.865 MHz processor. Calibrating delay loop... 466.94 BogoMIPS Memory: 23188k/30720k available (841k kernel code, 7144k reserved, 201k data, 1) Checking if this processor honours the WP bit even in supervisor mode... Ok. Dentry-cache hash table entries: 4096 (order: 3, 32768 bytes) Inode-cache hash table entries: 2048 (order: 2, 16384 bytes) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 8192 (order: 3, 32768 bytes) CPU: Geode by NSC Geode(TM) Integrated Processor by National Semi stepping 00 Checking 'hlt' instruction... OK. POSIX conformance testing by UNIFIX PCI: Using configuration type 1 PCI: Probing PCI hardware PCI: IDE base address fixup for 00:12.2 PCI: Scanning for ghost devices on bus 0 PCI: IRQ init PCI: Interrupt Routing Table found at 0xc00f7690 00:10 slot=01 0:01/deb8 1:02/deb8 2:03/deb8 3:04/deb8 00:0f slot=02 0:03/deb8 1:04/deb8 2:01/deb8 3:02/deb8 00:11 slot=03 0:04/deb8 1:01/deb8 2:02/deb8 3:03/deb8 00:13 slot=00 0:01/deb8 1:00/deb8 2:00/deb8 3:00/deb8 PCI: Attempting to find IRQ router for 1078:0002 PCI: Using IRQ router NatSemi [1078/0100] at 00:12.0 PCI: IRQ fixup IRQ for 00:0f.0:0 -> PIRQ 03, mask deb8, excl 8800 -> newirq=0 ... failed IRQ for 00:13.0:0 -> PIRQ 01, mask deb8, excl 8800 -> newirq=0 ... failed PCI: Allocating resources PCI: Resource 00001000-000010ff (f=101, d=0, p=0) PCI: Resource febfd000-febfd0ff (f=200, d=0, p=0) PCI: Resource febfe000-febfe0ff (f=200, d=0, p=0) PCI: Resource 00001400-0000147f (f=101, d=0, p=0) PCI: Resource febff000-febff07f (f=200, d=0, p=0) PCI: Resource febfb000-febfbfff (f=200, d=0, p=0) PCI: Resource febfc000-febfcfff (f=200, d=0, p=0) Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Starting kswapd pty: 256 Unix98 ptys configured keyboard: Timeout - AT keyboard not present?(ed) keyboard: Timeout - AT keyboard not present?(f4) Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI ed ttyS00 at 0x03f8 (irq = 4) is a 16550A ttyS01 at 0x02f8 (irq = 3) is a 16550A block: 64 slots per queue, batch=16 RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic channels, max=256) (6 bit encapsul. CSLIP: code copyright 1989 Regents of the University of California. SLIP linefill/keepalive option. PPP generic driver version 2.4.1 PPP Deflate Compression module registered PPP BSD Compression module registered 8139too Fast Ethernet driver 0.9.24 IRQ for 00:0f.0:0 -> PIRQ 03, mask deb8, excl 8800 -> newirq=11 -> assigning IRK PCI: Assigned IRQ 11 for device 00:0f.0 eth0: RealTek RTL8139 Fast Ethernet at 0xc2800000, 00:e0:4c:83:04:e1, IRQ 11 usb.c: registered new driver hub IRQ for 00:13.0:0 -> PIRQ 01, mask deb8, excl 8800 -> newirq=11 -> assigning IRK PCI: Assigned IRQ 11 for device 00:13.0 usb-ohci.c: USB OHCI at membase 0xc2802000, IRQ 11 usb-ohci.c: usb-00:13.0, Compaq Computer Corporation USB Open Host Controller usb.c: new USB bus registered, assigned bus number 1 hub.c: USB hub found hub.c: 2 ports detected usb.c: registered new driver usbnet NET4: Linux TCP/IP 1.0 for NET4.0
On Wed, 26 Feb 2003, zhu shi song wrote:
sorry, check sum should be 0xf0. NIC is ok. but usb's irq is not correct.
Is this, by any chance, the error in which the USB hardware is not being enabled?
ron
send the output of your serial port one more time, sorry, I"ve lost context.
ron
On Tue, 25 Feb 2003, zhu shi song wrote:
but it seems there is no effect, should i set kernel pci access mode to any or direct?
should not matter for IRQ, but try direct anyway.
ron
Zhu,
for mainboards that can't copy irq_routing_table to 0xf0000, what should we do to let linux setup irq of pci device correctly?
Have you checked if CONFIG_COMPRESS is set 0?
-Andrew