Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
135 user(s) are online (119 user(s) are browsing Forums)

Members: 0
Guests: 135

more...

Support us!

Headlines

 
  Register To Post  

« 1 ... 38 39 40 (41) 42 43 44 ... 75 »
Re: What the fastest possible x64 emulation way of OS4 today ?
Quite a regular
Quite a regular


See User information
@Maijestro MartinW
You can't remove the via-ac97 device as it is part of the VT8231 chip and is always emulated but if you don't load a driver for it then it should net generate interrutps. Actually the proper AmigaOs way to disable a driver is to copy it from Sys:Devs to Sys:Storage instead of renaming but both ways should work.
The problem Maijestro referred to was before via-ac97 was emulated so without disabling the driver it hung because it got no reply from the non-existing device. But another problem existed that PCI interrupts were not connected to VT8231 so even other devices like network card did not work. Then I've implemented PCI interrupts to VT8231 which fixed the network card and implemented via-ac97 to get sound but that's independent of IRQ problems. The ptoblem with multiple devices freezing under MorphOS was only happening because level sensitive mode o PIC was not implemented in the old way MorphOS wanted to use it but that should not affect other guests that don't use that and we didn't see a problem with those before getting the gfx card in the picture. Maybe the occasional network related hang is the same but with a GPU generating more interrupts it happens sooner. Or there's something with interrupt handling but I don't know what and first I'd like to check with other guests and also on real hardware if lossible to make sure it's something with emulation end not a guest side issue.

There's also the patch that lowers the interrupt and raises again when an unserviced one is pending to generate an edge in case the OS did not notice or expects level sensitive interrupts that I've first posted as a work around for the MorphOS issue which could be tested if it helps with this issue. I've posted a link in post #787 it should be possible to Download mbox from that page and apply that to QEMU git master with git am -3 patch.mbox. It wasn't needed after the level sensitive mode was fixed in PIC emulation but maybe it could help with this issue ot at least should not make it worse so may worth a try just to see it' may be related to that part of the code.

Edit: There's a lot of things going on here so to avoid getting lost if you report some test result plase make sure to describe exactly what you tested, real hardware or emulated, what devices what settings or QEMU version and patches you've used so we know what the test shows exactly.

Go to top
Re: What the fastest possible x64 emulation way of OS4 today ?
Not too shy to talk
Not too shy to talk


See User information
@balatonQuote:
balaton wrote:@derfs
At least we have something to start from but it's not clear what the network card IEQ would be shared with if you disabled the gfx card IRQ. Do you use USB or sound or just the network when it freezes?
Does the same happen with Linux? Can you try to reproduce it wirh Linux too and see if that logs something.
Maybe also check info pic output in QEMU monitor when it hangs.


I tried installing linux (the link you posted) however the network didnt work when trying to get updates/packages via online repositories during setup.

The following is for AmigaOS4.1 via QEMU Peg2

(qemuinfo version
8.0.50v8.0.0
-2316-gd145c0da22
(qemu)


Using the following QEMU command-line, and after removing the AOS sound and network drivers, the OS loads with no freezing.

qemu-system-ppc \
    
-L pc-bios -M pegasos2 -bios pegasos2.rom -vga none \
    
-cpu 7457 -m 1024 \
    
-rtc base=localtime -serial mon:stdio \
    
-device bochs-display,romfile="",bus=pci.1 \
    
-drive media=disk,format=raw,file=hdf/peg2.img \
    
-drive media=disk,format=raw,file=hdf/apps.hdf \
    
-device vfio-pci,host=0b:00.0,multifunction=on,x-vga=on,bus=pci.0  \
    
-device rtl8139,netdev=net0 -netdev user,id=net0


info irq

(qemuinfo irq
IRQ statistics 
for 7457_v1.2-powerpc-cpu:
 
2747
 4
2742
 7
19
 8
1823206
10
64014
73
8
IRQ statistics 
for isa-i8259:
 
0635
 1
9
 2
4039
12
5205
14
1098
15
338
(qemu)


info mtree
(qemuinfo mtree
address
-spacevia-ide
  0000000000000000
-ffffffffffffffff (prio 0i/o): bus master container
    0000000000000000
-ffffffffffffffff (prio 0i/o): alias bus master @system 0000000000000000-ffffffffffffffff

address
-spacemv64361-pcibridge
  0000000000000000
-ffffffffffffffff (prio 0i/o): bus master container
    0000000000000000
-ffffffffffffffff (prio 0i/o): alias bus master @system 0000000000000000-ffffffffffffffff

address
-spacevt8231-pm
  0000000000000000
-ffffffffffffffff (prio 0i/o): bus master container

address
-spacevt82c686b-usb-uhci
  0000000000000000
-ffffffffffffffff (prio 0i/o): bus master container
    0000000000000000
-ffffffffffffffff (prio 0i/o): alias bus master @system 0000000000000000-ffffffffffffffff

address
-spacemv64361-pcibridge
  0000000000000000
-ffffffffffffffff (prio 0i/o): bus master container

address
-spacertl8139
  0000000000000000
-ffffffffffffffff (prio 0i/o): bus master container

address
-spacebochs-display
  0000000000000000
-ffffffffffffffff (prio 0i/o): bus master container

address
-spacevt82c686b-usb-uhci
  0000000000000000
-ffffffffffffffff (prio 0i/o): bus master container
    0000000000000000
-ffffffffffffffff (prio 0i/o): alias bus master @system 0000000000000000-ffffffffffffffff

address
-spacevfio-pci
  0000000000000000
-ffffffffffffffff (prio 0i/o): bus master container
    0000000000000000
-ffffffffffffffff (prio 0i/o): alias bus master @system 0000000000000000-ffffffffffffffff

address
-spacecpu-memory-0
address
-spacememory
  0000000000000000
-ffffffffffffffff (prio 0i/o): system
    0000000000000000
-000000003fffffff (prio 0ram): pegasos2.ram
    
0000000080000000-00000000bfffffff (prio 0i/o): alias pci1-mem0-win @pci1-mem 0000000080000000-00000000bfffffff
    00000000c0000000
-00000000dfffffff (prio 0i/o): alias pci0-mem0-win @pci0-mem 00000000c0000000-00000000dfffffff
    00000000f1000000
-00000000f100ffff (prio 0i/o): mv64361
    00000000f8000000
-00000000f8ffffff (prio 0i/o): alias pci0-io-win @pci0-io 0000000000000000-0000000000ffffff
    00000000f9000000
-00000000f9ffffff (prio 0i/o): alias pci0-mem1-win @pci0-mem 0000000000000000-0000000000ffffff
    00000000fd000000
-00000000fdffffff (prio 0i/o): alias pci1-mem1-win @pci1-mem 0000000000000000-0000000000ffffff
    00000000fe000000
-00000000feffffff (prio 0i/o): alias pci1-io-win @pci1-io 0000000000000000-0000000000ffffff
    00000000ff800000
-00000000ffffffff (prio 0i/o): alias pci1-mem3-win @pci1-mem 00000000ff800000-00000000ffffffff
    00000000fff00000
-00000000fff7ffff (prio 0rom): pegasos2.rom

address
-spacevt8231-isa
  0000000000000000
-ffffffffffffffff (prio 0i/o): bus master container
    0000000000000000
-ffffffffffffffff (prio 0i/o): alias bus master @system 0000000000000000-ffffffffffffffff

address
-spaceI/O
  0000000000000000
-000000000000ffff (prio 0i/o): io

address
-spacevia-ac97
  0000000000000000
-ffffffffffffffff (prio 0i/o): bus master container
    0000000000000000
-ffffffffffffffff (prio 0i/o): alias bus master @system 0000000000000000-ffffffffffffffff

address
-spacevia-mc97
  0000000000000000
-ffffffffffffffff (prio 0i/o): bus master container

memory
-regionsystem
  0000000000000000
-ffffffffffffffff (prio 0i/o): system
    0000000000000000
-000000003fffffff (prio 0ram): pegasos2.ram
    
0000000080000000-00000000bfffffff (prio 0i/o): alias pci1-mem0-win @pci1-mem 0000000080000000-00000000bfffffff
    00000000c0000000
-00000000dfffffff (prio 0i/o): alias pci0-mem0-win @pci0-mem 00000000c0000000-00000000dfffffff
    00000000f1000000
-00000000f100ffff (prio 0i/o): mv64361
    00000000f8000000
-00000000f8ffffff (prio 0i/o): alias pci0-io-win @pci0-io 0000000000000000-0000000000ffffff
    00000000f9000000
-00000000f9ffffff (prio 0i/o): alias pci0-mem1-win @pci0-mem 0000000000000000-0000000000ffffff
    00000000fd000000
-00000000fdffffff (prio 0i/o): alias pci1-mem1-win @pci1-mem 0000000000000000-0000000000ffffff
    00000000fe000000
-00000000feffffff (prio 0i/o): alias pci1-io-win @pci1-io 0000000000000000-0000000000ffffff
    00000000ff800000
-00000000ffffffff (prio 0i/o): alias pci1-mem3-win @pci1-mem 00000000ff800000-00000000ffffffff
    00000000fff00000
-00000000fff7ffff (prio 0rom): pegasos2.rom

memory
-regionpci1-mem
  0000000000000000
-00000000ffffffff (prio 0i/o): pci1-mem

memory
-regionpci0-mem
  0000000000000000
-00000000ffffffff (prio 0i/o): pci0-mem
    00000000000a0000
-00000000000bffff (prio 1i/o): vfio-vga-mmio@0xa0000
    00000000c0000000
-00000000cfffffff (prio 1i/o): 0000:0b:00.0 base BAR 0
      00000000c0000000
-00000000cfffffff (prio 0i/o): 0000:0b:00.0 BAR 0
        00000000c0000000
-00000000cfffffff (prio 0ramd): 0000:0b:00.0 BAR 0 mmaps[0]
    
00000000d0000000-00000000d003ffff (prio 1i/o): 0000:0b:00.0 base BAR 2
      00000000d0000000
-00000000d003ffff (prio 0i/o): 0000:0b:00.0 BAR 2
        00000000d0000000
-00000000d003ffff (prio 0ramd): 0000:0b:00.0 BAR 2 mmaps[0]
        
00000000d0004000-00000000d00040ff (prio 1i/o): vfio-ati-bar2-4000-quirk

memory
-regionpci0-io
  0000000000000000
-000000000000ffff (prio 0i/o): pci0-io
    00000000000003b0
-00000000000003bb (prio 1i/o): vfio-vga-io@0x3b0
    00000000000003c0
-00000000000003df (prio 1i/o): vfio-vga-io@0x3c0
      00000000000003c3
-00000000000003c3 (prio 0i/o): vfio-ati-3c3-quirk
    0000000000001000
-00000000000010ff (prio 1i/o): 0000:0b:00.0 base BAR 4
      0000000000001000
-00000000000010ff (prio 0i/o): 0000:0b:00.0 BAR 4
        0000000000001000
-0000000000001003 (prio 1i/o): vfio-ati-bar4-window-address-quirk
        0000000000001004
-0000000000001007 (prio 1i/o): vfio-ati-bar4-window-data-quirk

memory
-regionpci1-io
  0000000000000000
-000000000000ffff (prio 0i/o): pci1-io
    0000000000000000
-0000000000000007 (prio 0i/o): dma-chan
    
0000000000000008-000000000000000f (prio 0i/o): dma-cont
    0000000000000020
-0000000000000021 (prio 0i/o): pic
    0000000000000040
-0000000000000043 (prio 0i/o): pit
    0000000000000060
-0000000000000060 (prio 0i/o): i8042-data
    0000000000000064
-0000000000000064 (prio 0i/o): i8042-cmd
    0000000000000070
-0000000000000071 (prio 0i/o): rtc
      0000000000000070
-0000000000000070 (prio 0i/o): rtc-index
    
0000000000000081-0000000000000083 (prio 0i/o): dma-page
    
0000000000000087-0000000000000087 (prio 0i/o): dma-page
    
0000000000000089-000000000000008(prio 0i/o): dma-page
    
000000000000008f-000000000000008(prio 0i/o): dma-page
    00000000000000a0
-00000000000000a1 (prio 0i/o): pic
    00000000000000b2
-00000000000000b3 (prio 0i/o): apm-io
    00000000000000c0
-00000000000000cf (prio 0i/o): dma-chan
    00000000000000d0
-00000000000000df (prio 0i/o): dma-cont
    00000000000002f8
-00000000000002ff (prio 0i/o): serial
    
0000000000000378-000000000000037f (prio 0i/o): parallel
    00000000000003f1
-00000000000003f5 (prio 0i/o): fdc
    00000000000003f7
-00000000000003f7 (prio 0i/o): fdc
    00000000000004d0
-00000000000004d0 (prio 0i/o): elcr
    00000000000004d1
-00000000000004d1 (prio 0i/o): elcr
    0000000000000f00
-0000000000000f7f (prio 0i/o): via-pm
      0000000000000f00
-0000000000000f03 (prio 0i/o): acpi-evt
      0000000000000f04
-0000000000000f05 (prio 0i/o): acpi-cnt
      0000000000000f08
-0000000000000f0b (prio 0i/o): acpi-tmr
    0000000000001000
-0000000000001007 (prio 1i/o): via-ide0-data
    000000000000100c
-000000000000100f (prio 1i/o): via-ide0-cmd
    0000000000001010
-0000000000001017 (prio 1i/o): via-ide1-data
    000000000000101c
-000000000000101f (prio 1i/o): via-ide1-cmd
    0000000000001020
-000000000000102f (prio 1i/o): via-bmdma-container
      0000000000001020
-0000000000001023 (prio 0i/o): via-bmdma
      0000000000001024
-0000000000001027 (prio 0i/o): bmdma
      
0000000000001028-000000000000102b (prio 0i/o): via-bmdma
      000000000000102c
-000000000000102f (prio 0i/o): bmdma
    0000000000001040
-000000000000105f (prio 1i/o): uhci
    0000000000001060
-000000000000107f (prio 1i/o): uhci


info network
(qemuinfo network
rtl8139.0
index=0,type=nic,model=rtl8139,macaddr=52:54:00:12:34:56
 \ net0
index=0,type=user,net=10.0.2.0,restrict=off
(qemu)


info pci (is the network card meant to have a BAR 6? seems strange)
(qemuinfo pci
  Bus  0
device   0, function 0:
    
Host bridgePCI device 11ab:6460
      PCI subsystem 1af4
:1100
      id 
""
  
Bus  0device   1, function 0:
    
Display controllerPCI device 1234:1111
      PCI subsystem 1af4
:1100
      BAR0
32 bit prefetchable memory at 0xffffffffffffffff [0x00fffffe].
      
BAR232 bit memory at 0xffffffffffffffff [0x00000ffe].
      
id ""
  
Bus  0device   2, function 0:
    
Ethernet controllerPCI device 10ec:8139
      PCI subsystem 1af4
:1100
      IRQ 9
pin A
      BAR0
I/O at 0xffffffffffffffff [0x00fe].
      
BAR132 bit memory at 0xffffffffffffffff [0x000000fe].
      
BAR632 bit memory at 0xffffffffffffffff [0x0003fffe].
      
id ""
  
Bus  0device  12, function 0:
    
ISA bridgePCI device 1106:8231
      PCI subsystem 1af4
:1100
      id 
""
  
Bus  0device  12, function 1:
    
IDE controllerPCI device 1106:0571
      PCI subsystem 1af4
:1100
      IRQ 14
pin A
      BAR0
I/O at 0x1000 [0x1007].
      
BAR1I/O at 0x100c [0x100f].
      
BAR2I/O at 0x1010 [0x1017].
      
BAR3I/O at 0x101c [0x101f].
      
BAR4I/O at 0x1020 [0x102f].
      
id ""
  
Bus  0device  12, function 2:
    
USB controllerPCI device 1106:3038
      PCI subsystem 1af4
:1100
      IRQ 9
pin D
      BAR4
I/O at 0x1040 [0x105f].
      
id ""
  
Bus  0device  12, function 3:
    
USB controllerPCI device 1106:3038
      PCI subsystem 1af4
:1100
      IRQ 9
pin D
      BAR4
I/O at 0x1060 [0x107f].
      
id ""
  
Bus  0device  12, function 4:
    
BridgePCI device 1106:8235
      PCI subsystem 1af4
:1100
      id 
""
  
Bus  0device  12, function 5:
    
Audio controllerPCI device 1106:3058
      PCI subsystem 1af4
:1100
      IRQ 9
pin C
      BAR0
I/O at 0xffffffffffffffff [0x00fe].
      
BAR1I/O at 0xffffffffffffffff [0x0002].
      
BAR2I/O at 0xffffffffffffffff [0x0002].
      
id ""
  
Bus  0device  12, function 6:
    Class 
1920PCI device 1106:3068
      PCI subsystem 1af4
:1100
      IRQ 9
pin C
      id 
""
  
Bus  0device   0, function 0:
    
Host bridgePCI device 11ab:6460
      PCI subsystem 1af4
:1100
      id 
""
  
Bus  0device   1, function 0:
    
VGA controllerPCI device 1002:6811
      PCI subsystem 1462
:3050
      IRQ 9
pin A
      BAR0
64 bit prefetchable memory at 0xc0000000 [0xcfffffff].
      
BAR264 bit memory at 0xd0000000 [0xd003ffff].
      
BAR4I/O at 0x1000 [0x10ff].
      
BAR632 bit memory at 0xffffffffffffffff [0x0001fffe].
      
id ""
(qemu)


info pic
(qemuinfo pic
Interrupt controller information not available 
for 7457_v1.2-powerpc-cpu.
pic1irr=00 imr=2d isr=00 hprio=0 irq_base=08 rr_sel=1 elcr=00 fnm=0
pic0
irr=01 imr=f9 isr=00 hprio=0 irq_base=00 rr_sel=1 elcr=28 fnm=0
(qemu)


info qtree
(qemuinfo qtree
bus
main-system-bus
  type System
  dev
ps2-mouseid ""
    
gpio-out "" 1
  dev
ps2-kbdid ""
    
gpio-out "" 1
  dev
mv64361-pcihostid ""
    
index (0x1)
    
x-config-reg-migration-enabled true
    bypass
-iommu false
    bus
pci.1
      type PCI
      dev
rtl8139id ""
        
mac "52:54:00:12:34:56"
        
netdev "net0"
        
addr 02.0
        romfile 
"efi-rtl8139.rom"
        
romsize 262144 (0x40000)
        
rombar (0x1)
        
multifunction false
        x
-pcie-lnksta-dllla true
        x
-pcie-extcap-init true
        failover_pair_id 
""
        
acpi-index (0x0)
        
x-pcie-err-unc-mask true
        
class Ethernet controlleraddr 00:02.0pci id 10ec:8139 (sub 1af4:1100)
        
bar 0i/o at 0xffffffffffffffff [0xfe]
        
bar 1mem at 0xffffffffffffffff [0xfe]
        
bar 6mem at 0xffffffffffffffff [0x3fffe]
      
devbochs-displayid ""
        
vgamem 16777216 (16 MiB)
        
edid true
        xres 
1280 (0x500)
        
yres 800 (0x320)
        
xmax (0x0)
        
ymax (0x0)
        
refresh_rate (0x0)
        
addr 01.0
        romfile 
""
        
romsize 4294967295 (0xffffffff)
        
rombar (0x1)
        
multifunction false
        x
-pcie-lnksta-dllla true
        x
-pcie-extcap-init true
        failover_pair_id 
""
        
acpi-index (0x0)
        
x-pcie-err-unc-mask true
        
class Display controlleraddr 00:01.0pci id 1234:1111 (sub 1af4:1100)
        
bar 0mem at 0xffffffffffffffff [0xfffffe]
        
bar 2mem at 0xffffffffffffffff [0xffe]
      
devvia-mc97id ""
        
addr 0c.6
        romfile 
""
        
romsize 4294967295 (0xffffffff)
        
rombar (0x1)
        
multifunction false
        x
-pcie-lnksta-dllla true
        x
-pcie-extcap-init true
        failover_pair_id 
""
        
acpi-index (0x0)
        
x-pcie-err-unc-mask true
        
class Class 0780, addr 00:0c.6pci id 1106:3068 (sub 1af4:1100)
      
devvia-ac97id ""
        
audiodev "none"
        
addr 0c.5
        romfile 
""
        
romsize 4294967295 (0xffffffff)
        
rombar (0x1)
        
multifunction false
        x
-pcie-lnksta-dllla true
        x
-pcie-extcap-init true
        failover_pair_id 
""
        
acpi-index (0x0)
        
x-pcie-err-unc-mask true
        
class Audio controlleraddr 00:0c.5pci id 1106:3058 (sub 1af4:1100)
        
bar 0i/o at 0xffffffffffffffff [0xfe]
        
bar 1i/o at 0xffffffffffffffff [0x2]
        
bar 2i/o at 0xffffffffffffffff [0x2]
      
devvt8231-pmid ""
        
addr 0c.4
        romfile 
""
        
romsize 4294967295 (0xffffffff)
        
rombar (0x1)
        
multifunction false
        x
-pcie-lnksta-dllla true
        x
-pcie-extcap-init true
        failover_pair_id 
""
        
acpi-index (0x0)
        
x-pcie-err-unc-mask true
        
class Bridgeaddr 00:0c.4pci id 1106:8235 (sub 1af4:1100)
        
busi2c
          type i2c
-bus
          dev
smbus-eepromid ""
            
address 87 (0x57)
      
devvt82c686b-usb-uhciid ""
        
bandwidth 1280 (0x500)
        
maxframes 128 (0x80)
        
addr 0c.3
        romfile 
""
        
romsize 4294967295 (0xffffffff)
        
rombar (0x1)
        
multifunction false
        x
-pcie-lnksta-dllla true
        x
-pcie-extcap-init true
        failover_pair_id 
""
        
acpi-index (0x0)
        
x-pcie-err-unc-mask true
        
class USB controlleraddr 00:0c.3pci id 1106:3038 (sub 1af4:1100)
        
bar 4i/o at 0x1060 [0x107f]
        
bususb-bus.1
          type usb
-bus
      dev
vt82c686b-usb-uhciid ""
        
bandwidth 1280 (0x500)
        
maxframes 128 (0x80)
        
addr 0c.2
        romfile 
""
        
romsize 4294967295 (0xffffffff)
        
rombar (0x1)
        
multifunction false
        x
-pcie-lnksta-dllla true
        x
-pcie-extcap-init true
        failover_pair_id 
""
        
acpi-index (0x0)
        
x-pcie-err-unc-mask true
        
class USB controlleraddr 00:0c.2pci id 1106:3038 (sub 1af4:1100)
        
bar 4i/o at 0x1040 [0x105f]
        
bususb-bus.0
          type usb
-bus
      dev
via-ideid ""
        
gpio-in "" 2
        addr 
0c.1
        romfile 
""
        
romsize 4294967295 (0xffffffff)
        
rombar (0x1)
        
multifunction false
        x
-pcie-lnksta-dllla true
        x
-pcie-extcap-init true
        failover_pair_id 
""
        
acpi-index (0x0)
        
x-pcie-err-unc-mask true
        
class IDE controlleraddr 00:0c.1pci id 1106:0571 (sub 1af4:1100)
        
bar 0i/o at 0x1000 [0x1007]
        
bar 1i/o at 0x100c [0x100f]
        
bar 2i/o at 0x1010 [0x1017]
        
bar 3i/o at 0x101c [0x101f]
        
bar 4i/o at 0x1020 [0x102f]
        
buside.1
          type IDE
          dev
ide-cdid ""
            
drive "ide1-cd0"
            
backend_defaults "auto"
            
logical_block_size 512 (512 B)
            
physical_block_size 512 (512 B)
            
min_io_size (0 B)
            
opt_io_size (0 B)
            
discard_granularity 512 (512 B)
            
write-cache "auto"
            
share-rw false
            account
-invalid "auto"
            
account-failed "auto"
            
rerror "auto"
            
werror "auto"
            
ver "2.5+"
            
wwn (0x0)
            
serial "QM00003"
            
model ""
            
unit (0x0)
        
buside.0
          type IDE
          dev
ide-hdid ""
            
drive "ide0-hd1"
            
backend_defaults "auto"
            
logical_block_size 512 (512 B)
            
physical_block_size 512 (512 B)
            
min_io_size (0 B)
            
opt_io_size (0 B)
            
discard_granularity 512 (512 B)
            
write-cache "auto"
            
share-rw false
            account
-invalid "auto"
            
account-failed "auto"
            
rerror "auto"
            
werror "auto"
            
ver "2.5+"
            
wwn (0x0)
            
serial "QM00002"
            
model ""
            
cyls 4063 (0xfdf)
            
heads 16 (0x10)
            
secs 63 (0x3f)
            
lcyls (0x0)
            
lheads (0x0)
            
lsecs (0x0)
            
bios-chs-trans "lba"
            
rotation_rate (0x0)
            
unit (0x1)
          
devide-hdid ""
            
drive "ide0-hd0"
            
backend_defaults "auto"
            
logical_block_size 512 (512 B)
            
physical_block_size 512 (512 B)
            
min_io_size (0 B)
            
opt_io_size (0 B)
            
discard_granularity 512 (512 B)
            
write-cache "auto"
            
share-rw false
            account
-invalid "auto"
            
account-failed "auto"
            
rerror "auto"
            
werror "auto"
            
ver "2.5+"
            
wwn (0x0)
            
serial "QM00001"
            
model ""
            
cyls 4161 (0x1041)
            
heads 16 (0x10)
            
secs 63 (0x3f)
            
lcyls (0x0)
            
lheads (0x0)
            
lsecs (0x0)
            
bios-chs-trans "lba"
            
rotation_rate (0x0)
            
unit (0x0)
      
devvt8231-isaid ""
        
gpio-in "pirq" 4
        gpio
-out "" 1
        addr 
0c.0
        romfile 
""
        
romsize 4294967295 (0xffffffff)
        
rombar (0x1)
        
multifunction true
        x
-pcie-lnksta-dllla true
        x
-pcie-extcap-init true
        failover_pair_id 
""
        
acpi-index (0x0)
        
x-pcie-err-unc-mask true
        
class ISA bridgeaddr 00:0c.0pci id 1106:8231 (sub 1af4:1100)
        
busisa.0
          type ISA
          dev
i8042id ""
            
gpio-in "ps2-mouse-input-irq" 1
            gpio
-in "ps2-kbd-input-irq" 1
            gpio
-out "" 2
            gpio
-out "a20" 1
            extended
-state true
            kbd
-throttle false
            kbd
-irq (0x1)
            
mouse-irq 12 (0xc)
          
devisa-fdcid ""
            
iobase 1008 (0x3f0)
            
irq (0x6)
            
dma (0x2)
            
fdtypeA "auto"
            
fdtypeB "auto"
            
fallback "288"
            
busfloppy-bus.0
              type floppy
-bus
              dev
floppyid ""
                
unit (0x0)
                
drive "floppy0"
                
backend_defaults "auto"
                
logical_block_size 512 (512 B)
                
physical_block_size 512 (512 B)
                
min_io_size (0 B)
                
opt_io_size (0 B)
                
discard_granularity 4294967295 (4 GiB)
                
write-cache "auto"
                
share-rw false
                account
-invalid "auto"
                
account-failed "auto"
                
drive-type "288"
          
devisa-serialid ""
            
index (0x0)
            
iobase 760 (0x2f8)
            
irq (0x4)
          
devisa-parallelid ""
            
index (0x0)
            
iobase 888 (0x378)
            
irq (0x7)
            
chardev "parallel0"
          
devvt8231-superioid ""
          
devmc146818rtcid ""
            
gpio-out "" 1
            base_year 
(0x0)
            
iobase 112 (0x70)
            
irq (0x8)
            
lost_tick_policy "discard"
          
devi8257id ""
            
base 192 (0xc0)
            
page-base 136 (0x88)
            
pageh-base = -(0xffffffffffffffff)
            
dshift (0x1)
          
devi8257id ""
            
base (0x0)
            
page-base 128 (0x80)
            
pageh-base = -(0xffffffffffffffff)
            
dshift (0x0)
          
devisa-pitid ""
            
gpio-in "" 1
            gpio
-out "" 1
            iobase 
64 (0x40)
          
devisa-i8259id ""
            
gpio-in "" 8
            gpio
-out "" 1
            iobase 
160 (0xa0)
            
elcr_addr 1233 (0x4d1)
            
elcr_mask 222 (0xde)
            
master false
          dev
isa-i8259id ""
            
gpio-in "" 8
            gpio
-out "" 1
            iobase 
32 (0x20)
            
elcr_addr 1232 (0x4d0)
            
elcr_mask 248 (0xf8)
            
master true
      dev
mv64361-pcibridgeid ""
        
addr 00.0
        romfile 
""
        
romsize 4294967295 (0xffffffff)
        
rombar (0x1)
        
multifunction false
        x
-pcie-lnksta-dllla true
        x
-pcie-extcap-init true
        failover_pair_id 
""
        
acpi-index (0x0)
        
x-pcie-err-unc-mask true
        
class Host bridgeaddr 00:00.0pci id 11ab:6460 (sub 1af4:1100)
  
devmv64361-pcihostid ""
    
index (0x0)
    
x-config-reg-migration-enabled true
    bypass
-iommu false
    bus
pci.0
      type PCI
      dev
vfio-pciid ""
        
host "0000:0b:00.0"
        
vf-token "00000000-0000-0000-0000-000000000000"
        
sysfsdev "/sys/bus/pci/devices/0000:0b:00.0"
        
x-pre-copy-dirty-page-tracking "on"
        
display "off"
        
xres (0x0)
        
yres (0x0)
        
x-intx-mmap-timeout-ms 1100 (0x44c)
        
x-vga true
        x
-req true
        x
-igd-opregion false
        enable
-migration "auto"
        
x-no-mmap false
        x
-balloon-allowed false
        x
-no-kvm-intx false
        x
-no-kvm-msi false
        x
-no-kvm-msix false
        x
-no-geforce-quirks false
        x
-no-kvm-ioeventfd false
        x
-no-vfio-ioeventfd false
        x
-pci-vendor-id 4098 (0x1002)
        
x-pci-device-id 26641 (0x6811)
        
x-pci-sub-vendor-id 4294967295 (0xffffffff)
        
x-pci-sub-device-id 4294967295 (0xffffffff)
        
x-igd-gms (0x0)
        
x-nv-gpudirect-clique 255 (0xff)
        
x-msix-relocation "off"
        
addr 01.0
        romfile 
""
        
romsize 4294967295 (0xffffffff)
        
rombar (0x1)
        
multifunction true
        x
-pcie-lnksta-dllla true
        x
-pcie-extcap-init true
        failover_pair_id 
""
        
acpi-index (0x0)
        
x-pcie-err-unc-mask true
        
class VGA controlleraddr 00:01.0pci id 1002:6811 (sub 1462:3050)
        
bar 0mem at 0xc0000000 [0xcfffffff]
        
bar 2mem at 0xd0000000 [0xd003ffff]
        
bar 4i/o at 0x1000 [0x10ff]
        
bar 6mem at 0xffffffffffffffff [0x1fffe]
      
devmv64361-pcibridgeid ""
        
addr 00.0
        romfile 
""
        
romsize 4294967295 (0xffffffff)
        
rombar (0x1)
        
multifunction false
        x
-pcie-lnksta-dllla true
        x
-pcie-extcap-init true
        failover_pair_id 
""
        
acpi-index (0x0)
        
x-pcie-err-unc-mask true
        
class Host bridgeaddr 00:00.0pci id 11ab:6460 (sub 1af4:1100)
  
devmv64361id ""
    
gpio-in "gpp" 32
    gpio
-out "sysbus-irq" 1
    mmio ffffffffffffffff
/0000000000010000


In Ranger, the VGA Controller (passthrough) and the Ethernet controller have the same interrupt line. The other devices differ in the Pin: value.
InterruptLine0x09 PinA Number25

Go to top
Re: What the fastest possible x64 emulation way of OS4 today ?
Quite a regular
Quite a regular


See User information
@derfs
Were these values collected when it works or when it froze? Are you still have IRQ handler disabled for gfx so basically noting shuold use any interrupts now? If it works that way you can try enabling only two and see which combination causes problem. We know that anything involving network can freeze so you can test other combinations like usb+sound, gfx+sound, gfx+usb etc. to see if any combination is causing a freeze or it's related to one particluar driver.

After checking the docs looks like VT8231 has APIC which I don't think we emulate now but I don't know if it's used. I'd have to check if the regs are written, they are currently within the io range so likely could go unnoticed because of that. It does not help avoiding confusion that we have very similar acronyms in the same chip that handles PCI PIC APIC and ACPI so one has to be careful not to make typos.

Go to top
Re: What the fastest possible x64 emulation way of OS4 today ?
Not too shy to talk
Not too shy to talk


See User information
@balaton
Just to add a new one into the mix, I just recently had crashes related to storage device(s) with network and sound drivers disabled. It got worse and worse until in the end, OS4 could no longer read file systems and it froze.

I believe the errors I did get in the OS were interrupt related, but no logs or output or anything at the moment as I am still waiting for linux to install from DVD. I am still trying to see if this can be reproduced on linux, or if it behaves. Once I know that I will go back to OS4 and try to provide better feedback. Since I'm running from a self-built qemu from master i can try that patch too. As said, a lot of options to test now.

Go to top
Re: What the fastest possible x64 emulation way of OS4 today ?
Not too shy to talk
Not too shy to talk


See User information
@balaton
Quote:

balaton wrote:

@derfs
Were these values collected when it works or when it froze?

When it works
Quote:

Are you still have IRQ handler disabled for gfx so basically noting shuold use any interrupts now?

I have disabled the gfx software using the interrupt in the OS via a tooltype. All interrupts are still there for each device.
Quote:
If it works that way you can try enabling only two and see which combination causes problem. We know that anything involving network can freeze so you can test other combinations like usb+sound, gfx+sound, gfx+usb etc. to see if any combination is causing a freeze or it's related to one particluar driver.

I have not touched usb, so thats still going. The sound driver has been moved to Storage.

Everytime i enable the network driver the os freezes at the same point.
Quote:

After checking the docs looks like VT8231 has APIC which I don't think we emulate now but I don't know if it's used. I'd have to check if the regs are written, they are currently within the io range so likely could go unnoticed because of that. It does not help avoiding confusion that we have very similar acronyms in the same chip that handles PCI PIC APIC and ACPI so one has to be careful not to make typos.

As the network card can be on bus.1 and the gfx card can be on bus.0 and still get the same interrupt seems strange.

Im assuming the PCI bus devices are tring to get unique IRQs assigned using VT8231, but if there is no APIC then it would muck that up?

Go to top
Re: What the fastest possible x64 emulation way of OS4 today ?
Quite a regular
Quite a regular


See User information
@derfs
Quote:

I have disabled the gfx software using the interrupt in the OS via a tooltype. All interrupts are still there for each device.

Does that actually make any difference or what makes a difference is using network or not?
Quote:

Everytime i enable the network driver the os freezes at the same point.

We already know that using the network d will freeze so that does not take us further. What do you mean by freeze at same point? Is that some identifiable point when it freezes related to some event happening or what? Also what I asked is to forget about the network for now and just remove -device rtl8139 and test other devices if they also cause a freeze together without the network to know it is related to the rtl8139 driver or not.
Quote:

As the network card can be on bus.1 and the gfx card can be on bus.0 and still get the same interrupt seems strange.

Im assuming the PCI bus devices are tring to get unique IRQs assigned using VT8231, but if there is no APIC then it would muck that up?


If you check the Pegasos2 schematics you'll see that all INT lines from all PCI and AGP ports are connected together and the firmware programs the VT8231 to map all of these to IRQ9. We've checked that before and it's now emulated accordingly. I did not check APIC which I just realised might be needed when irq 25 was mentioned but I'm still not sure AmigaOS actually uses APIC but if it does that's not emulated currently. This could be verified by testing the same rtl8139 device with real hardware that I was also asking above. I'll check to see if anything accessses the APIC regs later when I'll have time but I'm not sure yet this would be the problem just some other thing to check.

Go to top
Re: What the fastest possible x64 emulation way of OS4 today ?
Not too shy to talk
Not too shy to talk


See User information
@balaton

There is no question that devices other than network can cause the hang. I just started without network:

QEMU_CMD="sudo $QEMU_BIN \
-L pc-bios -M pegasos2 -bios pegasos2.rom -vga none \
-cpu 7457 -m 1024 \
-rtc base=localtime -serial mon:stdio -display sdl \
-device bochs-display,romfile="",bus=pci.1 \
-drive media=disk,format=raw,file=os41_pegasos2.img \
-drive media=disk,format=raw,file=os41_data.qcow2 \
-device vfio-pci,host=0d:00.0,bus=pci.1,multifunction=on,x-vga=on,addr=3 \
-audiodev pa,id=snd0,server=unix:/run/user/1000/pulse/native \
"


Initially I could start up OK becuase the device driver was disabled in OS4 (moved to storage). I moved the driver back and did a soft reboot of AOS. All still OK. Now I go into sound prefs. I enable both the beep on error and the system startup wav file. I was able to press play on the beep sound several times without issue, but when I pressed play on the startup wav the sound did not play all the way to the end. At this point, my mouse could still move but as soon as I click the title bar of the sound prefs and try to move the window, I have a system freeze. (I have not changed the interrupt setting in my monitor tooltype as when I tried that yesterday GFX was very slow and laggy).

There is nothing of note in the debug output:
[bootmenuNo user input detected within wait loop
[bootmenuRemoved input handler
[bootmenuPeekQualifier(): LMB is upMMB is upRMB is up
[bootmenuContinuing normal boot sequence

[DOSStarting DOS 54.112 -- Kernel debug level is 3
No CMI8738 found
! :-(
CS4281 DRIVERINIT
No card present
.
[
VIA-AC97Errorsoft resume timed out!
No SOLO_ONE found! :-(
No SB128 found! :-(
No FM801 found! :-(
No Envy24 found! :-(
[
Sound.c:532 Initialize() done.


This is all emulated, GPU passthrough: HD5450, Qemu Master from yesterday, no patches. I'm going to look into that now.

I was hoping that in the time it took for me to type all of that out and answer the door maybe the screen saver would have kicked in but it hasn't so I don't know if that means the system is totally frozen or it just hasn't reached the time for blanker yet.

I have also seen DSI errors from disk access as well but I haven't been able to capture any info on it yet.

Go to top
Re: What the fastest possible x64 emulation way of OS4 today ?
Not too shy to talk
Not too shy to talk


See User information
@MartinW

I can confirm the same. I used the es1370 device (sb128 sound driver in AOS) and all was fine until i tried to play the test sound. I had set the debug output in sound prefs to full and got this up to the hard freeze.

[Sound.c:532 Initialize() done.
=>
0
AHI_NextAudioID
(0xFFFFFFFF)=>0x00340002
AHI_GetAudioAttrsA
(0x003400020x00000000,
                      
AHIDB_Name0x65BC70B4,
                 
AHIDB_BufferLen255,
  
TAG_DONE)=>TRUE
AHI_NextAudioID
(0x00340002)=>0xFFFFFFFF
AHI_GetAudioAttrsA
(0x003400020x00000000,
                  
AHIDB_Realtime0x65025ADC,
                      
AHIDB_Name0x650259DC,
                 
AHIDB_BufferLen256,
  
TAG_DONE)=>TRUE
AHI_GetAudioAttrsA
(0x003400020x00000000,
               
AHIDB_Frequencies0x650253C0,
               
AHIDB_MaxChannels0x650253C4,
                    
AHIDB_Inputs0x650253C8,
                   
AHIDB_Outputs0x650253CC,
          
AHIDB_MinMonitorVolume0x650253E0,
          
AHIDB_MaxMonitorVolume0x650253E4,
              
AHIDB_MinInputGain0x650253D0,
              
AHIDB_MaxInputGain0x650253D4,
           
AHIDB_MinOutputVolume0x650253D8,
           
AHIDB_MaxOutputVolume0x650253DC,
                     
AHIDB_Index0x650253E8,
                  
AHIDB_IndexArg44100,
                    
AHIDB_Stereo0x650253EC,
              
AHIDB_MultiChannel0x650253F0,
                  
AHIDB_Realtime0x650253F4,
                    
AHIDB_Author0x650253F8,
                 
AHIDB_Copyright0x650254F8,
                    
AHIDB_Driver0x650256F8,
                   
AHIDB_Version0x650255F8,
                 
AHIDB_BufferLen256,
                    
AHIDB_Record0x65025904,
                
AHIDB_FullDuplex0x65025908,
  
TAG_DONE)=>TRUE
AHI_GetAudioAttrsA
(0x003400020x00000000,
                 
AHIDB_OutputArg0,
                    
AHIDB_Output0x65777880,
                 
AHIDB_BufferLen32,
  
TAG_DONE)=>TRUE
AHI_GetAudioAttrsA
(0x003400020x00000000,
                  
AHIDB_InputArg0,
                     
AHIDB_Input0x65777880,
                 
AHIDB_BufferLen32,
  
TAG_DONE)=>TRUE
AHI_GetAudioAttrsA
(0x003400020x00000000,
              
AHIDB_MinInputGain0x6FEAAA40,
  
TAG_DONE)=>TRUE
AHI_GetAudioAttrsA
(0x003400020x00000000,
          
AHIDB_MinMonitorVolume0x6FEAAA3C,
  
TAG_DONE)=>TRUE
AHI_GetAudioAttrsA
(0x003400020x00000000,
           
AHIDB_MinOutputVolume0x6FEAAA38,
  
TAG_DONE)=>TRUE
AHI_GetAudioAttrsA
(0x003400020x00000000,
                 
AHIDB_Frequency0x6FEAAA34,
              
AHIDB_FrequencyArg9,
  
TAG_DONE)=>TRUE
AHI_GetAudioAttrsA
(0x003400020x00000000,
              
AHIDB_MultiChannel0x65025918,
                    
AHIDB_Stereo0x65025914,
                      
AHIDB_Name0x6502591C,
                 
AHIDB_BufferLen256,
                      
AHIDB_Bits0x65025A1C,
  
TAG_DONE)=>TRUE
AHI_AllocAudioA
(
                    
AHIA_AudioID0x00340002,
                    
AHIA_MixFreq11025,
                   
AHIA_Channels1,
                     
AHIA_Sounds1,
  
TAG_DONE)AHI_SampleFrameSize(10)=>8
AHI_SampleFrameSize
(10)=>8
=>0x654B10A0
AHI_LoadSound
(000x65025A200x654B10A0) [T:0x00000003 A:0x64C88000 L:19293]=>0
AHI_ControlAudioA
(0x654B10A0,
                       
AHIC_PlayTRUE,
  
TAG_DONE)=>0
AHI_PlayA
(0x654B10A0,
               
AHIP_BeginChannel0,
                      
AHIP_Sound0,
                       
AHIP_Freq11025,
                        
AHIP_Vol0.0,
                        
AHIP_Pan0.500,
                 
AHIP_EndChannel0,
  
TAG_DONE)
AHI_SetFreq(0110250x654B10A01)
AHI_SetVol(00x000000000x000080000x654B10A01)
AHI_SetSound(000x000000000x000000000x654B10A01)

Go to top
Re: What the fastest possible x64 emulation way of OS4 today ?
Not too shy to talk
Not too shy to talk


See User information
@derfs

Incidentally, I tried again to put my pssed-through device(s) onto the bus pci.0 and I was not able to. I don't get to workbench before the system freeze. But I think I'm right in saying you're using RadeonRX and I'm using RadeonHD so maybe there is an additional difference there. For now I can just live with needing to check my memory values if I add or remove a device. It's not really a big deal once you have the basic script done.

[EDIT] I also did not get anywhere with Linux. I got it installed to a virtual drive and I can boot to the command prompt. I can see from the boot messages that the graphical server is started but at no point do I get any output anywhere other than serial and if I login via serial and type "startx" I get told I don't have permission to do that. And I shouldn't need to anyway since a greeter should be running somewhere!

I don't have the memory bandwidth to dig into that today. Far too much of a heavy night last night for dealing with X-Window stuff

Go to top
Re: What the fastest possible x64 emulation way of OS4 today ?
Just can't stay away
Just can't stay away


See User information
@balaton
Quote:
First of all what is IRQ 25?
It's no north- or south bridge IRQ but the PowerPC CPU interrupt number.
However, if I remember correctly, the AmigaOS HAL intentionally uses wrong numbers and adds an offset, to be able to distinguish external hardware and CPU interrupts just by the numbers, i.e. Interrupt 25 may be CPU external interrupt (vector 0x500) #9 and 30 is #14.
OTOH I haven't had any access to the kernel sources since more than 15 years, and I only worked on the classic Amiga HAL parts of it (Zorro II/III, Zorro->PCI bridges, 60x CPUs, etc.), something might have changed, or even if not I may remember something wrong.
In any case AmigaOS software, incl. drives, doesn't have low level access to something like interrupt lines or PIN numbers, only the kernel HAL does, for the AmigaOS drivers everything is just CPU interrupts.

All Amiga NG firmwares were at least changed by the AmigaOS kernel developers to make sure the AmigaOS kernel gets exactly what it needs from it, for some of them even most of the firmware was implemented by AmigaOS developers (IIRC ppcboot/u-boot didn't even have any GUI and all of that was implemented by the AmigaOS developers), the only exception is the Pegasos2 SmartFirmware, therefore it's to be expected that a lot doesn't work work on a Pegasos2, no matter if real hardware or emulation.


Edited by joerg on 2023/7/9 18:32:15
Go to top
Re: What the fastest possible x64 emulation way of OS4 today ?
Not too shy to talk
Not too shy to talk


See User information
@MartinWQuote:
MartinW wrote:@derfs

Incidentally, I tried again to put my pssed-through device(s) onto the bus pci.0 and I was not able to. I don't get to workbench before the system freeze. But I think I'm right in saying you're using RadeonRX and I'm using RadeonHD so maybe there is an additional difference there. For now I can just live with needing to check my memory values if I add or remove a device. It's not really a big deal once you have the basic script done.


Im using a Radeon HD - R9 270.

The difference i found was due to what was running at startup, as it was trying to use one of these devices and freezing straight away. I ran the script with just the sm501 to get a display, and then turned everything off, moved all network and sound devs files to storage, and then created the monitor file for the Radeon HD and set the interrupt tooltype to false.

Once i did that, the script with gfx card passthrough worked with no crashes.

Go to top
Re: What the fastest possible x64 emulation way of OS4 today ?
Quite a regular
Quite a regular


See User information
OK so what we know now is that is should not be related to the network card driver as it happens with other devices sharing the interrupt so maybe it's just network and passed through gfx card happen to generate the most interrupts so the problem happens more often when these are used. Since it's not related to any driver we can exclude those end problem is likely in emulation or kernel level.

The handling of PCI interrupts was added in this series:
https://patchew.org/QEMU/cover.1678188711.git.balaton@eik.bme.hu/
which is the final version that was accepted but this takes some shortcuts and only works with the setting everything sharing IRQ9. This is a simplified version of my original approach here:
https://patchew.org/QEMU/cover.1678188711.git.balaton@eik.bme.hu/
that kept track of individual interrupts and may have worked better but people did not like the complexity and we got to the simpler version which still seemed to work in testing. Later an alternative approach was suggested here:
https://patchew.org/QEMU/cover.1678105 ... 1.git.balaton@eik.bme.hu/
that returned to the original approach but relying on PCI addresses to identify sources rather than custom functions but it was too late in the release cycle to elaborate on that and nobody cared since.

The discussion and findings can be read at the above links and it also points to where and how this could be debugged further and what's the most likely place to fix it but I don't have time for it now so I'm posting it here in case somebody has time and wants to dig further into it. Since I don't have an easy way to reproduce it it eould also be a bit difficult for me to debug it now. I'd rather work on the boot loader first as that's something I at least have a clear path with and already made some progress with it so I'll finfish that first before trying to look at this which might take a few weeks so if anybody finds out something please let me know.

I'd like to add that even though this wasn't too far away I've already swapped out most of this from my brain so I'd have to reread the above and get back to it again too so not much better position to work on it than others (OK maybe I remember something about the devices emulation that I did before but other parts of QEMU I have to explore all the time too).

Go to top
Re: What the fastest possible x64 emulation way of OS4 today ?
Not too shy to talk
Not too shy to talk


See User information
@all

I think we have a winner!

Qemu Config:
QEMU_CMD="sudo $QEMU_BIN \
-L pc-bios -M pegasos2 -bios pegasos2.rom -vga none \
-cpu 7457 -m 1024 \
-rtc base=localtime -serial mon:stdio -display sdl \
\
-device bochs-display,romfile="",bus=pci.1 \
-drive media=disk,format=raw,file=hd/os41_pegasos2.img \
-drive media=disk,format=raw,file=hd/os41_data.qcow2 \
-device vfio-pci,host=0d:00.0,bus=pci.1,multifunction=on,x-vga=on,addr=3 \
-audiodev pa,id=snd0,server=unix:/run/user/1000/pulse/native \
-device rtl8139,netdev=net0 -netdev user,id=net0"


Physical Radeon HD5450, emulated RTL8139, emulated on-board audio connected to pulse audio server.

Running Qemu master + patch from mbox mentioned at #787.

I am able to bring up the OS with startup WAV enabled, networking enabled, all good. I was able to load AmiFTP, connect to my local NAS and download the latest SDK file which weighs in around 350MB. This would crash after the first screen update of the download previously. I was able to close out all of that and then run MACE Demo game with sound - the first time I've done that. Ignoring small performance issues that I'd probably chalk up to my poor choice of GPU, all good so far. The machine is still running in the background as I type this.

So, I don't know if that is the solution, but hopefully it gives a big clue as to what is going on.

I do still get a guru error when I start CodeBench. That's from a DSI Exception. I don't know if any of this is useful below. The difference now is that if i ignore the error I can close CodeBench and carry on.

Of course I need to continue to debug if I can but this is a good start. Interestingly I've still not been able to get any other OS to see the GPU yet. I'd be happier if Morph or Linux worked too.

Debug output from CodeBench crash:

kernel 54.30 (1.1.2021Pegasos 2 release
Machine model
(Pegasos II)
Dump of context at 0xEFD40000
Trap type
DSI exception
Machine State 
(raw): 0x0000D030
Machine State 
(verbose): [ExtInt on] [User] [IAT on] [DAT on
Instruction pointerin module dos.library.kmod+0x0001666C (0x01947B8C)
Crashed processCodeBench Clock Process (0x65077090)
DSI verbose error descriptionAccess not found in hash or BAT (page fault)
Access was a load operation
 0
00000000 5CAC3B20 6162002E 00000000 00000000 02014028 FFFFFFFF 00000000
 8
69355274 A58DC0E0 00000000 00000000 44842822 00000000 FFFFFFFF 65823DFC
16
7FFFC798 69637038 00000000 20000000 5CAC3BB4 0000001D 65077090 6891617C
24
6FF93180 44442848 6FFB7478 6FE3DBA0 6FEBA228 65077090 01966D94 00000000
CR
84842822   XER20000000  CTRFFFFFFF8  LR: 0194849C
DSISR
40000000  DARA58DC0EC

Kernel command line
serial munnge debuglevel=

Registers pointing to code
:
r5 native kernel module dos.library.kmod+0x006e2b08
r8 
module LOCALE:Languages/english-british.language at 0x69355274 (section 1 0x250)
r16module LIBS:locale.library at 0x7FFFC798 (section 0 0x9774)
r23module CodeBench at 0x6891617C (section 1 0x158)
r30native kernel module dos.library.kmod+0x00035874
ip 
native kernel module dos.library.kmod+0x0001666c
lr 
native kernel module dos.library.kmod+0x00016f7c
ctr
unknown (0xFFFFFFF8)

Stack trace:
(
0x5CAC3B20native kernel module dos.library.kmod+0x0001666c
(0x5CAC3E40native kernel module dos.library.kmod+0x00016f7c
(0x5CAC3EB0module DH1:Programs/CodeBench/libs/codebench.library at 0x7F827AFC (section 0 0x2CAD8)
(
0x5CAC3F10module CodeBench at 0x7F860760 (section 0 0x273C)
(
0x5CAC3F90native kernel module dos.library.kmod+0x0002a458
(0x5CAC3FC0native kernel module kernel+0x0005b3e8
(0x5CAC3FD0native kernel module kernel+0x0005b460

Disassembly of crash site
:
 01947
B7C4E800020   blr               
 
01947B805469103B   rlwinm.           r9,r3,2,0,29
 
01947B847C832378   mr                r3,r4
 
01947B884D820020   beqlr-            
>01947
B8C8069000C   lwz               r3,12(r9)
 01947
B904E800020   blr               
 
01947B949421FFE0   stwu              r1,-32(r1)
 01947
B987CA802A6   mflr              r5
 
01947B9C90A10024   stw               r5,36(r1)
 01947
BA093A10014   stw               r29,20(r1)
Stack pointer (0x5CAC3B20is inside bounds
Redzone is OK 
(4)

68k register dump
DATA
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
ADDR
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Page information
:
Page not found

Ready Tasks
                                 compose
.task (pri   1sigrec 0x00000020sigwait 0x00000021masked 0x00000020)
                                 
compose.task (pri   1sigrec 0x00000020sigwait 0x00000021masked 0x00000020)
                                    
CodeBench (pri   0sigrec 0x00000100sigwait 0x00000020masked 0x00000000)
                           
NotificationServer (pri   0sigrec 0x04000000sigwait 0xBC001000masked 0x04000000)
                                      
AmiDock (pri   0sigrec 0x00000100sigwait 0x00000100masked 0x00000100)
                            
dos_signal_server (pri  -5sigrec 0x00004100sigwait 0x00000100masked 0x00000100)
                        
appdir envarc manager (pri -50sigrec 0x00000100sigwait 0x00000100masked 0x00000100)
                                    
idle.task (pri -128sigrec 0x00000000sigwait 0x00000000masked 0x00000000)

Waiting Tasks
                                 input
.device (pri  20sigrec 0x00000000sigwait 0x80000000masked 0x00000000)
                     
DH1/FastFileSystem 53.2  (pri  10sigrec 0x00000000sigwait 0xA8000100masked 0x00000000)
               
peg2ide.device chip 0 port 0 (pri  12sigrec 0x20000000sigwait 0xC0000000masked 0x00000000)
                                
ELF Collector (pri   0sigrec 0x00000000sigwait 0x00000100masked 0x00000000)
                    
IDF0/FastFileSystem 53.2  (pri   5sigrec 0x00000000sigwait 0xA8000100masked 0x00000000)
                    
IDF1/FastFileSystem 53.2  (pri   5sigrec 0x00000000sigwait 0xA8000100masked 0x00000000)
                                    
TimeGuard (pri   0sigrec 0x00000100sigwait 0xF0001000masked 0x00000000)
               
peg2ide.device chip 0 port 1 (pri  12sigrec 0x00000000sigwait 0xC0000000masked 0x00000000)
                                    
hub.usbfd (pri   0sigrec 0x00000000sigwait 0x30000000masked 0x00000000)
                  
UHCI Controller Task Unit 0 (pri  15sigrec 0x00000000sigwait 0xBC001000masked 0x00000000)
                                    
USB stack (pri  18sigrec 0x00000000sigwait 0xF800D000masked 0x00000000)
                                    
hub.usbfd (pri   0sigrec 0x00000000sigwait 0x30000000masked 0x00000000)
                  
UHCI Controller Task Unit 1 (pri  15sigrec 0x00000000sigwait 0xBC001000masked 0x00000000)
                   
DH0/SmartFilesystem 1.293  (pri  10sigrec 0x10000000sigwait 0xE0000100masked 0x00000000)
                       
ScreenBlanker Library. (pri   1sigrec 0x00000100sigwait 0xB4001000masked 0x00000000)
                                   
page_sweep (pri  12sigrec 0x00000000sigwait 0x80000000masked 0x00000000)
                      
ICD1/CDFileSystem 53.8  (pri  10sigrec 0x00000000sigwait 0x00000100masked 0x00000000)
                      
ICD0/CDFileSystem 53.8  (pri  10sigrec 0x00000000sigwait 0x00000100masked 0x00000000)
                       
CD0/CDFileSystem 53.8  (pri  10sigrec 0x00000000sigwait 0x00000100masked 0x00000000)
                
CodeBench File Notify Process (pri   0sigrec 0x00000000sigwait 0x80000100masked 0x00000000)
            
application.library messageserver (pri   0sigrec 0x00000000sigwait 0xC0000000masked 0x00000000)
                               
ramlib.support (pri  -2sigrec 0x00000100sigwait 0x80005000masked 0x00000000)
                          
ScreenBlankerEngine (pri   0sigrec 0x00000100sigwait 0xD8001000masked 0x00000000)
                    
CodeBench NotifyA Process (pri   1sigrec 0x00000100sigwait 0xA0001000masked 0x00000000)
                           
dos_filedir_notify (pri   5sigrec 0x80000100sigwait 0x40001000masked 0x00000000)
                                       
ramlib (pri   1sigrec 0x00000100sigwait 0x80001000masked 0x00000000)
                  
RANDOM/Random-Handler 52.1  (pri   5sigrec 0x00000000sigwait 0x00000100masked 0x00000000)
              
TEXTCLIP/textclip-handler 53.4  (pri   3sigrec 0x00000100sigwait 0x80000000masked 0x00000000)
                    
URL/launch-handler 53.39  (pri   5sigrec 0x00000100sigwait 0x80000000masked 0x00000000)
                                 
ClickToFront (pri  21sigrec 0x00000100sigwait 0xE000D000masked 0x00000000)
                     
Workbench DosList Notify (pri   1sigrec 0x00000100sigwait 0x00003000masked 0x00000000)
                           
TCP/IP Superserver (pri   0sigrec 0x00000000sigwait 0xD0000080masked 0x00000000)
                             
rtl8139.device.0 (pri   5sigrec 0x00000100sigwait 0x78008000masked 0x00000000)
                         
TCP/IP Configuration (pri   0sigrec 0x00000000sigwait 0xF8003000masked 0x00000000)
                                 
ContextMenus (pri   0sigrec 0x00000100sigwait 0xE0001000masked 0x00000000)
                      
clipview.library server (pri   0sigrec 0x00000000sigwait 0xD8003000masked 0x00000000)
                                   
� IPrefs � (pri   0sigrec 0x20000000sigwait 0x0000F000masked 0x00000000)
              
ContextMenus Command Dispatcher (pri   1sigrec 0x00000000sigwait 0x80001000masked 0x00000000)
                                      
AsyncWB (pri   0sigrec 0x00000100sigwait 0xC0001000masked 0x00000000)
                                       
InfoWB (pri   0sigrec 0x00000100sigwait 0xF8001000masked 0x00000000)
           
texteditor.gadget Clipboard Server (pri   1sigrec 0x00000100sigwait 0x80000000masked 0x00000000)
                          
select.gadget prefs (pri   0sigrec 0x00000000sigwait 0x80001000masked 0x00000000)
                       
CON/con-handler 53.82  (pri   5sigrec 0x00000000sigwait 0xA0000100masked 0x00000000)
                       
CON/con-handler 53.82  (pri   5sigrec 0x00000000sigwait 0xA0000100masked 0x00000000)
                       
CON/con-handler 53.82  (pri   5sigrec 0x00000000sigwait 0xA0000100masked 0x00000000)
                       
CON/con-handler 53.82  (pri   5sigrec 0x00000000sigwait 0xA0000100masked 0x00000000)
                                     
DefIcons (pri   0sigrec 0x00000100sigwait 0x80009000masked 0x00000000)
                       
CON/con-handler 53.82  (pri   5sigrec 0x00000000sigwait 0xA0000100masked 0x00000000)
                       
CON/con-handler 53.82  (pri   5sigrec 0x00000000sigwait 0xA0000100masked 0x00000000)
                         
string.gadget server (pri   1sigrec 0x00000100sigwait 0x40000000masked 0x00000000)
                   
Workbench Clipboard Server (pri   1sigrec 0x00000100sigwait 0x80000000masked 0x00000000)
                                   
RexxMaster (pri   4sigrec 0x00000100sigwait 0xC0000000masked 0x00000000)
                                   
TCP/IP Log (pri   0sigrec 0x00000000sigwait 0x80003000masked 0x00000000)
                                      
ConClip (pri   0sigrec 0x00000000sigwait 0x80000000masked 0x00000000)
                       
AUDIO/AHI-Handler 6.2  (pri   5sigrec 0x00000000sigwait 0x00000100masked 0x00000000)
                      
diskimage.device unit 5 (pri   4sigrec 0x00000100sigwait 0xC0000000masked 0x00000000)
                      
diskimage.device unit 4 (pri   4sigrec 0x00000100sigwait 0xC0000000masked 0x00000000)
                 
APPDIR/appdir-handler 54.17  (pri   5sigrec 0x00000100sigwait 0x80000000masked 0x00000000)
                      
diskimage.device unit 1 (pri   4sigrec 0x00000100sigwait 0xC0000000masked 0x00000000)
                            
USB stack Process (pri   0sigrec 0x00000000sigwait 0x80001000masked 0x00000000)
                      
diskimage.device unit 0 (pri   4sigrec 0x00000100sigwait 0xC0000000masked 0x00000000)
                                  
DST watcher (pri   0sigrec 0x00000000sigwait 0xC0000000masked 0x00000000)
                       
RAM/ram-handler 54.24  (pri  10sigrec 0x00000100sigwait 0x80000000masked 0x00000000)
                       
ENV/env-handler 54.18  (pri   5sigrec 0x00000100sigwait 0x80000000masked 0x00000000)
                                        
pager (pri   9sigrec 0x00000000sigwait 0x80001000masked 0x00000000)
                       
CON/con-handler 53.82  (pri   5sigrec 0x00000000sigwait 0xA0000100masked 0x00000000)
                       
RAW/con-handler 53.82  (pri   5sigrec 0x00000000sigwait 0xA0000100masked 0x00000000)
                       
CON/con-handler 53.82  (pri   5sigrec 0x00000000sigwait 0xA0000100masked 0x00000000)
                          
SFS DosList handler (pri  19sigrec 0x00000000sigwait 0x80000000masked 0x00000000)
                             
dos_nbmd_process (pri   5sigrec 0x00000000sigwait 0x00001100masked 0x00000000)
                             
dos_lock_handler (pri   5sigrec 0x00000000sigwait 0x00001100masked 0x00000000)
                     
Exec Command and Control (pri  30sigrec 0x00000000sigwait 0x80000000masked 0x00000000)
                                       
rhd_gc (pri 100sigrec 0x00000000sigwait 0x80000001masked 0x00000000)

Suspended Tasks


@balaton
[EDIT] Sorry, posts crossed. I'll read your links now.


Amiga x5040 ı 16GB ı RX580
GB-A1000 060@100,
A1200 PiStorm32-Lite CM4
Go to top
Re: What the fastest possible x64 emulation way of OS4 today ?
Quite a regular
Quite a regular


See User information
@MartinW
Well at least we have a workaround. I'll wait for a few more people test it then I can try to submit it as a fix for 8.1 as the code freeze starts tomorrow so won't be able to rewrite this anyway until 8.1 is released. If this works I can think of a different fix or if the other approach would be better but if it does not cause noticable slow down then it could probably be good enough for now.

There are a lot of info on those links but if you're interested in QEMU internals then maybe an interesting read.

Go to top
Re: What the fastest possible x64 emulation way of OS4 today ?
Not too shy to talk
Not too shy to talk


See User information
It doesn't seem to be completely fixed. I'm still getting a few guru's related to storage I think. But I'll need to dig into it. It really isn't unrealistic at this point that I could have things setup wrong in AOS as I'm no expert. In fact I'm decidedly new to it all.


Amiga x5040 ı 16GB ı RX580
GB-A1000 060@100,
A1200 PiStorm32-Lite CM4
Go to top
Re: What the fastest possible x64 emulation way of OS4 today ?
Not too shy to talk
Not too shy to talk


See User information
Well, I'm sort of pleased to say that i don't think the DSI errors that I'm getting are anything to do with the rest of the hangs that we have previously been getting because I just got one while not running a passthrough GPU at all.

That makes this next question somewhat OT, but can anyone point me in the right direction on this error? There's probably not enough information here but you never know!

Resized Image


I'm at the point really of creating a completely new OS4 install and I need a bit of a dummies guide because I don't really know what file system I should be using or anything. On classic I just use PFS3AIO for everything and have never had a problem.

Go to top
Re: What the fastest possible x64 emulation way of OS4 today ?
Quite a regular
Quite a regular


See User information
@MartinW
I also think that the DSI errors are not related to the IRQ issue but there could well be multiple issues not just one, this is all rally new and still in development so nobody said it would be rock solid. But testing is reveals these problems so they can be fixed.

I'd like to see others who could reproduce the problem also check the patch for the IRQ issue and see if it helps. We still have a week or two to get bugfixes in QEMU 8.1.

For the DSI I don't think anybody could tell anything from that window which even does not show PPC regs but empty 68k emulator ones. If you see such a window always click write crash log on bottom right and post the whole log as @derfs did. Maybe also helps if you're running with debug kernel (just change kernel to kernel.debug in Kicklayout). A DSI is a Data Storage Interrupt exception which happens when something accesses unmapped memory like when dereferencing a wrong pointer. So the error that broke the pointer likely happened before this error so it may be a bit diffucult to find out where and likely needs some knowledge of the coda where this happens but more detailed info on that should be in the crash log so make sure to collect it for these crashes. (I don't remember if it asks for location or just puts it in RAM: but you should be able to find the log somewhere.)

Go to top
Re: What the fastest possible x64 emulation way of OS4 today ?
Home away from home
Home away from home


See User information
@MartinW

Its really not that much you can see from general tab,
all interesting stuff is in Disassembly, Memory Dump and Stack Trace.
the GPR0- GPR031 are also interesting.
you probably won’t get anything interesting the stack trace, as its likely the filesystem has not have any debug symbols.

(NutsAboutAmiga)

Basilisk II for AmigaOS4
AmigaInputAnywhere
Excalibur
and other tools and apps.
Go to top
Re: What the fastest possible x64 emulation way of OS4 today ?
Not too shy to talk
Not too shy to talk


See User information
I did have a feeling I probably wasn't posting enough information there, sorry!

From what I can gather errors like those are not uncommon at all across every kind of machine from emulated to X5000 so I will not take too much notice for now.

And of course I understand that this is very "bleeding edge" so I totally accept there will be issues. No problems there. Honestly, if the net result of all of this is that it can't be made to fully work then, hey, we tried. But it's not looking like that will be the case.

I'll probably go quiet on the topic a bit now unless anyone wants anything specific from me. I need to do some more general stuff like get my setup tidied up. On that note, I may see if I can get my RX580 working but I have a feeling that will be problematic since it has 8GB of video ram but I'm going to see if I can somehow force the OS to see it as a smaller region. Not today though.


Amiga x5040 ı 16GB ı RX580
GB-A1000 060@100,
A1200 PiStorm32-Lite CM4
Go to top
Re: What the fastest possible x64 emulation way of OS4 today ?
Home away from home
Home away from home


See User information
@MartinW

it pop up when something has gone really wrong, reading or writing outside of allocated memory, when you get this error in the filesystem, that’s probably a well tested part of the OS, you bet that something was over written or corrupted. Its probably due to your configuration, but as its in the filesystem, it can be due to some corrupt data on the disk as well, that causes code to do unexpected things, FastFileSystem is not the most error tolerant filesystems.

(NutsAboutAmiga)

Basilisk II for AmigaOS4
AmigaInputAnywhere
Excalibur
and other tools and apps.
Go to top

  Register To Post
« 1 ... 38 39 40 (41) 42 43 44 ... 75 »

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project