@All Because balaton who works on QEMU create alternative boot loader instead of amigaos.of, allowing more control, output and necessary fixes so OS4 pegasos2's kernel will be happy with modern cards, i give it a go to try it all on real pegasos2.
So, i ordered 2 different PCI to PCIe bridges, and the first one arrived today, the one with "PEX 8112" chip, named : "PCI/PCI Express X16 adapter PXE8112"
That how it looks like (1-minute short video):
When i attach this thing to the pegasos2 (without a graphics card firstly, just an adapter), then, bboot show me that:
See, 80000000 vs 80010000. But that probably just a relayout of memory map because of new things added.
In the Ranger, it showed as "PCI to PCI bridge" with such values:
ID Bus 0x00 Device : 0x06 Function 0x00 Class Base: 0x06 Sub: 0x04 IFae: 0x00 (PCI-to-PCI Bridge) Device 0x8112 Rev: 0xAA (N/A) Vendor 0x10B5 (N/A) Header Type Bridge Cacheline Size 0 bytes Status CapList 66MHZ MedDevSel Capabilities BusMaster intercard Command IO Mem Master Int Interrupt Line: 0x00 Pin: A Number: 16
Resource Ranges with Base/Psysical/Size/Flags all empty, the same as for all pegasos2's Bridges.
Next, i tried to put RadeonHD 270 in (the one which not require additional power).
The result of bboot are absolutely the same. I can't see anything new added, except of PCI2PCI bridge strings. But, what is interesting, when i run Ranger after booting, then, in the “Resource Ranges” it did have now :
Base: 0x80000000 Physical: 0x80000000 Size: 65536 Flags: PreFetch Mem
But no other device in the whole PCI Bus list.
Booting with default amigaboot.of , do not show anything in “resource ranges” , so bboot does something which at least show some more things when card is added.
Anyway.. the Fan of GFX card is spinning, so it definitely “works” from electricity side. But maybe as geennaam says before, I still need additional adapter to add more power to it, dunno.
I think one side is to made drivers for RadeonHD and kernel works, etc., but another one, is that in Ranger and in bboot output we probably should see something else when attach a GFX card to ?
@kas1e The change in firewire memory BAR address is because the PCI bridge memory BAR was mapped before it as you can see from the numbwers. This is OK, it just means the firmware found the bridge first and allocated space for it then went on with the other devices which then moved further up.
All this was done by the pegasos2 firmware, the only change bboot did was the "Truncated 64 bit BAR" and it also printes that it changed 43003010 that the firmware put there to 42003010 but now we don't change the register value which is 8000000c and still has the 64 bit type. This chnage was found to be needed at least for graphics cards to avoid the error about SS==3 because it looks like pegasos2 AmigaOS kernel can't handle 64bit bars but presenting them as 32 bit may work. Otherwise these did not show up in Ranger. You can test that by booting with amigaboot.of instead of bboot and see if the bridge is seen by AmigaOS then.
Now BBoot does not scan devices on PCI bus, only looks at what the firmware found so the firmware found the bridge but did not try to do anything with that. I think AmigaOS can handle some bridges but then you should enable debug logs and check what it says about this bridge. Maybe @Hans can tell more about what bridges should work or if it could work if we add a driver for the bridge in BBoot and enumerate devices from that. So far at least the first step seems to be sone that the brisge shows up in AmigaOS.
So check if booting with amigaboot.of is the same to see if BBoot is needed at all other than getting info from the devices and check in AmigaOS logs (maybe even using kernel.debug) to see if there are any more errors there.
By the way BBoot will skip this PCI part if p is missing from Acrions so if you use Ab instead of the default Apb then it's about the same as booting with amigaboot.of and nothing will change in PCI configs where the only change now is the 64 bit BAR identifier in device tree to avoid the kernel error and make the BAR apprear for AmigaOS.
@kas1e Check https://www.amigaportal.cz/node/159407 with google translate, you probably have to add the same changes which are done in U-Boot on the AmigaOne XE in the SmartFirmare of the Pegasos2 to make it work. They tested it with a P17C9X bridge (working) and a PEX8111 bridge (not working), no idea if using a PEX8112 instead of PEX8111 would have worked.
So check if booting with amigaboot.of is the same to see if BBoot is needed at all other than getting info from the devices and check in AmigaOS logs (maybe even using kernel.debug) to see if there are any more errors there.
So far all i see currently it's with bboot and amigaboot.of all the same: bridge can be seen, just with only differences that in Ranger tool after booting with bboot i do have some more info about memory layouts with attached gfx card. With amigaboot.of have nothing..
But i can't see gfx card attached to it anyway, so will try first with power-risers , maybe this adapter just not powered enough to deal with radeonhd (even if my radeonhd not need external power).
Quote:
By the way BBoot will skip this PCI part if p is missing from Acrions so if you use Ab instead of the default Apb then it's about the same as booting with amigaboot.of and nothing will change in PCI configs where the only change now is the 64 bit BAR identifier in device tree to avoid the kernel error and make the BAR apprear for AmigaOS.
Currently i am on defaults, so to see how this bridge will react.
Yeah, long ago on reading and re-reading it :) Sailor (author) there as well, he commented from time to time. The P17C9X one i will receive in the next 10 days only, so only PEX8112 for tests now ...
Quote:
you probably have to add the same changes which are done in U-Boot
You mean interrupt related ones ? Not sure if OF give ability to do so ?
@kas1e Some years ago I tested PCI-PCIe bridge Pex 8111 + PCIe graphics card + MorphOS with no success - i.e no graphics output. I don't remember the details Only that original PCI card HD4350 worked. No output from Open firmware, but after boot to MorphOS it worked. I have no AmigaOS this time. In real this is no PCI gfx chip, but PCIe chip RV710 with PEX 8112 incorporated on card.
I don't remeber what PCIe cards I tested, but geennaam advice about power supply is reasonable - I am using such PCIe x1 - PCIe x16 powered adapter in Sam440ep-flex.
I have in plan check more modern graphics in Pegasos 2 too. But later - now I have in queue upgrade of Powermac G4 CPUs. But if testing will be succesfull, I have another step:
PCI slots in Pegasos 2 are 33 MHz - i.e. slow. But Pegasos has also AGP connector. In real, it is not AGP bus, but PCI 66 MHz bus connected to AGP connector. So all card works here in PCI mode. (Marwel Discovery Northbridge has no AGP, but two PCI host bridges). So I will try this one:
this is AGP-PCI adapter, of course not works on real AGP bus, but on such "PCI mode" AGP like Pegasos has.
If you succesfully tested card in 33 MHz slot, here is link to adapter. But have in mind, that it doesn't have to work - AGP connector mised LOCK signal, which some PCI cards needs. If PCI-PCIe bridge needs it, I don't know.
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
Yeah, long ago on reading and re-reading it :) Sailor (author) there as well, he commented from time to time. The P17C9X one i will receive in the next 10 days only, so only PEX8112 for tests now ...
yes, she is here
Quote:
Quote:
you probably have to add the same changes which are done in U-Boot
You mean interrupt related ones ? Not sure if OF give ability to do so ?
It concerns only AmigaOne firmware, there is not correct PCI space initialization. This was only minor correction of interrupt and cache values. In any case, firmware should recognize the card behind the bridge at first - without it no correction helps.
On Pegasos 2 you made more detailed examinations than me. So I looking forward to next investigations, and sorry, I can help until sometime around October.
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
I don't remeber what PCIe cards I tested, but geennaam advice about power supply is reasonable - I am using such PCIe x1 - PCIe x16 powered adapter in Sam440ep-flex.
Yep, just additional adapter , because its PCIe X1... But i already ordered those ones, will see how it will looks like from Ranger when i will attach those.. At least we will know if it the same for both bridges, or one will be ok and another one will not.
Maybe i should try "power supply riser" for PEX one too ?
Quote:
this is AGP-PCI adapter, of course not works on real AGP bus, but on such "PCI mode" AGP like Pegasos has.
If you succesfully tested card in 33 MHz slot, here is link to adapter.
Yeah, that the one i want to test too, just wasn't able to find it on aliexpress. And yeah, this AGP on pegasos2 just PCI 66mhz, so, an adapter from AGP to PCI is pure "pin to pin" mostly, without any additional logic included.
Years ago with the PEX 8112 and Sam440ep-flex, cards up to Radeon HD 6000 series worked. Could not get a Radeon HD7750 which was the lower end Radeon SI card to work .
By the way the PEX 8112 will work with one of the X5000's PCI slots to give an extra pciex1 slot if you can't get it to work with the Peg II. Currently using mine on an X5000 with a pcix1 HD audio card.
Years ago with the PEX 8112 and Sam440ep-flex, cards up to Radeon HD 6000 series worked.
But even with non-working cards, did you see them shower up in Ranger at all ? (i mean booting from other gfx card together with this one you test) ? Or you were use just single card, so if it show nothing on screen, then you mark it as non-working one ?
Also, did you use it with external power adapter to give more power to, or, as it ?
@all I see there are risers for PCI1 to PCI16 everywhere, and the connector to the actual line is for PCI1 (a small one). Did i understand right, that i can use the same riser, and attach this small piece of PCI1 connector to the PCI16 ?
BBoot would change an interrupt which is 0 or ff to 9 but only does that if it also assigned the addresses and won'f fix this for the case when running under pegasos2 firmware. I can change it to do that in that case too. But apart from that it seems we may also have a problem that if the pegaos2 firmware does not set up devices behind a bridge and AmigaOS only looks at devices that are set up by the firmware then it won't see the graphics card connected to the bridge unless BBoot would also do that. Is that the case or does AmigaOS try to drive the bridge and find devices behind it? I think @Hans said something about cards that have such bridge on them and the driver may work with it but maybe it's not the driver version indcluded in AmigaOS so I'm not sure what BBoot would have to do with these bridges. We need more data on what it looks like with current version with BBoot output, AmigaOS debug log and what can be seen in Ranger after boot and also if there's any info what the Driver needs the firmware (or in this case BBoot) to set up for it to be able to use tha card.
Was using a single card. so no display. Serial Debug indicated an endless loop. Power was as is . No external power .
Based on some later success of others with the P17C9X and external power one can probably narrow the issue down to either power or the PEX 8112 or both in the case of the Sam440ep.
But apart from that it seems we may also have a problem that if the pegaos2 firmware does not set up devices behind a bridge and AmigaOS only looks at devices that are set up by the firmware then it won't see the graphics card connected to the bridge unless BBoot would also do that. Is that the case or does AmigaOS try to drive the bridge and find devices behind it?
I think we will know for sure once i will test this PEX8112 based with power extender, and when i will test second adapter with PI7C9X111S chip in (with which most of ppls have success on SAM440 previously)
If everything still will be the same in all cases, be it PEX8112 with power adapter, or PI7C9X111S (with or without adapter), then we can think that this is something about firmware/hardware indeed.
Tomorrow i will receive power-riser, so at least we can check PEX8112 with it, and we can go further from this point..
EDIT: i also may try it in the X1000 or X5000 too, just to see how it configured (or not) via UBOOT, and how Ranger then looks like after i insert video card to it.
@All So i put this PEX8112 into X5000, to see how it will react: Firstly i put it without GFX card, then in Ranger i have a little more info to compare with the info i got from Pegasos2. That how it looks like in X5000:
ID Bus 0x06 Device : 0x04 Function 0x00 Class Base: 0x06 Sub: 0x04 IFace: 0x00 (PCI-to-PCI Bridge) Device 0x8112 Rev: 0xAA (PEX81212x1 Lane PCI Express-to-PCI Bridge) Vendor 0x10B5 (PLX Tecnology. Inc) Header Type Bridge Cacheline Size 32 bytes Status CapList 66MHZ MedDevSel Capabilities BusMaster intercard Bridge Command IO Mem Master Int Interrupt Line 0x05 Pin: A Number: 16
See, we have more info in Device, then Cacheline Size 32bytes and not 0 and Capabilities have an also "Bridge" word. Minor things probably, but still.
The “resource ranges” also empty.
Next, i attach RadeonHD to it (btw had to comment hda.device loading, as it crashes in this combo).
And it didn't showups inside of that bridge tab, but instead in the defaults bridges of X5000, which is:
ID Bus 0x04 Device : 0x03 Function 0x00 Class Base: 0x06 Sub: 0x04 IFace: 0x00 (PCI-to-PCI Bridge) Device 0x8092 Rev: 0x02 (N/A) Vendor 0x111D (Integrated Device Technology. Inc[IDT]) Header Type Bridge Cacheline Size 32 bytes Status CapList FastDevSel Capabilities BusMaster intercard Bridge Command IO Mem Master Int Interrupt Line 0x00 Pin: None, Number: N/A
And in this tab i do have both VGA Controller + Audio Device of my card. That without external power-riser, but then, this is X5000 with it's PCIs and not Pegasos2 , as well as this is UBOOT and not OF.
Will try on X1000 as well: It didn't have UBOOT, but SmartFirmware, maybe will give some more light on.
vendor and device names? That's just from the pci.ids file. You probably have an older one, or none, on the Pegasos2. You can download the current version from https://pci-ids.ucw.cz/
vendor and device names? That's just from the pci.ids file. You probably have an older one, or none, on the Pegasos2. You can download the current version from https://pci-ids.ucw.cz/
Updated pci.ids on peg2 to the latest one, and even copy the same version of Ranger binary as on x5000 : and after reboot, it still shows the same "N/A" things.
I tried SysMon tool, and this one reads all correctly on Peg2. So it can be Ranger's general issue (or some os4 components)
@All Interesting that when i go to the OF, and type:
@kas1e I wanted to ask you to send .properties of that bridge to check its ranges property but you did that above already. What if you cd to /pci/pci and do ls? Does a display device node appear there? Then you can also get .properties of that to see how the firmware sees this. You could get all info from SmartFirmware with dump-all but that's too long to post here, maybe send it to me or upload somewhere. There's also a dump-pciconfig word in SmartFirmware but I don't know what that does but sounds like it can get some info from a card.
BBoot currently only lists devices attached to the internal PCI buses of Pegasos2, it won't go down in bridges. I'll need to change that but don't know yet how to access devices behind the bridge on pegasos2 so I'll also have to read some docs on these bridges. At least now I have the device node for the bridge so I can see if there's some info on this there.
@kas1e Every PCI-PCIe bridge is in real PCIe x1. Even if it has ×16 mechanical connector, electrically it is only x1. So you can connect x1 extender to x16 bridge connector with no slowdown.
And powered PCIe x1 - PCIe x16 adapter ( for minig rigs as geennam suggested ) is simple serial lines extension, totally passive. You not see it in Ranger.
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
@balaton,geennaam So, takin into account latest pciconfigs and what geennam says we do have pci bridge seen on pci@6 and radeonhd card witb hdaudio visibly too.
Question is : why os4 apps such as ranger and sysmon didnt see card ? I assume if it issues with BARs we still should see it as hardware with wrong memory regions,etc, right ? Or issues with bars can be resulted with os4 not see card as hardware at all ?