@kas1e Yes just cat /proc/interrupts should be enough (there's also /proc/ioports and /proc/iomem but not sure if that has anything useful but while you're there you could ge those too).
echo >/dev/ttyS0 should work but maybe you need to make sure you use the right baud setting, check dmesg | grep serial to see what it set or around those lines in dmesg. Maybe you can use " /failsafe" io even on real peagsos to set console to serial before boot and then maybe the Linux output will be on serial too at least that happens on QEMU but maybe because it does not recognise video).
@derfs Not sure that using VGA and x-vga=on together is a good idea as both of those would use the same ports so just forget VGA and use bochs-display,romfile="" instead. This probably does not matter for the freeze though. To me that sounds like maybe something with shared interrupts as all PCI devices use IRQ9, this is how the firmware sets it up so maybe that's expected but I'd like to see output from real machine to check that. Can the same freeze be reproduced with Linux? It seems to happen when using multiple PCI devices such as network, usb, sound and a passed through card. I don't know however how to find more about this, I hope Linux may give us more info or at least be able to debug better with that as we have the sources to check.
Also including info qtree, info registers and info irq output from QEMU monitor at the hang may have some more info about the state of the machine so try to get that. You can use -serial mon:stdio and switch between serial of the quest and QEMU monitor with Ctrl-A c
@MartinW All PCI devices are mapped to IRQ 9 and AFIAK this is also how it is on real machine so maybe we have some problem with emulating the interrupt controller or the AmigaOS driver for it expects something that works differently on real hardware. That's why I'm interested if this can be reproduced with Linux because then we may understand better what is happening or if Linux works it may be AmigaOS specific.
I never used Dialer, at least for me it's much more complicated and can easier fail than simply using the internet prefs to set up a connection.
I use it through the wizard. That is when I used to wizard to set it up. The wizard attaches Dialer icon. Should be updated. People always advise against using the wizard but for me it was always fine, just confusing with the dated terms it uses for connection, such as Broadband when what is needed is DHCP for a common router.
Going through Internet Prefs it has a generic icon that opens up MultiView. Even less useful for getting online but at least there's no complaint. But it's still tagged as a mountlist.
Does the Linux installer mount USB drives? Should auto mount devices so data can be copied that way as well. At least the Jessie installer ramdisk I rebuilt for A1/XE did mount over USB.
IRQ mappings are missing except for the gfx card, but if really everything is using IRQ 9 on the Pegasos2 emulation it's no wonder that you get system freezes or crashes sooner or later...
@balaton Quote:
That's why I'm interested if this can be reproduced with Linux because then we may understand better what is happening or if Linux works it may be AmigaOS specific.
As I wrote already Linux is irrelevant, maybe it even works if all PCI drivers share the same IRQ. AmigaOS doesn't.
but if really everything is using IRQ 9 on the Pegasos2 emulation it's no wonder that you get system freezes or crashes sooner or later...
Everyting is using IRQ9 on pegasos2. Also on real one not only emulation, that's how the firmware sets it up. So how does this work on real hardware then? If it works on real hardware this way then we don't emulate something the way AmigaOS expects it. It may be Linux can handle this better and still work but that's not irrelevant to find out because it takes us closer to understanding the problem. Otherwise we're just stuck looking at a frozen AmigaOS with no way to find out why it froze. Or do you have an idea how to debug what is happening when it freezes to find out what circumstances is causing that? If we don't know what's causing it how can we fix it?
echo >/dev/ttyS0 should work but maybe you need to make sure you use the right baud setting, check dmesg | grep serial to see what it set or around those lines in dmesg.
That what dmesg brings:
[0.00]000] Found legacy serial port 0 for /pci@80000000/isa@C/serial@i2F8
[0.417418] serial8250.0: ttyS0 at I/O 0x2f8 (irc = 0, base_baud = 115200) is a 16550A
So once i boot, it start throw me messages on serial as usual, then "PPC Debina , Have fun!" , and then linux boots.
Then in the shell i just do "echo aaaa > /dev/ttyS0" , and nothing :(
Quote:
Maybe you can use " /failsafe" io even on real peagsos to set console to serial before boot and then maybe the Linux output will be on serial too at least that happens on QEMU but maybe because it does not recognise video).
I tried firstly to set "output-device" in OF from the "screen" to "ttya" (so all output go to serial, and i can operate peg2 via serial). Then, i can from the serial terminal choose "rescue" once boot script of linux executes, then, when it's about to switch video mode, it then stops to throw stuff to the serial :(
I even tried to disable ps2 keyboard, and keep it like that, but then the same :(
Possibly it has some bits somewhere in kernel options like serial on/off ?
Anyway, i tried then another way : via USB stick, and damn, there another set of issues :) I boot in "Rescue", go to shell, find out that my USB stick attached and listed as /dev/sdb , but any try to do something like "mount /dev/sdb /mnt" , or "mount -vfat /dev/sdb /mnt/" , result in strange error "mounting /dev/sdb on /mnt failed: No such file or directory"
So far i record the video of output, but that of course kind of hardcore, need to find out the way to grab output from... USB may have it's issues (possibly fat32 just not inbuilt intro rescue modules, dunno), but serial stopping working once Linux boots to shell kind of strange, somewhere it should be disabled or some settings changed ..
Everyting is using IRQ9 on pegasos2. Also on real one not only emulation
Then you should get exactly the same problems on a real Pegasos2, for example gfx, ethernet, audio, PATA/SATA, etc. all using the same IRQ can't work. Some AmigaOS drivers may support shared IRQs, but definitely not all. For example check https://www.amigaportal.cz/node/159407 (with Google Translate or something like that), it's a guide on how to get a PCIe gfx card working with a PCI->PCIe bridge on an AmigaOne XE, and one of the changes required to make it work was to make sure every PCI(e) card uses a different IRQ. Of course U-Boot itself on the AmigaOne XE can't configure that itself correctly since it has no PCIe nor bridge support, instead using the U-Boot "pci write" command to manually configure it correctly was required to make it work.
@kas1e No idea about why it stops sending data to serial, works in emulated pegasos2 but there I don't get gfx output. If you can pass linux kernel options somewhere adding console=ttyS0 should keep it on serial but don't know where you can set it, maybe in some firmware env variable. If you booted from usb it may already be mounted so just check output of mount command or /proc/mounts to see if the /dev/sdb is already there. It may also be /dev/sdb1 or something if it's seen as a harddisk with a partition. Finally if you use the netinstall cd then you can go through the questions for it to set up networking then you may be able to copy stuff over the network but not sure what's there in the limited rescue system. Maybe you can try to find a different Linux CD that boots in a more convenient live system but don't know what worked on Pegasos2
Are interrupts all mapped to the same interrupt number? My RX560 uses line 9 and pin A but is mapped to interrupt number 25.
Conflicts will only appear when multiple devices get mapped to the same interrupt number.
If you remove RadeonRX from the kicklayout, you can boot amigaos with sm501 and check Ranger. Doesn't work for RadeonHD because pci graphics seems to be RadeonHD aware.
PS. And i were lucky to mount USB stick in "rescue" too, just used cd-disk's menu to run something importan, after which i can simple do "mount /dev/sdb /mnt/usb/" and it works. So can share any info you need now :)
@kas1e Missing detailed PCI infos from lspci -vvv and maybe you can also include full dmesg as well in case there's some interesting log message there.
Also including info qtree, info registers and info irq output from QEMU monitor at the hang may have some more info about the state of the machine so try to get that. You can use -serial mon:stdio and switch between serial of the quest and QEMU monitor with Ctrl-A c