Who's Online |
265 user(s) are online ( 155 user(s) are browsing Forums)
Members: 1
Guests: 264
Rob,
more...
|
|
Headlines |
-
mce.lha - game/utility
Apr 23, 2024
-
theme_list.lha - utility/misc
Apr 23, 2024
-
faac.lha - audio/convert
Apr 22, 2024
-
faad2.lha - audio/convert
Apr 22, 2024
-
seq.lha - audio/misc
Apr 22, 2024
-
libfaac.lha - development/library/audio
Apr 22, 2024
-
libfaad.lha - development/library/audio
Apr 22, 2024
-
image2pdf.lha - utility/text/convert
Apr 22, 2024
-
libharfbuzz.lha - development/library/graphics
Apr 20, 2024
-
libpng.lha - development/library/graphics
Apr 20, 2024
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/20 21:51
#21
|
Not too shy to talk
|
@balatonQuote: balaton wrote:@derfs If you see no Unknown RTAS token message then it's not using rtas to access nvram but reads it directly. I think I know what might be missing then but does this cause any issue other than the crash log? If not I probably won't fix until QEMU 8.2. The output you get with pegasos2 firmware does not seem meaningful anyway. The only issue i have is that some software (Sysmon) i use will always crash as it uses 'nvgetvar' to read all non-volatile variables, as a way to see what has been set in the bios. It does not affect using the OS at all so it can wait.
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/20 17:56
#22
|
Not too shy to talk
|
@balatonQuote: balaton wrote:@derfs Does that crash cause any issue apart from the log? The emulated pegasos2 does not have nvram so even using the pegasos2.rom it would not be able to read anything but if it uses rtas then with VOF even the rtas calls are not implemented. I can look into that if it causes a problem but since there's nothing to return it does not matter if the result is only this log message but no other problems in AmigaOS.
If it's a problem with unimplemented rtas call you should see messages saying "Unknown RTAS token..." when using -d unimp QEMU option when the crash happens. That would confirm this is calling rtas and does not handle error from there (becuase on real firmware these are implemented). There are no unimplemented messages when the programs crash. If I use the pegasos firmware then nvgetvar produces output instead of crashing.
New Shell process 8
8.AmigaOS:> nvgetvar
peg2ide_xfer=FFFF
peg2ide_irq=1111
«Êþ«Êþ«Êþi
¢ài
¡Ài
¯Ði
¢Þ¾ïÞ¾ïÞ¾ïÞ¾ïÞ¾ïÞ¾ïÞ¾ïÞ¾ïi
¡ði
¡0i
¯Ði
¢°Þ¾ïÞ¾ïÞ¾ïÞ¾ïÞ¾ïÞ¾ïÞ¾ïÞ¾ïi
Ði
¢i
¯Ði
¢àÞ¾ïÞ¾ïÞ¾ïÞ¾ïÞ¾ïÞ¾ïÞ¾ïÞ¾ï(goñ(
8.AmigaOS:>
The peg2ide commands are found in the kickstart file nvram.config *edit* noticed that AmigaOS has an extra error in the debug log for bboot, but not pegasos2.rom
Error adding SMI interrupt
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/20 16:30
#23
|
Not too shy to talk
|
@balaton Im ignoring the passthrough card first so that i can check things are running as they should. Running the same kicklayout which includes RadeonHD driver, but just using -device sm501. 1st bug is getting a crash in AmigaOS on module nvgetvar, which im assuming is because we are not using the pesasos firmware now.
Dump of context at 0xEFC6CBA0
Trap type: DSI exception
Machine State (raw): 0x0000D030
Machine State (verbose): [ExtInt on] [User] [IAT on] [DAT on]
Instruction pointer: 0x7FCD6BCC
Crashed process: nvgetvar (0x60C7D7C0)
DSI verbose error description: Access not found in hash or BAT (page fault)
Access was a load operation
0: 7FCD6124 5FB5FF40 ABADCAFE 00000000 5FB5FC69 5FCD8088 00000001 80808080
8: 02048A81 0000006F 02048A88 00000064 010D41B9 ABADCAFE 5FBF49B4 5FB60010
16: 02330000 EFC95F00 02330000 00010000 5FBF49B0 60773C40 01843848 60775A70
24: 6FF7E044 60F1F580 00000000 5FCE0000 00000000 6FF96300 02172C88 6FE69BA0
CR: 35955353 XER: ABA1CAFE CTR: 0000005D LR: 7FCD6158
DSISR: 40000000 DAR: 00000000
Kernel command line: os4_commandline serial munge debuglevel=3
Registers pointing to code:
r0 : _start()+0x104 (section 1 @ 0x100)
r5 : module nvgetvar at 0x5FCD8088 (section 5 @ 0x64)
r6 : module nvgetvar at 0x00000001 (section 0 @ 0xFFFFFFDC)
r8 : native kernel module nonvolatile.library.kmod+0x004c40c1
r10: native kernel module nonvolatile.library.kmod+0x004c40c8
r16: native kernel module radeonhd.chip+0x0072f420
r18: native kernel module radeonhd.chip+0x0072f420
r22: native kernel module kernel+0x00043848
r30: native kernel module kernel+0x00972c88
ip : module nvgetvar at 0x7FCD6BCC (section 4 @ 0xBA8)
lr : _start()+0x138 (section 1 @ 0x134)
ctr: unknown (0x0000005D)
Stack trace:
(0x5FB5FF40) module nvgetvar at 0x7FCD6BCC (section 4 @ 0xBA8)
(0x5FB5FF90) _start()+0x138 (section 1 @ 0x134)
(0x5FB5FFC0) native kernel module kernel+0x000436f0
(0x5FB5FFD0) native kernel module kernel+0x00043770
Disassembly of crash site:
7FCD6BBC: 98090000 stb r0,0(r9)
7FCD6BC0: 39290001 addi r9,r9,1
7FCD6BC4: 409EFFEC bne+ cr7,0x7FCD6BB0
7FCD6BC8: 4E800020 blr
>7FCD6BCC: 88030000 lbz r0,0(r3)
7FCD6BD0: 7C691B78 mr r9,r3
7FCD6BD4: 38600000 li r3,0
7FCD6BD8: 2F800000 cmpwi cr7,r0,0
7FCD6BDC: 4D9E0020 beqlr- cr7
7FCD6BE0: 7D234B78 mr r3,r9
Stack pointer (0x5FB5FF40) is 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
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/20 16:17
#24
|
Not too shy to talk
|
@Maijestro I had some unexpected 'lowercase vs. uppercase' issues for the name of the zip file, as well as whats in the kickstartlayout file vs the names of the actual files. Im getting the kickstart files to load, but before i get the passthrough gfx output on the 2nd screen my pc hard crashes! Not sure what to try and check to be honest. *edit* also use
-append "os4_commandline serial munge debuglevel=3"
if you want debugoutput
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/18 23:55
#25
|
Not too shy to talk
|
@balatonQuote: balaton wrote:@MartinW I don't know an easy way, maybe -trace enable="pci*" shows accesses to config regs and one can check there. Maybe it's not causing the IRQ issue with passed through cards but worths a try checking it anyway. Im getting constant output of the following lines after using -trace for pci*. There is so many that i had to freeze qemu to use the monitor as the output disappeared as soon as i pressed enter.
pci_route_irq IRQ 0 @/machine/peripheral-anon/device[0] -> IRQ 1 @root-complex
pci_route_irq IRQ 0 @/machine/peripheral-anon/device[0] -> IRQ 1 @root-complex
pci_route_irq IRQ 0 @/machine/peripheral-anon/device[0] -> IRQ 1 @root-complex
pci_route_irq IRQ 0 @/machine/peripheral-anon/device[0] -> IRQ 1 @root-complex
etc....
This is info qtree when i paused qemu
(qemu) info qtree
bus: main-system-bus
type System
dev: ps2-mouse, id ""
gpio-out "" 1
dev: ps2-kbd, id ""
gpio-out "" 1
dev: mv64361-pcihost, id ""
index = 1 (0x1)
x-config-reg-migration-enabled = true
bypass-iommu = false
bus: pci.1
type PCI
dev: rtl8139, id ""
mac = "52:54:00:12:34:56"
netdev = "net0"
addr = 03.0
romfile = "efi-rtl8139.rom"
romsize = 262144 (0x40000)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
x-pcie-ari-nextfn-1 = false
class Ethernet controller, addr 00:03.0, pci id 10ec:8139 (sub 1af4:1100)
bar 0: i/o at 0x1200 [0x12ff]
bar 1: mem at 0xffffffffffffffff [0xfe]
bar 6: mem at 0xffffffffffffffff [0x3fffe]
dev: bochs-display, id ""
vgamem = 16777216 (16 MiB)
edid = true
xres = 1280 (0x500)
yres = 800 (0x320)
xmax = 0 (0x0)
ymax = 0 (0x0)
refresh_rate = 0 (0x0)
addr = 02.0
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
x-pcie-ari-nextfn-1 = false
class Display controller, addr 00:02.0, pci id 1234:1111 (sub 1af4:1100)
bar 0: mem at 0xffffffffffffffff [0xfffffe]
bar 2: mem at 0xffffffffffffffff [0xffe]
dev: vfio-pci, id ""
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 = 0 (0x0)
yres = 0 (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 = 0 (0x0)
x-nv-gpudirect-clique = 255 (0xff)
x-msix-relocation = "off"
addr = 01.0
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = true
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
x-pcie-ari-nextfn-1 = false
class VGA controller, addr 00:01.0, pci id 1002:6811 (sub 1462:3050)
bar 0: mem at 0x80000000 [0x8fffffff]
bar 2: mem at 0x90000000 [0x9003ffff]
bar 4: i/o at 0x1100 [0x11ff]
bar 6: mem at 0xffffffffffffffff [0x1fffe]
dev: via-mc97, id ""
addr = 0c.6
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
x-pcie-ari-nextfn-1 = false
class Class 0780, addr 00:0c.6, pci id 1106:3068 (sub 1af4:1100)
dev: via-ac97, id ""
audiodev = "none"
addr = 0c.5
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
x-pcie-ari-nextfn-1 = false
class Audio controller, addr 00:0c.5, pci id 1106:3058 (sub 1af4:1100)
bar 0: i/o at 0x1300 [0x13ff]
bar 1: i/o at 0x1030 [0x1033]
bar 2: i/o at 0x1034 [0x1037]
dev: vt8231-pm, id ""
addr = 0c.4
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
x-pcie-ari-nextfn-1 = false
class Bridge, addr 00:0c.4, pci id 1106:8235 (sub 1af4:1100)
bus: i2c
type i2c-bus
dev: smbus-eeprom, id ""
address = 87 (0x57)
dev: vt82c686b-usb-uhci, id ""
bandwidth = 1280 (0x500)
maxframes = 128 (0x80)
addr = 0c.3
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
x-pcie-ari-nextfn-1 = false
class USB controller, addr 00:0c.3, pci id 1106:3038 (sub 1af4:1100)
bar 4: i/o at 0x1060 [0x107f]
bus: usb-bus.1
type usb-bus
dev: vt82c686b-usb-uhci, id ""
bandwidth = 1280 (0x500)
maxframes = 128 (0x80)
addr = 0c.2
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
x-pcie-ari-nextfn-1 = false
class USB controller, addr 00:0c.2, pci id 1106:3038 (sub 1af4:1100)
bar 4: i/o at 0x1040 [0x105f]
bus: usb-bus.0
type usb-bus
dev: via-ide, id ""
gpio-in "" 2
gpio-out "isa-irq" 2
addr = 0c.1
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
x-pcie-ari-nextfn-1 = false
class IDE controller, addr 00:0c.1, pci id 1106:0571 (sub 1af4:1100)
bar 0: i/o at 0x1000 [0x1007]
bar 1: i/o at 0x100c [0x100f]
bar 2: i/o at 0x1010 [0x1017]
bar 3: i/o at 0x101c [0x101f]
bar 4: i/o at 0x1020 [0x102f]
bus: ide.1
type IDE
dev: ide-cd, id ""
drive = "ide1-cd0"
backend_defaults = "auto"
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (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 = 0 (0x0)
serial = "QM00003"
model = ""
unit = 0 (0x0)
bus: ide.0
type IDE
dev: ide-hd, id ""
drive = "ide0-hd1"
backend_defaults = "auto"
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (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 = 0 (0x0)
serial = "QM00002"
model = ""
cyls = 4063 (0xfdf)
heads = 16 (0x10)
secs = 63 (0x3f)
lcyls = 0 (0x0)
lheads = 0 (0x0)
lsecs = 0 (0x0)
bios-chs-trans = "lba"
rotation_rate = 0 (0x0)
unit = 1 (0x1)
dev: ide-hd, id ""
drive = "ide0-hd0"
backend_defaults = "auto"
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (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 = 0 (0x0)
serial = "QM00001"
model = ""
cyls = 4161 (0x1041)
heads = 16 (0x10)
secs = 63 (0x3f)
lcyls = 0 (0x0)
lheads = 0 (0x0)
lsecs = 0 (0x0)
bios-chs-trans = "lba"
rotation_rate = 0 (0x0)
unit = 0 (0x0)
dev: vt8231-isa, id ""
gpio-in "pirq" 4
gpio-out "" 1
addr = 0c.0
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = true
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
x-pcie-ari-nextfn-1 = false
class ISA bridge, addr 00:0c.0, pci id 1106:8231 (sub 1af4:1100)
bus: isa.0
type ISA
dev: i8042, id ""
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 = 1 (0x1)
mouse-irq = 12 (0xc)
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
drive = "floppy0"
backend_defaults = "auto"
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
write-cache = "auto"
share-rw = false
account-invalid = "auto"
account-failed = "auto"
drive-type = "288"
dev: isa-serial, id ""
index = 0 (0x0)
iobase = 760 (0x2f8)
irq = 4 (0x4)
dev: isa-parallel, id ""
index = 0 (0x0)
iobase = 888 (0x378)
irq = 7 (0x7)
chardev = "parallel0"
dev: vt8231-superio, id ""
dev: mc146818rtc, id ""
gpio-out "" 1
base_year = 0 (0x0)
iobase = 112 (0x70)
irq = 8 (0x8)
lost_tick_policy = "discard"
dev: i8257, id ""
base = 192 (0xc0)
page-base = 136 (0x88)
pageh-base = -1 (0xffffffffffffffff)
dshift = 1 (0x1)
dev: i8257, id ""
base = 0 (0x0)
page-base = 128 (0x80)
pageh-base = -1 (0xffffffffffffffff)
dshift = 0 (0x0)
dev: isa-pit, id ""
gpio-in "" 1
gpio-out "" 1
iobase = 64 (0x40)
dev: isa-i8259, id ""
gpio-in "" 8
gpio-out "" 1
iobase = 160 (0xa0)
elcr_addr = 1233 (0x4d1)
elcr_mask = 222 (0xde)
master = false
dev: isa-i8259, id ""
gpio-in "" 8
gpio-out "" 1
iobase = 32 (0x20)
elcr_addr = 1232 (0x4d0)
elcr_mask = 248 (0xf8)
master = true
dev: mv64361-pcibridge, id ""
addr = 00.0
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
x-pcie-ari-nextfn-1 = false
class Host bridge, addr 00:00.0, pci id 11ab:6460 (sub 1af4:1100)
dev: mv64361-pcihost, id ""
index = 0 (0x0)
x-config-reg-migration-enabled = true
bypass-iommu = false
bus: pci.0
type PCI
dev: mv64361-pcibridge, id ""
addr = 00.0
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
x-pcie-ari-nextfn-1 = false
class Host bridge, addr 00:00.0, pci id 11ab:6460 (sub 1af4:1100)
dev: mv64361, id ""
gpio-in "gpp" 32
gpio-out "sysbus-irq" 1
mmio ffffffffffffffff/0000000000010000
This starts as soon as the workbench appears - which is also when Amidock loads - and you can see/feel the slowness as stdio fills up with the messages. Are the 2 host bridges meant to have the same details? "Bus 0, device 0, function 0:" etc
(qemu) info pci
Bus 0, device 0, function 0:
Host bridge: PCI device 11ab:6460
PCI subsystem 1af4:1100
id ""
Bus 0, device 1, function 0:
VGA controller: PCI device 1002:6811
PCI subsystem 1462:3050
IRQ 9, pin A
BAR0: 64 bit prefetchable memory at 0x80000000 [0x8fffffff].
BAR2: 64 bit memory at 0x90000000 [0x9003ffff].
BAR4: I/O at 0x1100 [0x11ff].
BAR6: 32 bit memory at 0xffffffffffffffff [0x0001fffe].
id ""
Bus 0, device 2, function 0:
Display controller: PCI device 1234:1111
PCI subsystem 1af4:1100
BAR0: 32 bit prefetchable memory at 0xffffffffffffffff [0x00fffffe].
BAR2: 32 bit memory at 0xffffffffffffffff [0x00000ffe].
id ""
Bus 0, device 3, function 0:
Ethernet controller: PCI device 10ec:8139
PCI subsystem 1af4:1100
IRQ 9, pin A
BAR0: I/O at 0x1200 [0x12ff].
BAR1: 32 bit memory at 0xffffffffffffffff [0x000000fe].
BAR6: 32 bit memory at 0xffffffffffffffff [0x0003fffe].
id ""
Bus 0, device 12, function 0:
ISA bridge: PCI device 1106:8231
PCI subsystem 1af4:1100
id ""
Bus 0, device 12, function 1:
IDE controller: PCI device 1106:0571
PCI subsystem 1af4:1100
IRQ 14, pin A
BAR0: I/O at 0x1000 [0x1007].
BAR1: I/O at 0x100c [0x100f].
BAR2: I/O at 0x1010 [0x1017].
BAR3: I/O at 0x101c [0x101f].
BAR4: I/O at 0x1020 [0x102f].
id ""
Bus 0, device 12, function 2:
USB controller: PCI device 1106:3038
PCI subsystem 1af4:1100
IRQ 9, pin D
BAR4: I/O at 0x1040 [0x105f].
id ""
Bus 0, device 12, function 3:
USB controller: PCI device 1106:3038
PCI subsystem 1af4:1100
IRQ 9, pin D
BAR4: I/O at 0x1060 [0x107f].
id ""
Bus 0, device 12, function 4:
Bridge: PCI device 1106:8235
PCI subsystem 1af4:1100
id ""
Bus 0, device 12, function 5:
Audio controller: PCI device 1106:3058
PCI subsystem 1af4:1100
IRQ 9, pin C
BAR0: I/O at 0x1300 [0x13ff].
BAR1: I/O at 0x1030 [0x1033].
BAR2: I/O at 0x1034 [0x1037].
id ""
Bus 0, device 12, function 6:
Class 1920: PCI device 1106:3068
PCI subsystem 1af4:1100
IRQ 9, pin C
id ""
Bus 0, device 0, function 0:
Host bridge: PCI device 11ab:6460
PCI subsystem 1af4:1100
id ""
(qemu)
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/16 23:51
#26
|
Not too shy to talk
|
@MartinW Quote: MartinW wrote: Radeon R9 270X may or may not have a usable solution right now. I think it is workable from a "does it function" point of view as long as you disable interrupts. This as Joerg pointed out is likely no good longer term. I'm a little confused on replies from Hans. I have a suspicion from the explanation of how the interrupt handlers should return 1 or 0, the v5 drivers might not work and the earlier ones would.
Radeon HD v5 drivers are not available for Pegasos2 machines, so we are limited to (max) version 3 drivers. Quote: From a practical point of view, the v5 driver is needed to control the fans on the R9 270X regardless of the interrupt situation and I've reached my spending limit, at least for this month so I'm not prepared to buy the newer driver to find out whether the interrupt code works or not. Maybe next month.
This is an issue that others have had with Radeon cards in real machines. I have never had this issue with a R270, R270x or RX580 in a X5000, or the R270 being used for passthrough.
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/15 21:56
#27
|
Not too shy to talk
|
Quote: MartinW wrote:
3. CMD Line as above. Current master plus OSDN patched master. INT's = Yes. Same as before can't get into workbench before the system hangs.
No. 3 works for me (OSDN repo + Interrupts on) however I do not see any difference between this and using the master repo with no patches. Is the version number different in the OSDN code? if it isnt, how can i tell that Im using the correct binary? My startup script is as follows
qemu-system-ppc \
-L pc-bios -M pegasos2 -bios pegasos2.rom -vga none \
-cpu 7457 -m 1024 \
-rtc base=localtime -serial mon:stdio -display sdl \
-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.1,addr=1 \
-device bochs-display,romfile="",bus=pci.1 \
-device rtl8139,netdev=net0,bus=pci.1 -netdev user,id=net0
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/14 22:33
#28
|
Not too shy to talk
|
@MartinWQuote: @derfs - how did you get your R290 working? Did it have 2GB of video Ram? I would be interested in the values you ended up entering.
I have a 270 with 2Gb ram so the figures i entered are the ones you gave me.
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/11 22:57
#29
|
Not too shy to talk
|
@white
No one is willing to add voodoo3 emulation to qemu, and the only real benefit over sm501 would be using warp3d. sm501 emulation at least gets you 64mb of gfx memory.
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/11 15:35
#30
|
Not too shy to talk
|
@white Quote: white wrote: @MartinW
I couldn't figure out if the answer was for me I guess so.
I have the ryzen 5800x so it doesn't have the integrated graphics card like the 5600x for example.
In the bios in addition to AMD V-T support i also have this option i guess is for graphics card. pci sub-system settings if system has sr-iov capable pcie devices this option enable or disable single root io virtualization support.
But I wanted to know if you need a specific adapter etc. To be able to insert one of the graphics cards you mentioned into the second slot.
Thank you. My 5600X does not have integrated graphics, so your setup will be very similar to mine. The main BIOS settings would be to make sure that SVM Mode is on as that turns on virtualization technology for Ryzen. You have 2 PCIe x16 slots on that motherboard, so you would put your main gfx card in the long silver x16 slot, and the gfx card you want to use for passthrough in the second x16 slot. Any PCIe card will fit, but from the ones that we have tested the 5450 and R9 270 are PCIe cards and will not need an adapter. If you want to use older gfx cards such as Voodoo3 or 9250 then you will need an adapter as these are most likely PCI cards. My setup is a Radeon RX 580 as main graphics card, and then the Radeon R9 270 in the second slot for passthrough.
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/10 20:56
#31
|
Not too shy to talk
|
@kas1e qemu (R9 270)
Cow3D_NoInfoBar
os4 - 80 fps
nova - 1130 fps
Ragemem (video only)
Video Bus
READ: 8 MB/Sec
WRITE: 151 MB/Sec
Shaderjoy (395x578)
yet_another_torus.frag - 57 fps
new_buffer.frag - 1380 fps
ring_twister.frag - 630 fps
X5000/20 (R9 270x)
Cow3D_NoInfoBar
os4 - 389 fps
nova - 1454 fps
Ragemem (video only)
Video Bus
READ: 36 MB/Sec
WRITE: 540 MB/Sec
Shaderjoy (395x578)
yet_another_torus.frag - 53 fps
new_buffer.frag - 1869 fps
ring_twister.frag - 672 fps
Its not the same gfx cards, but they are close.
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/10 14:37
#32
|
Not too shy to talk
|
@MartinW
Patch added, qemu compiled, and I have working sound and network.
Graphics card (R9 270) monitor settings in aos4.1 changed to 'interrupt=no' otherwise still get crashes.
I have not had any random crashes yet, but i am using a sfs2 partition as sys:
Cow3d-os4 and cow3d-nova work, as does shaderjoy.
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/9 22:59
#33
|
Not too shy to talk
|
@MartinW Quote: MartinW wrote:
Running Qemu master + patch from mbox mentioned at #787.
Sorry, I do not know how to add this patch to qemu to test my setup. If you can give a quick rundown of 'how to' then i can also check things.
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/9 18:06
#34
|
Not too shy to talk
|
@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.
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/9 17:51
#35
|
Not too shy to talk
|
@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(0x00340002, 0x00000000,
AHIDB_Name, 0x65BC70B4,
AHIDB_BufferLen, 255,
TAG_DONE)=>TRUE
AHI_NextAudioID(0x00340002)=>0xFFFFFFFF
AHI_GetAudioAttrsA(0x00340002, 0x00000000,
AHIDB_Realtime, 0x65025ADC,
AHIDB_Name, 0x650259DC,
AHIDB_BufferLen, 256,
TAG_DONE)=>TRUE
AHI_GetAudioAttrsA(0x00340002, 0x00000000,
AHIDB_Frequencies, 0x650253C0,
AHIDB_MaxChannels, 0x650253C4,
AHIDB_Inputs, 0x650253C8,
AHIDB_Outputs, 0x650253CC,
AHIDB_MinMonitorVolume, 0x650253E0,
AHIDB_MaxMonitorVolume, 0x650253E4,
AHIDB_MinInputGain, 0x650253D0,
AHIDB_MaxInputGain, 0x650253D4,
AHIDB_MinOutputVolume, 0x650253D8,
AHIDB_MaxOutputVolume, 0x650253DC,
AHIDB_Index, 0x650253E8,
AHIDB_IndexArg, 44100,
AHIDB_Stereo, 0x650253EC,
AHIDB_MultiChannel, 0x650253F0,
AHIDB_Realtime, 0x650253F4,
AHIDB_Author, 0x650253F8,
AHIDB_Copyright, 0x650254F8,
AHIDB_Driver, 0x650256F8,
AHIDB_Version, 0x650255F8,
AHIDB_BufferLen, 256,
AHIDB_Record, 0x65025904,
AHIDB_FullDuplex, 0x65025908,
TAG_DONE)=>TRUE
AHI_GetAudioAttrsA(0x00340002, 0x00000000,
AHIDB_OutputArg, 0,
AHIDB_Output, 0x65777880,
AHIDB_BufferLen, 32,
TAG_DONE)=>TRUE
AHI_GetAudioAttrsA(0x00340002, 0x00000000,
AHIDB_InputArg, 0,
AHIDB_Input, 0x65777880,
AHIDB_BufferLen, 32,
TAG_DONE)=>TRUE
AHI_GetAudioAttrsA(0x00340002, 0x00000000,
AHIDB_MinInputGain, 0x6FEAAA40,
TAG_DONE)=>TRUE
AHI_GetAudioAttrsA(0x00340002, 0x00000000,
AHIDB_MinMonitorVolume, 0x6FEAAA3C,
TAG_DONE)=>TRUE
AHI_GetAudioAttrsA(0x00340002, 0x00000000,
AHIDB_MinOutputVolume, 0x6FEAAA38,
TAG_DONE)=>TRUE
AHI_GetAudioAttrsA(0x00340002, 0x00000000,
AHIDB_Frequency, 0x6FEAAA34,
AHIDB_FrequencyArg, 9,
TAG_DONE)=>TRUE
AHI_GetAudioAttrsA(0x00340002, 0x00000000,
AHIDB_MultiChannel, 0x65025918,
AHIDB_Stereo, 0x65025914,
AHIDB_Name, 0x6502591C,
AHIDB_BufferLen, 256,
AHIDB_Bits, 0x65025A1C,
TAG_DONE)=>TRUE
AHI_AllocAudioA(
AHIA_AudioID, 0x00340002,
AHIA_MixFreq, 11025,
AHIA_Channels, 1,
AHIA_Sounds, 1,
TAG_DONE)AHI_SampleFrameSize(10)=>8
AHI_SampleFrameSize(10)=>8
=>0x654B10A0
AHI_LoadSound(0, 0, 0x65025A20, 0x654B10A0) [T:0x00000003 A:0x64C88000 L:19293]=>0
AHI_ControlAudioA(0x654B10A0,
AHIC_Play, TRUE,
TAG_DONE)=>0
AHI_PlayA(0x654B10A0,
AHIP_BeginChannel, 0,
AHIP_Sound, 0,
AHIP_Freq, 11025,
AHIP_Vol, 0.0,
AHIP_Pan, 0.500,
AHIP_EndChannel, 0,
TAG_DONE)
AHI_SetFreq(0, 11025, 0x654B10A0, 1)
AHI_SetVol(0, 0x00000000, 0x00008000, 0x654B10A0, 1)
AHI_SetSound(0, 0, 0x00000000, 0x00000000, 0x654B10A0, 1)
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/9 16:33
#36
|
Not too shy to talk
|
@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?
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/9 15:57
#37
|
Not too shy to talk
|
@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
(qemu) info 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
(qemu) info irq
IRQ statistics for 7457_v1.2-powerpc-cpu:
2: 747
4: 2742
7: 19
8: 1823206
10: 64014
73: 8
IRQ statistics for isa-i8259:
0: 635
1: 9
2: 4039
12: 5205
14: 1098
15: 338
(qemu)
info mtree
(qemu) info mtree
address-space: via-ide
0000000000000000-ffffffffffffffff (prio 0, i/o): bus master container
0000000000000000-ffffffffffffffff (prio 0, i/o): alias bus master @system 0000000000000000-ffffffffffffffff
address-space: mv64361-pcibridge
0000000000000000-ffffffffffffffff (prio 0, i/o): bus master container
0000000000000000-ffffffffffffffff (prio 0, i/o): alias bus master @system 0000000000000000-ffffffffffffffff
address-space: vt8231-pm
0000000000000000-ffffffffffffffff (prio 0, i/o): bus master container
address-space: vt82c686b-usb-uhci
0000000000000000-ffffffffffffffff (prio 0, i/o): bus master container
0000000000000000-ffffffffffffffff (prio 0, i/o): alias bus master @system 0000000000000000-ffffffffffffffff
address-space: mv64361-pcibridge
0000000000000000-ffffffffffffffff (prio 0, i/o): bus master container
address-space: rtl8139
0000000000000000-ffffffffffffffff (prio 0, i/o): bus master container
address-space: bochs-display
0000000000000000-ffffffffffffffff (prio 0, i/o): bus master container
address-space: vt82c686b-usb-uhci
0000000000000000-ffffffffffffffff (prio 0, i/o): bus master container
0000000000000000-ffffffffffffffff (prio 0, i/o): alias bus master @system 0000000000000000-ffffffffffffffff
address-space: vfio-pci
0000000000000000-ffffffffffffffff (prio 0, i/o): bus master container
0000000000000000-ffffffffffffffff (prio 0, i/o): alias bus master @system 0000000000000000-ffffffffffffffff
address-space: cpu-memory-0
address-space: memory
0000000000000000-ffffffffffffffff (prio 0, i/o): system
0000000000000000-000000003fffffff (prio 0, ram): pegasos2.ram
0000000080000000-00000000bfffffff (prio 0, i/o): alias pci1-mem0-win @pci1-mem 0000000080000000-00000000bfffffff
00000000c0000000-00000000dfffffff (prio 0, i/o): alias pci0-mem0-win @pci0-mem 00000000c0000000-00000000dfffffff
00000000f1000000-00000000f100ffff (prio 0, i/o): mv64361
00000000f8000000-00000000f8ffffff (prio 0, i/o): alias pci0-io-win @pci0-io 0000000000000000-0000000000ffffff
00000000f9000000-00000000f9ffffff (prio 0, i/o): alias pci0-mem1-win @pci0-mem 0000000000000000-0000000000ffffff
00000000fd000000-00000000fdffffff (prio 0, i/o): alias pci1-mem1-win @pci1-mem 0000000000000000-0000000000ffffff
00000000fe000000-00000000feffffff (prio 0, i/o): alias pci1-io-win @pci1-io 0000000000000000-0000000000ffffff
00000000ff800000-00000000ffffffff (prio 0, i/o): alias pci1-mem3-win @pci1-mem 00000000ff800000-00000000ffffffff
00000000fff00000-00000000fff7ffff (prio 0, rom): pegasos2.rom
address-space: vt8231-isa
0000000000000000-ffffffffffffffff (prio 0, i/o): bus master container
0000000000000000-ffffffffffffffff (prio 0, i/o): alias bus master @system 0000000000000000-ffffffffffffffff
address-space: I/O
0000000000000000-000000000000ffff (prio 0, i/o): io
address-space: via-ac97
0000000000000000-ffffffffffffffff (prio 0, i/o): bus master container
0000000000000000-ffffffffffffffff (prio 0, i/o): alias bus master @system 0000000000000000-ffffffffffffffff
address-space: via-mc97
0000000000000000-ffffffffffffffff (prio 0, i/o): bus master container
memory-region: system
0000000000000000-ffffffffffffffff (prio 0, i/o): system
0000000000000000-000000003fffffff (prio 0, ram): pegasos2.ram
0000000080000000-00000000bfffffff (prio 0, i/o): alias pci1-mem0-win @pci1-mem 0000000080000000-00000000bfffffff
00000000c0000000-00000000dfffffff (prio 0, i/o): alias pci0-mem0-win @pci0-mem 00000000c0000000-00000000dfffffff
00000000f1000000-00000000f100ffff (prio 0, i/o): mv64361
00000000f8000000-00000000f8ffffff (prio 0, i/o): alias pci0-io-win @pci0-io 0000000000000000-0000000000ffffff
00000000f9000000-00000000f9ffffff (prio 0, i/o): alias pci0-mem1-win @pci0-mem 0000000000000000-0000000000ffffff
00000000fd000000-00000000fdffffff (prio 0, i/o): alias pci1-mem1-win @pci1-mem 0000000000000000-0000000000ffffff
00000000fe000000-00000000feffffff (prio 0, i/o): alias pci1-io-win @pci1-io 0000000000000000-0000000000ffffff
00000000ff800000-00000000ffffffff (prio 0, i/o): alias pci1-mem3-win @pci1-mem 00000000ff800000-00000000ffffffff
00000000fff00000-00000000fff7ffff (prio 0, rom): pegasos2.rom
memory-region: pci1-mem
0000000000000000-00000000ffffffff (prio 0, i/o): pci1-mem
memory-region: pci0-mem
0000000000000000-00000000ffffffff (prio 0, i/o): pci0-mem
00000000000a0000-00000000000bffff (prio 1, i/o): vfio-vga-mmio@0xa0000
00000000c0000000-00000000cfffffff (prio 1, i/o): 0000:0b:00.0 base BAR 0
00000000c0000000-00000000cfffffff (prio 0, i/o): 0000:0b:00.0 BAR 0
00000000c0000000-00000000cfffffff (prio 0, ramd): 0000:0b:00.0 BAR 0 mmaps[0]
00000000d0000000-00000000d003ffff (prio 1, i/o): 0000:0b:00.0 base BAR 2
00000000d0000000-00000000d003ffff (prio 0, i/o): 0000:0b:00.0 BAR 2
00000000d0000000-00000000d003ffff (prio 0, ramd): 0000:0b:00.0 BAR 2 mmaps[0]
00000000d0004000-00000000d00040ff (prio 1, i/o): vfio-ati-bar2-4000-quirk
memory-region: pci0-io
0000000000000000-000000000000ffff (prio 0, i/o): pci0-io
00000000000003b0-00000000000003bb (prio 1, i/o): vfio-vga-io@0x3b0
00000000000003c0-00000000000003df (prio 1, i/o): vfio-vga-io@0x3c0
00000000000003c3-00000000000003c3 (prio 0, i/o): vfio-ati-3c3-quirk
0000000000001000-00000000000010ff (prio 1, i/o): 0000:0b:00.0 base BAR 4
0000000000001000-00000000000010ff (prio 0, i/o): 0000:0b:00.0 BAR 4
0000000000001000-0000000000001003 (prio 1, i/o): vfio-ati-bar4-window-address-quirk
0000000000001004-0000000000001007 (prio 1, i/o): vfio-ati-bar4-window-data-quirk
memory-region: pci1-io
0000000000000000-000000000000ffff (prio 0, i/o): pci1-io
0000000000000000-0000000000000007 (prio 0, i/o): dma-chan
0000000000000008-000000000000000f (prio 0, i/o): dma-cont
0000000000000020-0000000000000021 (prio 0, i/o): pic
0000000000000040-0000000000000043 (prio 0, i/o): pit
0000000000000060-0000000000000060 (prio 0, i/o): i8042-data
0000000000000064-0000000000000064 (prio 0, i/o): i8042-cmd
0000000000000070-0000000000000071 (prio 0, i/o): rtc
0000000000000070-0000000000000070 (prio 0, i/o): rtc-index
0000000000000081-0000000000000083 (prio 0, i/o): dma-page
0000000000000087-0000000000000087 (prio 0, i/o): dma-page
0000000000000089-000000000000008b (prio 0, i/o): dma-page
000000000000008f-000000000000008f (prio 0, i/o): dma-page
00000000000000a0-00000000000000a1 (prio 0, i/o): pic
00000000000000b2-00000000000000b3 (prio 0, i/o): apm-io
00000000000000c0-00000000000000cf (prio 0, i/o): dma-chan
00000000000000d0-00000000000000df (prio 0, i/o): dma-cont
00000000000002f8-00000000000002ff (prio 0, i/o): serial
0000000000000378-000000000000037f (prio 0, i/o): parallel
00000000000003f1-00000000000003f5 (prio 0, i/o): fdc
00000000000003f7-00000000000003f7 (prio 0, i/o): fdc
00000000000004d0-00000000000004d0 (prio 0, i/o): elcr
00000000000004d1-00000000000004d1 (prio 0, i/o): elcr
0000000000000f00-0000000000000f7f (prio 0, i/o): via-pm
0000000000000f00-0000000000000f03 (prio 0, i/o): acpi-evt
0000000000000f04-0000000000000f05 (prio 0, i/o): acpi-cnt
0000000000000f08-0000000000000f0b (prio 0, i/o): acpi-tmr
0000000000001000-0000000000001007 (prio 1, i/o): via-ide0-data
000000000000100c-000000000000100f (prio 1, i/o): via-ide0-cmd
0000000000001010-0000000000001017 (prio 1, i/o): via-ide1-data
000000000000101c-000000000000101f (prio 1, i/o): via-ide1-cmd
0000000000001020-000000000000102f (prio 1, i/o): via-bmdma-container
0000000000001020-0000000000001023 (prio 0, i/o): via-bmdma
0000000000001024-0000000000001027 (prio 0, i/o): bmdma
0000000000001028-000000000000102b (prio 0, i/o): via-bmdma
000000000000102c-000000000000102f (prio 0, i/o): bmdma
0000000000001040-000000000000105f (prio 1, i/o): uhci
0000000000001060-000000000000107f (prio 1, i/o): uhci
info network
(qemu) info 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)
(qemu) info pci
Bus 0, device 0, function 0:
Host bridge: PCI device 11ab:6460
PCI subsystem 1af4:1100
id ""
Bus 0, device 1, function 0:
Display controller: PCI device 1234:1111
PCI subsystem 1af4:1100
BAR0: 32 bit prefetchable memory at 0xffffffffffffffff [0x00fffffe].
BAR2: 32 bit memory at 0xffffffffffffffff [0x00000ffe].
id ""
Bus 0, device 2, function 0:
Ethernet controller: PCI device 10ec:8139
PCI subsystem 1af4:1100
IRQ 9, pin A
BAR0: I/O at 0xffffffffffffffff [0x00fe].
BAR1: 32 bit memory at 0xffffffffffffffff [0x000000fe].
BAR6: 32 bit memory at 0xffffffffffffffff [0x0003fffe].
id ""
Bus 0, device 12, function 0:
ISA bridge: PCI device 1106:8231
PCI subsystem 1af4:1100
id ""
Bus 0, device 12, function 1:
IDE controller: PCI device 1106:0571
PCI subsystem 1af4:1100
IRQ 14, pin A
BAR0: I/O at 0x1000 [0x1007].
BAR1: I/O at 0x100c [0x100f].
BAR2: I/O at 0x1010 [0x1017].
BAR3: I/O at 0x101c [0x101f].
BAR4: I/O at 0x1020 [0x102f].
id ""
Bus 0, device 12, function 2:
USB controller: PCI device 1106:3038
PCI subsystem 1af4:1100
IRQ 9, pin D
BAR4: I/O at 0x1040 [0x105f].
id ""
Bus 0, device 12, function 3:
USB controller: PCI device 1106:3038
PCI subsystem 1af4:1100
IRQ 9, pin D
BAR4: I/O at 0x1060 [0x107f].
id ""
Bus 0, device 12, function 4:
Bridge: PCI device 1106:8235
PCI subsystem 1af4:1100
id ""
Bus 0, device 12, function 5:
Audio controller: PCI device 1106:3058
PCI subsystem 1af4:1100
IRQ 9, pin C
BAR0: I/O at 0xffffffffffffffff [0x00fe].
BAR1: I/O at 0xffffffffffffffff [0x0002].
BAR2: I/O at 0xffffffffffffffff [0x0002].
id ""
Bus 0, device 12, function 6:
Class 1920: PCI device 1106:3068
PCI subsystem 1af4:1100
IRQ 9, pin C
id ""
Bus 0, device 0, function 0:
Host bridge: PCI device 11ab:6460
PCI subsystem 1af4:1100
id ""
Bus 0, device 1, function 0:
VGA controller: PCI device 1002:6811
PCI subsystem 1462:3050
IRQ 9, pin A
BAR0: 64 bit prefetchable memory at 0xc0000000 [0xcfffffff].
BAR2: 64 bit memory at 0xd0000000 [0xd003ffff].
BAR4: I/O at 0x1000 [0x10ff].
BAR6: 32 bit memory at 0xffffffffffffffff [0x0001fffe].
id ""
(qemu)
info pic
(qemu) info pic
Interrupt controller information not available for 7457_v1.2-powerpc-cpu.
pic1: irr=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
(qemu) info qtree
bus: main-system-bus
type System
dev: ps2-mouse, id ""
gpio-out "" 1
dev: ps2-kbd, id ""
gpio-out "" 1
dev: mv64361-pcihost, id ""
index = 1 (0x1)
x-config-reg-migration-enabled = true
bypass-iommu = false
bus: pci.1
type PCI
dev: rtl8139, id ""
mac = "52:54:00:12:34:56"
netdev = "net0"
addr = 02.0
romfile = "efi-rtl8139.rom"
romsize = 262144 (0x40000)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
class Ethernet controller, addr 00:02.0, pci id 10ec:8139 (sub 1af4:1100)
bar 0: i/o at 0xffffffffffffffff [0xfe]
bar 1: mem at 0xffffffffffffffff [0xfe]
bar 6: mem at 0xffffffffffffffff [0x3fffe]
dev: bochs-display, id ""
vgamem = 16777216 (16 MiB)
edid = true
xres = 1280 (0x500)
yres = 800 (0x320)
xmax = 0 (0x0)
ymax = 0 (0x0)
refresh_rate = 0 (0x0)
addr = 01.0
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
class Display controller, addr 00:01.0, pci id 1234:1111 (sub 1af4:1100)
bar 0: mem at 0xffffffffffffffff [0xfffffe]
bar 2: mem at 0xffffffffffffffff [0xffe]
dev: via-mc97, id ""
addr = 0c.6
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
class Class 0780, addr 00:0c.6, pci id 1106:3068 (sub 1af4:1100)
dev: via-ac97, id ""
audiodev = "none"
addr = 0c.5
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
class Audio controller, addr 00:0c.5, pci id 1106:3058 (sub 1af4:1100)
bar 0: i/o at 0xffffffffffffffff [0xfe]
bar 1: i/o at 0xffffffffffffffff [0x2]
bar 2: i/o at 0xffffffffffffffff [0x2]
dev: vt8231-pm, id ""
addr = 0c.4
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
class Bridge, addr 00:0c.4, pci id 1106:8235 (sub 1af4:1100)
bus: i2c
type i2c-bus
dev: smbus-eeprom, id ""
address = 87 (0x57)
dev: vt82c686b-usb-uhci, id ""
bandwidth = 1280 (0x500)
maxframes = 128 (0x80)
addr = 0c.3
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
class USB controller, addr 00:0c.3, pci id 1106:3038 (sub 1af4:1100)
bar 4: i/o at 0x1060 [0x107f]
bus: usb-bus.1
type usb-bus
dev: vt82c686b-usb-uhci, id ""
bandwidth = 1280 (0x500)
maxframes = 128 (0x80)
addr = 0c.2
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
class USB controller, addr 00:0c.2, pci id 1106:3038 (sub 1af4:1100)
bar 4: i/o at 0x1040 [0x105f]
bus: usb-bus.0
type usb-bus
dev: via-ide, id ""
gpio-in "" 2
addr = 0c.1
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
class IDE controller, addr 00:0c.1, pci id 1106:0571 (sub 1af4:1100)
bar 0: i/o at 0x1000 [0x1007]
bar 1: i/o at 0x100c [0x100f]
bar 2: i/o at 0x1010 [0x1017]
bar 3: i/o at 0x101c [0x101f]
bar 4: i/o at 0x1020 [0x102f]
bus: ide.1
type IDE
dev: ide-cd, id ""
drive = "ide1-cd0"
backend_defaults = "auto"
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (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 = 0 (0x0)
serial = "QM00003"
model = ""
unit = 0 (0x0)
bus: ide.0
type IDE
dev: ide-hd, id ""
drive = "ide0-hd1"
backend_defaults = "auto"
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (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 = 0 (0x0)
serial = "QM00002"
model = ""
cyls = 4063 (0xfdf)
heads = 16 (0x10)
secs = 63 (0x3f)
lcyls = 0 (0x0)
lheads = 0 (0x0)
lsecs = 0 (0x0)
bios-chs-trans = "lba"
rotation_rate = 0 (0x0)
unit = 1 (0x1)
dev: ide-hd, id ""
drive = "ide0-hd0"
backend_defaults = "auto"
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (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 = 0 (0x0)
serial = "QM00001"
model = ""
cyls = 4161 (0x1041)
heads = 16 (0x10)
secs = 63 (0x3f)
lcyls = 0 (0x0)
lheads = 0 (0x0)
lsecs = 0 (0x0)
bios-chs-trans = "lba"
rotation_rate = 0 (0x0)
unit = 0 (0x0)
dev: vt8231-isa, id ""
gpio-in "pirq" 4
gpio-out "" 1
addr = 0c.0
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = true
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
class ISA bridge, addr 00:0c.0, pci id 1106:8231 (sub 1af4:1100)
bus: isa.0
type ISA
dev: i8042, id ""
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 = 1 (0x1)
mouse-irq = 12 (0xc)
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
drive = "floppy0"
backend_defaults = "auto"
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
write-cache = "auto"
share-rw = false
account-invalid = "auto"
account-failed = "auto"
drive-type = "288"
dev: isa-serial, id ""
index = 0 (0x0)
iobase = 760 (0x2f8)
irq = 4 (0x4)
dev: isa-parallel, id ""
index = 0 (0x0)
iobase = 888 (0x378)
irq = 7 (0x7)
chardev = "parallel0"
dev: vt8231-superio, id ""
dev: mc146818rtc, id ""
gpio-out "" 1
base_year = 0 (0x0)
iobase = 112 (0x70)
irq = 8 (0x8)
lost_tick_policy = "discard"
dev: i8257, id ""
base = 192 (0xc0)
page-base = 136 (0x88)
pageh-base = -1 (0xffffffffffffffff)
dshift = 1 (0x1)
dev: i8257, id ""
base = 0 (0x0)
page-base = 128 (0x80)
pageh-base = -1 (0xffffffffffffffff)
dshift = 0 (0x0)
dev: isa-pit, id ""
gpio-in "" 1
gpio-out "" 1
iobase = 64 (0x40)
dev: isa-i8259, id ""
gpio-in "" 8
gpio-out "" 1
iobase = 160 (0xa0)
elcr_addr = 1233 (0x4d1)
elcr_mask = 222 (0xde)
master = false
dev: isa-i8259, id ""
gpio-in "" 8
gpio-out "" 1
iobase = 32 (0x20)
elcr_addr = 1232 (0x4d0)
elcr_mask = 248 (0xf8)
master = true
dev: mv64361-pcibridge, id ""
addr = 00.0
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
class Host bridge, addr 00:00.0, pci id 11ab:6460 (sub 1af4:1100)
dev: mv64361-pcihost, id ""
index = 0 (0x0)
x-config-reg-migration-enabled = true
bypass-iommu = false
bus: pci.0
type PCI
dev: vfio-pci, id ""
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 = 0 (0x0)
yres = 0 (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 = 0 (0x0)
x-nv-gpudirect-clique = 255 (0xff)
x-msix-relocation = "off"
addr = 01.0
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = true
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
class VGA controller, addr 00:01.0, pci id 1002:6811 (sub 1462:3050)
bar 0: mem at 0xc0000000 [0xcfffffff]
bar 2: mem at 0xd0000000 [0xd003ffff]
bar 4: i/o at 0x1000 [0x10ff]
bar 6: mem at 0xffffffffffffffff [0x1fffe]
dev: mv64361-pcibridge, id ""
addr = 00.0
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
class Host bridge, addr 00:00.0, pci id 11ab:6460 (sub 1af4:1100)
dev: mv64361, id ""
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.
Interrupt: Line: 0x09 Pin: A Number: 25
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/8 22:48
#38
|
Not too shy to talk
|
@balaton Good news! I have not had a crash for 20 minutes now, which beats the 0-30 seconds i was getting before. The reason is that i used the sm502 device on its own, created an Amiga monitor file for my Radeon (Radeon HD PITCAIN) and changed interrupts to false/off/unticked (depending on where you do it). The bad news is that as soon as i add a network card, the hard crashes come back. Looks like it is an IRQ issue. Ranger output with no network card
... only showing the relevant entries
00.0C.01 IDE Controller Interrupt: Line 0x0E Pin: A Number 30
00.0C.02 USB UHCI Interrupt: Line 0x09 Pin: D Number 25
00.0C.03 USB UHCI Interrupt: Line 0x09 Pin: D Number 25
00.0C.05 Audio Device Interrupt: Line 0x09 Pin: C Number 25
00.0C.06 Communications Device Interrupt: Line 0x09 Pin: C Number 25
01.01.00 VGA Controller Interrupt: Line 0x09 Pin: A Number 25
qemu info pci
(qemu) info pci
Bus 0, device 0, function 0:
Host bridge: PCI device 11ab:6460
PCI subsystem 1af4:1100
id ""
Bus 0, device 1, function 0:
Display controller: PCI device 1234:1111
PCI subsystem 1af4:1100
BAR0: 32 bit prefetchable memory at 0xffffffffffffffff [0x00fffffe].
BAR2: 32 bit memory at 0xffffffffffffffff [0x00000ffe].
id ""
Bus 0, device 12, function 0:
ISA bridge: PCI device 1106:8231
PCI subsystem 1af4:1100
id ""
Bus 0, device 12, function 1:
IDE controller: PCI device 1106:0571
PCI subsystem 1af4:1100
IRQ 14, pin A
BAR0: I/O at 0x1000 [0x1007].
BAR1: I/O at 0x100c [0x100f].
BAR2: I/O at 0x1010 [0x1017].
BAR3: I/O at 0x101c [0x101f].
BAR4: I/O at 0x1020 [0x102f].
id ""
Bus 0, device 12, function 2:
USB controller: PCI device 1106:3038
PCI subsystem 1af4:1100
IRQ 9, pin D
BAR4: I/O at 0x1040 [0x105f].
id ""
Bus 0, device 12, function 3:
USB controller: PCI device 1106:3038
PCI subsystem 1af4:1100
IRQ 9, pin D
BAR4: I/O at 0x1060 [0x107f].
id ""
Bus 0, device 12, function 4:
Bridge: PCI device 1106:8235
PCI subsystem 1af4:1100
id ""
Bus 0, device 12, function 5:
Audio controller: PCI device 1106:3058
PCI subsystem 1af4:1100
IRQ 9, pin C
BAR0: I/O at 0xffffffffffffffff [0x00fe].
BAR1: I/O at 0xffffffffffffffff [0x0002].
BAR2: I/O at 0xffffffffffffffff [0x0002].
id ""
Bus 0, device 12, function 6:
Class 1920: PCI device 1106:3068
PCI subsystem 1af4:1100
IRQ 9, pin C
id ""
Bus 0, device 0, function 0:
Host bridge: PCI device 11ab:6460
PCI subsystem 1af4:1100
id ""
Bus 0, device 1, function 0:
VGA controller: PCI device 1002:6811
PCI subsystem 1462:3050
IRQ 9, pin A
BAR0: 64 bit prefetchable memory at 0xc0000000 [0xcfffffff].
BAR2: 64 bit memory at 0xd0000000 [0xd003ffff].
BAR4: I/O at 0x1000 [0x10ff].
BAR6: 32 bit memory at 0xffffffffffffffff [0x0001fffe].
id ""
Bus 0, device 2, function 0:
Audio controller: PCI device 1002:aab0
PCI subsystem 1462:aab0
IRQ 9, pin B
BAR0: 64 bit memory at 0xffffffffffffffff [0x00003ffe].
id ""
(qemu)
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/8 18:28
#39
|
Not too shy to talk
|
@balaton
In the ranger screenshots I posted after a freeze, the irq of the gfx card was different from the other devices. This doesn’t mean it’s not an irq issue though!
|
|
|
|
Re: What the fastest possible x64 emulation way of OS4 today ?
|
Posted on: 2023/7/8 17:54
#40
|
Not too shy to talk
|
@derfs as i was in the middle of getting information from the QEMU monitor, this popped up
(qemu) [_impl_InitResident] Initializing native autoinit Spiral.blanker V53, priority 0
[_impl_InitResident] Initializing native autoinit slider.gadget V53, priority 0
[_impl_InitResident] slider.gadget V53 initialized
[_impl_InitResident] Spiral.blanker V53 initialized
Its output from the AmigaOS 4.1 debug to serial when the system is frozen. I know the content isnt useful, its more to do with when it happened when the system was meant to be fully frozen.
|
|
|
|