Please, do somebody know, what exactly do settings in U-Boot, section PCI/AGP, Menu PCI Interrupt?
There are four PCI interrupts A, B, C, D - it probably means PCI slots interrupts pins. I checked the southbridge specs ( there is interrupt controller ) and he have only four hw interrupt lines, so it is also can be interrupt controller input.
But if I changed for example PCI interrupt A level from 10 to 13 (#A to #D), whole interrupts mappings ( line, pin, number ) in Ranger stays the same. Also mappings in InterruptHandler are not changed.
AmigaOS3: Amiga 1200 AmigaOS4: Micro A1-C, AmigaOne XE, Pegasos II, Sam440ep, Sam440ep-flex, AmigaOne X1000 MorphOS: Efika 5200b, Pegasos I, Pegasos II, Powerbook, Mac Mini, iMac, Powermac Quad
its a puzzel, don't allow two cards that needs IRQ share IRQ.
You know when done something wrong, when get glitches on screen or corrupted files, if that happens simply reformat, and try different configuration. its that simple.
(NutsAboutAmiga)
Basilisk II for AmigaOS4 AmigaInputAnywhere Excalibur and other tools and apps.
yes it is a puzzle. As I know, Interrupt controller is legacy PCI ( pre - MSI ), have only four IRQ hw pins and have APIC ( two data registers ). I don't understand APIC.
But mapping according Ranger is this:
PCI bus 0 - i.e. 3x 33MHz: PCI slot 1 = LINE 9 PCI slot 2 = LINE 10 PCI slot 3 = LINE 11
PciBus 1 - i.e. AGP + PCI 66MHz PCI 66 slot = LINE 10 AGP slot = LINE 11
This concers if PCI card have inside one device. If card have more devices inside ( my USB2.0 card have three PCI ids), the numbers is shifted: PCI slot 1 = second device LINE 10, third device LINE 11 PCI slot 2 = second device LINE 11, third device LINE 7 PCI slot 3 = second device LINE 7, third device LINE 9
It looks similar like U-boot menu.
I ( theoretically ) know, how to modify interrupt LINE for single PCI id - with pci write U-boot command, but how to with menu? It is a question...
I need this becouse I made experiments with PCIe cards on XE. Unfortunatelly PCIe bridge must be on 33 MHz bus, so I want to utilize PCI66 MHZ slot for other cards. And there is interrupt problem.
AmigaOS3: Amiga 1200 AmigaOS4: Micro A1-C, AmigaOne XE, Pegasos II, Sam440ep, Sam440ep-flex, AmigaOne X1000 MorphOS: Efika 5200b, Pegasos I, Pegasos II, Powerbook, Mac Mini, iMac, Powermac Quad
Sharing irq nr is not optimal, but is possible with PCI bus. One from my working configurations:
AGP card PCI66 - slot 1 SATA slot 2 USB 2.0 slot 3 ethernet 1GbE
with this config AGP card and ethernet have the same: Line=0B(= 11dec), PIN=A, int nr.=27
they differs in priority on interrupt handler, where gfx have 100 and ethernet 10 or 5.
As I know, older ISA cannot share interrups and also MSI (newer PCI interrupt system) not share interrupts. But I thing that was for speed oprimalization, not for need.
AmigaOS3: Amiga 1200 AmigaOS4: Micro A1-C, AmigaOne XE, Pegasos II, Sam440ep, Sam440ep-flex, AmigaOne X1000 MorphOS: Efika 5200b, Pegasos I, Pegasos II, Powerbook, Mac Mini, iMac, Powermac Quad
It seems that my problem is not connected directly with interrupts.
When I place PCI card ( for example 1GbE NIC ) in 66 MHz slot it receive correct interrupt line, pin and nr. It emerges correctly in IntHandler.
But cards in 66 MHz slot ( except gfx one ) works like not works. With NIC I can ping ( receive DNS translation, ping works ). But nothing more complex. If I try Odyssey - it starts first sockets but no advance. It is not stuck, simply there no transfer.
Please, do somebody utilize PCI card in 66 MHz slot? ( except gfx, of course )
AmigaOS3: Amiga 1200 AmigaOS4: Micro A1-C, AmigaOne XE, Pegasos II, Sam440ep, Sam440ep-flex, AmigaOne X1000 MorphOS: Efika 5200b, Pegasos I, Pegasos II, Powerbook, Mac Mini, iMac, Powermac Quad
XE fixed, includes rewiring some interrupt lines, this to enable the use of AGP port. I believe it moves the IRQ from PCI66 slot. it’s not a good fix. So if your MB is fixed, I guess you can’t use PCI66 for anything that need IRQ.
(NutsAboutAmiga)
Basilisk II for AmigaOS4 AmigaInputAnywhere Excalibur and other tools and apps.
yes, I know. I receive this XE like DMA-fixed. Thanks to walkero I received Eyetech original DMA-fix manual. Them my friend makes DMA-unfix.
I tested the PCI 66 MHz, graphics cards works here ootb with no problems, speed is the same like AGP card in PCImode or AGPx1 mode. Interrupts works. So everything OK with slots.
But not with drivers. Other cards ( tried SATA, USB2.0, 1GbE ) act strangely. I see them in Ranger, they receive correct interrups, interrupts correctly mapped in IntHandler - I will post screenshots.
But partially works only 1GbE - like I wrote above. 1GbE also have no errors in debuglog, USB and SATA yes, something like "cannot read"...
SATA drivers normally initialized, in early Amiga bootmemu ( pressed L+R mouse) SATA disk in PCI 66 normally visible. But after boot the disk is not mounted, HDtoolbox see that there is the device, but cannot go inside to partitions. Sometimes even cannot read correct diskname.
I tested also change interrupt level in PCI66 from "level" to "edge" ( PCI66 have same interrupt line, pin nr like PCI33 slot 2 ), but no change. I also think, that if the level was the reason, all system will be stucked ( because on unsolved interrupt ). But it in no case. System works, only cards not.
AmigaOS3: Amiga 1200 AmigaOS4: Micro A1-C, AmigaOne XE, Pegasos II, Sam440ep, Sam440ep-flex, AmigaOne X1000 MorphOS: Efika 5200b, Pegasos I, Pegasos II, Powerbook, Mac Mini, iMac, Powermac Quad