Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
72 user(s) are online (43 user(s) are browsing Forums)

Members: 0
Guests: 72

more...

Support us!

Headlines

 
  Register To Post  

« 1 2 3 (4)
Re: Virtio SCSI driver for AmigaOS4.1FE on QEMU
Quite a regular
Quite a regular


See User information
@derfs
Quote:
Can I get some more information please?

No problem – here’s the description

I tested this on Qemu-10 peg2 U3 with bboot and VirtualSCSIDevice v53.8
Just to be sure, I’ve now also checked Qemu-9 A1 U3 with -bios u-boot-amigaone.bin (not bboot)
The system disk is not located on VirtualSCSIDevice.
Test 1:
Create qemu-img create test.img 100M.
Attach it to -device virtio-scsi-pci.
After the system has booted, open the ‘Media Toolbox’
VirtualSCSIDevice 1.8 - works correctly.
VirtualSCSIDevice 53.8 - does not work
dubmp:
54.57 (29.7.2023AmigaOne release
Machine model
(AmigaOne)
Dump of context at 0xEFFEDBA0
Trap type
DSI exception
Machine State 
(raw): 0x0000D030
Machine State 
(verbose): [ExtInt on] [User] [IAT on] [DAT on
Instruction pointerin module Kickstart/dos.library.kmod+0x00001D34 (0x0153BBF4)
Crashed processramlib.support (0x6FDD8AB0)
DSI verbose error descriptionAccess not found in hash or BAT (page fault)
Access was a store operation
 0
000000FE 6C9D0BC0 6FD34000 6A96E770 EEF6E780 6A8AEB80 00000000 EEF6E780
 8
: 08AA5530 6A96E770 01DD68E2 00000000 FFFFFFFF 00000000 01C56200 6AD464F0
16
80001967 80001968 01550C44 00000000 53465300 6A8AEB80 00000074 00000001
24
00000001 0000003F 00000000 00000012 FFFFFFFF 00000000 6FFAB180 6C792180
CR
24022824   XER00000000  CTR: 014348AC  LR0153BEC4
DSISR
42000000  DAREEF6E780

Kernel command line
debuglevel=7 serial

Registers pointing to code
:
r10native kernel module Kickstart/kernel+0x009d68e2
r14
native kernel module Kickstart/ramlib.kmod+0x00458cc0
r18
native kernel module Kickstart/dos.library.kmod+0x00016d84

Test 2:
Use the pre-configured test.img (initialised with ‘Install...’, must contain a partition, does not need to be formatted)
VirtualSCSIDevice 1.8 – works correctly.
VirtualSCSIDevice 53.8 – works correctly.

I do not have the VirtualSCSIDevice version (virtioscsi.device.debug) – it is not included in the lha package.

Go to top
Re: Virtio SCSI driver for AmigaOS4.1FE on QEMU
Home away from home
Home away from home


See User information
As a side note, but is this confusing 53.8 naming are good thing for our 3d party stuff ? Isn't 1.8 ,etc are better ? I mean, why we need this 53.x there , like its component of the OS ?:)

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Virtio SCSI driver for AmigaOS4.1FE on QEMU
Not too shy to talk
Not too shy to talk


See User information
@smarkusg

Thanks

It looks like there is a partition RDB entry for SFS on the test.img file, or at least thats what this bit of the log says.

Was this a new image file or was it previously setup as SFS in media toolbox?
- If it was setup in media toolbox, what blocksize did you use? was the partition the complete image file?
What version of SFS are you using?
Is it crashing as soon as Media Toolbox loads, or can you select any options (virtioscsi.device, 'Install', ...) ?

I cant currently replicate the crash, so this extra information will help lots.

I have also added a debug version to the latest lha file in https://github.com/derfsss/VirtualSCSI ... 3.8/VirtualSCSIDevice.lha

Go to top
Re: Virtio SCSI driver for AmigaOS4.1FE on QEMU
Not too shy to talk
Not too shy to talk


See User information
@kas1e

No real reason other than I was under a false impression that this needed to be a certain version number to work with mounter, so thats why only this driver has a v53 version number.

Go to top
Re: Virtio SCSI driver for AmigaOS4.1FE on QEMU
Quite a regular
Quite a regular


See User information
@derfs
Qemu-9 A1 U3 – this is a clean system. Nothing from ES was installed on it. I haven’t installed anything on this system apart from Virtio9PFS-beta, VirtualSCSIDevice 53.8 and system updates to U3. The network isn’t even configured.
The system disk HD.img, which I use with bus=ide.0, has an SFS file system
Command line:
qemu-system-ppc -machine amigaone -bios u-boot-amigaone.bin -device ati-vga,model=rv100,romfile=VGABIOS-lgpl-latest.banshee.bin -serial stdio  -vga none  -device sm501 -drive format=raw,if=noneid=rdb,file=HD.img -device ide-hd,drive=rdb,bus=ide.0 -device virtio-scsi-pci,id=scsi0 -drive file=test.img, if=none,id=vd0,format=raw -device scsi-hd,drive=vd0,bus=scsi0.0,channel=0,scsi-id=0,lun=-virtfs local,path=/home/markus/Music,mount_tag=SHARED,security_model=none,id=share0

I’ll show you this visually – it’ll be easier to see if you don’t have access right now and can’t check it properly.
Here’s the full TEST1 run, as you might be interested in one more error
I create an image: qemu-img create test.img 100M
I run QEMU from my command line as specified.
After the system boots, I launch ‘Media Toolbox’ – the first crash occurs
screen - > https://ibb.co/8nDxBzrz
I select in ‘Media Toolbox’ -> ‘virtioscsi.device’ – the second crash occurs. The ‘Media Toolbox’ programme stops responding.
screen -> https://ibb.co/qY2tTH9P

The problem also occurs if I remove the entry in SYS:Kickstart/diskboot.config ‘virtioscsi.device 8 3’

Go to top
Re: Virtio SCSI driver for AmigaOS4.1FE on QEMU
Just can't stay away
Just can't stay away


See User information
@derfs
Replying post #60 in previous page.
In QEMU the MV64361 and Articia are both emulated and don't emulate any of the floating buffer or transparency mentioned in the explanation so if that comes from an AI it's BS. It looks more likely something else is wrong. Maybe it just does not look for memory BARs at the right address as the PCI memory windows might be at different addresses on the two machines but if it found the config registers and the IO BAR it should also be able to look up the memory BAR. Maybe AmigaOS does not map these by default and BBoot or the A1 firmware did not do that either so maybe something needs to do that? Can you compare "info pci" and "info mtree" output on the two machines to see if the BAR needed is mapped and where? I think I've asked those outputs before but did not see an answer.

Go to top
Re: Virtio SCSI driver for AmigaOS4.1FE on QEMU
Home away from home
Home away from home


See User information
@balaton
Quote:
Maybe it just does not look for memory BARs at the right address as the PCI memory windows might be at different addresses on the two machines but if it found the config registers and the IO BAR it should also be able to look up the memory BAR. Maybe AmigaOS does not map these by default and BBoot or the A1 firmware did not do that either so maybe something needs to do that?
AFAIK the driver by using the expansion.library pci and pci_device functions, for example IPCI->AllocResource().
Check the pci/-background- and other PCI related parts in https://wiki.amigaos.net/amiga/autodocs/expansion.doc.txt

Always use the expansion.library PCI functions for everything, config as well as I/O accesses, which will handle endian conversion automatically where required as well as any possible differences on different hardware, don't try to do re-implement it yourself based on some PCI device config register contents.

No idea about QEmu VirtIO, but like accessing a VIA686B device on the A1 you might have to use pci_device/Lock() with PCI_LOCK_SHARED instead of PCI_LOCK_EXCLUSIVE mode in case all VirtIO uses the same, shared device function.

Go to top
Re: Virtio SCSI driver for AmigaOS4.1FE on QEMU
Not too shy to talk
Not too shy to talk


See User information
@balaton

Looks like the high 32-bits of 64-bit BARs are not being zero'd out on AmigaOne so the addresses being accessed were out of range.

AmigaOne PCI mtree
Bus  0device  11, function 0:
    
SCSI controllerPCI device 1af4:1004
      PCI subsystem 1af4
:0008
      
IRQ 7pin A
      BAR0
I/O at 0x800500 [0x80053f]
      
BAR464 bit prefetchable memory at 0xffffffff84204000 [0xffffffff84207fff]
      
id "scsi0"

Bboot / AmigaOne Debug
/pci@80000000io fe000000/c00000 mem 80000000/7d000000
0
:0.0 10cc:0660  6000000 0000 0
0
:0.1 10cc:0661  6000000 0000 0
0
:7.0 1106:0686  6010040 0000 8
0
:7.1 1106:0571  1018a06 000e 80
0
:7.2 1106:3038  c030001 0400 0
    20 1   800000       20 ffffffe1
0
:7.3 1106:3038  c030001 0400 0
    20 1   800020       20 ffffffe1
0
:7.4 1106:3057  6800040 0000 0
0
:7.5 1106:3058  4010050 0300 4
    10 1   800100      100 ffffff01
    14 1   800200        4 fffffffd
    18 1   800204        4 fffffffd
0
:7.6 1106:3068  7800030 0300 30
0
:8.0 126f:0501  3800000 0000 0
    10 0 80000000  4000000 fc000000
    14 0 84000000   200000 ffe00000
0
:9.0 1274:5000  4010000 0100 0
    10 1   800300      100 ffffff01
0
:a.0 10ec:8139  2000020 0100 0
    10 1   800400      100 ffffff01
    14 0 84200000      100 ffffff00
0
:b.0 1af4:1004  1000000 0100 0
    10 1   800500       40 ffffffc1
    20 c 84204000     4000 ffffc00c
Checking initrd at 0x600000
-0x97be80 (3653248 bytes)
Found zip with 66 entries
Parsing Kicklayout at 0x97be80 
(3426 bytes)
Booting config 1AmigaOS 4.1 Final
Loading loader
Loading kernel
Loading FastFileSystem
Loading SmartFilesystem
Loading JXFileSystem
Loading a1floppy
.device.kmod
Loading a1ide
.device.kmod
Loading battclock
.resource.kmod
Loading biosversion
.resource.kmod
Loading bootmenu
.kmod
Loading bootimage
Loading CDFileSystem
Loading con
-handler.kmod
Loading console
.device.kmod
Loading diskboot
.kmod
Loading diskboot
.config
Loading diskcache
.library.kmod
Loading dos
.library.kmod
Loading elf
.library.kmod
Loading env
-handler.kmod
Loading FileSystem
.resource.kmod
Loading gadtools
.library.kmod
Loading gameport
.device.kmod
Loading graphics
.library.kmod
Loading hunk
.library.kmod
Loading input
.device.kmod
Loading intuition
.library.kmod
Loading it8212ide
.device.kmod
Loading keyboard
.device.kmod
Loading keymap
.library.kmod
Loading lsi53c8xx
.device.kmod
Loading mounter
.library
Loading newlib
.library.kmod
Loading nonvolatile
.library.kmod
Loading nvram
.resource.kmod
Loading ps2
.resource.kmod
Loading ram
-handler.kmod
Loading ramdrive
.device.kmod
Loading ramlib
.kmod
Loading shell
.kmod
Loading sii0680ide
.device.kmod
Loading sii3112ide
.device.kmod
Loading sii3114ide
.device.kmod
Loading sii3512ide
.device.kmod
Loading virtioscsi
.device.debug
Loading strap
.kmod
Loading timer
.device.kmod
Loading PCIGraphics
.card
Loading ATIRadeon
.chip
Loading 3dfxVoodoo
.chip
Loading 3DLabsPermedia2
.chip
Loading siliconmotion502
.chip
Loading petunia
.library.kmod
Loading usbresource
.library
Loading usbsys
.device
Loading uhci
.usbhcd
Loading ehci
.usbhcd
Loading hub
.usbfd
Loading bootmouse
.usbfd
Loading bootkeyboard
.usbfd
Loading massstorage
.usbfd
Loading ohci
.usbhcd
Loading mounter
.library
Starting exec
graphics
.library AltiVec/VMX enabled
graphics
.library PPC74xx optimizations enabled
CURRENT_POWER_CLOCK 2A1A0A09
 SYSTEM_CTRL PRE 00100000
 SYSTEM_CTRL POST 20108070
 MISC_CTRL PRE 00100001
 MISC_CTRL POST 00700001
 MISC_TIMING 00000000
 
[virtioscsiLoading Versionvirtioscsi.device 53.8 (14.04.2026) [15:12]
[
virtioscsiPCI_DiscoveryScanning for VirtIO SCSI controller...
[
virtioscsi:pci_discovery.cPCI_DiscoveryFound VirtIO SCSI (1AF4:1004at 00:0B.0
[virtioscsi:pci_discovery.cPCI_DiscoveryBAR0 (I/Omapped at Physical 0x00800500Size64
[virtioscsi:pci_discovery.cPCI_DiscoveryBAR4 (MMIOmapped at Physical 0x84204000Size16384
[virtioscsi:pci_modern_detect.cUnknown VirtIO cfg_type=(ignored)
[
virtioscsi:pci_modern_detect.cNOTIFY_CFG  BAR4+0x3000 -> base=0x84207000 phys=0x84207000 mult=4
[virtioscsi:pci_modern_detect.cDEVICE_CFG  BAR4+0x2000 -> base=0x84206000 phys=0x84206000
[virtioscsi:pci_modern_detect.cISR_CFG     BAR4+0x1000 -> base=0x84205000 phys=0x84205000
[virtioscsi:pci_modern_detect.cCOMMON_CFG  BAR4+0x0 -> base=0x84204000 phys=0x84204000
[virtioscsi:pci_modern_detect.cMMIO probe FAILED (status=0x00expected 0x01— falling back to legacy.
[
virtioscsi:pci_modern_detect.cVirtIO modeLEGACY
[virtioscsiInitVirtIOStarting Legacy PCI sequence at I/O port 0x00800500
[virtioscsiInitVirtIOHost features0x79000006
[virtioscsi]   bit  1VIRTIO_SCSI_F_HOTPLUG (hotplug events)
[
virtioscsi]   bit  2VIRTIO_SCSI_F_CHANGE (LUN param changes)
[
virtioscsi]   bit 24VIRTIO_F_NOTIFY_ON_EMPTY
[virtioscsi]   bit 27VIRTIO_F_ANY_LAYOUT
[virtioscsi]   bit 28VIRTIO_F_INDIRECT_DESC
[virtioscsi]   bit 29VIRTIO_F_EVENT_IDX
[virtioscsi]   bit 30VIRTIO_F_UNUSED (reserved)
[
virtioscsiInitVirtIOGuest features0x20000000 EVENT_IDX

Bboot / AmigaOne Debug (with Driver-side fix)
/pci@80000000io fe000000/c00000 mem 80000000/7d000000
0
:0.0 10cc:0660  6000000 0000 0
0
:0.1 10cc:0661  6000000 0000 0
0
:7.0 1106:0686  6010040 0000 8
0
:7.1 1106:0571  1018a06 000e 80
0
:7.2 1106:3038  c030001 0400 0
    20 1   800000       20 ffffffe1
0
:7.3 1106:3038  c030001 0400 0
    20 1   800020       20 ffffffe1
0
:7.4 1106:3057  6800040 0000 0
0
:7.5 1106:3058  4010050 0300 4
    10 1   800100      100 ffffff01
    14 1   800200        4 fffffffd
    18 1   800204        4 fffffffd
0
:7.6 1106:3068  7800030 0300 30
0
:8.0 126f:0501  3800000 0000 0
    10 0 80000000  4000000 fc000000
    14 0 84000000   200000 ffe00000
0
:9.0 1274:5000  4010000 0100 0
    10 1   800300      100 ffffff01
0
:a.0 10ec:8139  2000020 0100 0
    10 1   800400      100 ffffff01
    14 0 84200000      100 ffffff00
0
:b.0 1af4:1004  1000000 0100 0
    10 1   800500       40 ffffffc1
    20 c 84204000     4000 ffffc00c
Checking initrd at 0x600000
-0x97bf00 (3653376 bytes)
Found zip with 66 entries
Parsing Kicklayout at 0x97bf00 
(3426 bytes)
Booting config 1AmigaOS 4.1 Final
Loading loader
Loading kernel
Loading FastFileSystem
Loading SmartFilesystem
Loading JXFileSystem
Loading a1floppy
.device.kmod
Loading a1ide
.device.kmod
Loading battclock
.resource.kmod
Loading biosversion
.resource.kmod
Loading bootmenu
.kmod
Loading bootimage
Loading CDFileSystem
Loading con
-handler.kmod
Loading console
.device.kmod
Loading diskboot
.kmod
Loading diskboot
.config
Loading diskcache
.library.kmod
Loading dos
.library.kmod
Loading elf
.library.kmod
Loading env
-handler.kmod
Loading FileSystem
.resource.kmod
Loading gadtools
.library.kmod
Loading gameport
.device.kmod
Loading graphics
.library.kmod
Loading hunk
.library.kmod
Loading input
.device.kmod
Loading intuition
.library.kmod
Loading it8212ide
.device.kmod
Loading keyboard
.device.kmod
Loading keymap
.library.kmod
Loading lsi53c8xx
.device.kmod
Loading mounter
.library
Loading newlib
.library.kmod
Loading nonvolatile
.library.kmod
Loading nvram
.resource.kmod
Loading ps2
.resource.kmod
Loading ram
-handler.kmod
Loading ramdrive
.device.kmod
Loading ramlib
.kmod
Loading shell
.kmod
Loading sii0680ide
.device.kmod
Loading sii3112ide
.device.kmod
Loading sii3114ide
.device.kmod
Loading sii3512ide
.device.kmod
Loading virtioscsi
.device.debug
Loading strap
.kmod
Loading timer
.device.kmod
Loading PCIGraphics
.card
Loading ATIRadeon
.chip
Loading 3dfxVoodoo
.chip
Loading 3DLabsPermedia2
.chip
Loading siliconmotion502
.chip
Loading petunia
.library.kmod
Loading usbresource
.library
Loading usbsys
.device
Loading uhci
.usbhcd
Loading ehci
.usbhcd
Loading hub
.usbfd
Loading bootmouse
.usbfd
Loading bootkeyboard
.usbfd
Loading massstorage
.usbfd
Loading ohci
.usbhcd
Loading mounter
.library
Starting exec
graphics
.library AltiVec/VMX enabled
graphics
.library PPC74xx optimizations enabled
CURRENT_POWER_CLOCK 2A1A0A09
[virtioscsiLoading Versionvirtioscsi.device 53.8 (14.04.2026) [DBG]
[
virtioscsiPCI_DiscoveryScanning for VirtIO SCSI controller...
[
virtioscsi:pci_discovery.cPCI_DiscoveryFound VirtIO SCSI (1AF4:1004at 00:0B.0
[virtioscsi:pci_discovery.cBAR5 high DWORD is 0xffffffff (AmigaOne PCI probe bug), zeroing.
[
virtioscsi:pci_discovery.cBAR5 after fix0x00000000
[virtioscsi:pci_discovery.cPCI_DiscoveryBAR0 (I/Omapped at Physical 0x00800500Size64
[virtioscsi:pci_discovery.cPCI_DiscoveryBAR4 (MMIOmapped at Physical 0x84204000Size16384
[virtioscsi:pci_modern_detect.cUnknown VirtIO cfg_type=(ignored)
[
virtioscsi:pci_modern_detect.cNOTIFY_CFG  BAR4+0x3000 -> base=0x84207000 phys=0x84207000 mult=4
[virtioscsi:pci_modern_detect.cDEVICE_CFG  BAR4+0x2000 -> base=0x84206000 phys=0x84206000
[virtioscsi:pci_modern_detect.cISR_CFG     BAR4+0x1000 -> base=0x84205000 phys=0x84205000
[virtioscsi:pci_modern_detect.cCOMMON_CFG  BAR4+0x0 -> base=0x84204000 phys=0x84204000
[virtioscsi:pci_modern_detect.cMMIO probe OK (status=0x01— modern mode confirmed.
[
virtioscsi:pci_modern_detect.cVirtIO modeMODERN
[virtioscsi:virtio_init.cInitVirtIO_Moderncommon_cfg=0x84204000
[virtioscsi:virtio_init.cInitVirtIO_ModernDevice features hi=0x00000101 lo=0x30000006
[virtioscsi:virtio_init.cInitVirtIO_ModernDriver features hi=0x00000001 lo=0x20000000
[virtioscsi:virtio_init.cInitVirtIO_ModernFEATURES_OK acceptedStatus=0x0B
[virtioscsi:virtio_init.cInitVirtIO_ModernQueue 0 max size256
[virtioscsiVQ0256 entries 0x6FF07000 (PFN=0x0006FF07)
[
virtioscsi:virtio_init.cInitVirtIO_ModernQ0 enabled  desc=0x000AC000 avail=0x000AD000 used=0x000AE000 notify=0x84207000
[virtioscsi:virtio_init.cInitVirtIO_ModernQueue 1 max size256


I tried setting 0 via bboot, but something in the amigaos boot sequence overwrote it. Driver side fix will do for now!

Go to top
Re: Virtio SCSI driver for AmigaOS4.1FE on QEMU
Not too shy to talk
Not too shy to talk


See User information
@smarkusg

I managed to replicate the issue - I was using Mounter.library incorrectly, so took the code out. Working version in updated v53.8 release on github.

Go to top
Re: Virtio SCSI driver for AmigaOS4.1FE on QEMU
Home away from home
Home away from home


See User information
@derfs
Just a cosmetic change, but _start() in a kickstart module, .library or .device not meant to be executed in a shell should return RETURN_FAIL instead of 0, and print some error message using IDOS->PrintFault() or IDOS->Printf(), or at least IExec->DebugPrintF() if you don't want to add the required code for opening dos.library, why it can't be executed in a shell.

Go to top
Re: Virtio SCSI driver for AmigaOS4.1FE on QEMU
Not too shy to talk
Not too shy to talk


See User information
@joerg

good to know - thanks!

Go to top
Re: Virtio SCSI driver for AmigaOS4.1FE on QEMU
Quite a regular
Quite a regular


See User information
@derfs
I’ve tested the new version v53.8
virtioscsi.device.debug – works
virtioscsi.device – doesn’t work; same issue as described earlier

Since virtioscsi.device.debug works, I’ve now tested further.
I’ve got a small issue on PEG2 with bboot. It works on A1 with the firmware. I checked earlier on A1 with boot and it worked too.
PEG2 installed from scratch. It only works for DH2 FFS. When connecting images from SFS/SFS2/JXFS, the system does not boot.
The DH0 drive has an SFS file system.

debug here
A1 where SFS/SFS2/JXFS, FFS works

SFS
--
[
DOSListing of Expansion->mountlist... (bootnode first)
[
DOS]    Flags=0x0000   Pri=0   Type=16   Name="DH0" 
[DOS]    Flags=0x0000   Pri=0   Type=0    Name="DH2" 

[DOSBootnode from expansion->mountlist is device name "DH0" 
[DOS"Initial CLI" process starteddoslib creation task now ending.

[
virtioscsi:Open.cOpen unit 0 requested (flags 0)
[
virtioscsi:unit_task.cUnitTask_Entryunit 0 started
[virtioscsi:unit_task.cpreallocate_unit_dmaunit 0 16 slots ready
[virtioscsi:unit_task.cUnitTask_Startunit 0 task ready
[virtioscsi:BeginIO.cBeginIO [DH2/SmartFilesystem 1.290 ]: T0 L0 Cmd 22 (TD_GETGEOMETRYOff 0x00000000 Data 0x6CAF9DF4 Len 32 Flags 0x01 G:1
[virtioscsi:BeginIO.cQueuing cmd 22 to unit task port
[virtioscsi:scsi_cdb_helpers.censure_geometry_cachedunit=0x6FFB4700 valid=(skip)
[
virtioscsiTD_GETGEOMETRYSectorSize=512 TotalSectors=204800 C=3200 H=4 S=16 CylSectors=64 DevType=0 Flags=0
[virtioscsi:Open.cOpen unit 0 requested (flags 0)
[
virtioscsi:Open.cOpen unit 0 requested (flags 0)
[
virtioscsi:Close.cClose called for unit ptr 0x6FFB4700open_count 3
[virtioscsi:Close.cClose called for unit ptr 0x6FFB4700open_count 2
[virtioscsi:BeginIO.cBeginIO [DH2/SmartFilesystem 1.290 ]: T0 L0 Cmd 20 (TD_ADDCHANGEINTOff 0x00000000 Data 0x6CAF12C8 Len 22 Flags 0x00 G:1
[virtioscsi:BeginIO.cTD_ADDCHANGEINTHolding request for T0 L0
[virtioscsi:BeginIO.cBeginIO [DH2/SmartFilesystem 1.290 ]: T0 L0 Cmd 14 (TD_CHANGESTATEOff 0x00000000 Data 0x00000000 Len 0 Flags 0x01 G:1
[virtioscsi:BeginIO.cBeginIO [DH2/SmartFilesystem 1.290 ]: T0 L0 Cmd 22 (TD_GETGEOMETRYOff 0x00000000 Data 0x6CAF9DC4 Len 32 Flags 0x01 G:1
[virtioscsi:BeginIO.cQueuing cmd 22 to unit task port
[virtioscsi:scsi_cdb_helpers.censure_geometry_cachedunit=0x6FFB4700 valid=(skip)
[
virtioscsiTD_GETGEOMETRYSectorSize=512 TotalSectors=204800 C=3200 H=4 S=16 CylSectors=64 DevType=0 Flags=0
[virtioscsi:BeginIO.cBeginIO [DH2/SmartFilesystem 1.290 ]: T0 L0 Cmd 15 (TD_PROTSTATUSOff 0x00000000 Data 0x00000000 Len 0 Flags 0x01 G:1
[virtioscsi:BeginIO.cBeginIO [DH2/SmartFilesystem 1.290 ]: T0 L0 Cmd 2 (CMD_READOff 0x00100000 Data 0x6C9D8040 Len 32768 Flags 0x01 G:1
[virtioscsi:BeginIO.cQueuing cmd 2 to unit task port
[virtioscsi:virtio_scsi_io.cSubmitbounce slot=0 len=32768 R
[virtioscsi:virtio_scsi_io.cSubmitslot=0 queued avail_idx=70 cmd=0x28 len=32768
[virtioscsi:virtqueue.cKick VQ2notify (avail_idx=70)
[
virtioscsi:virtio_scsi_io.cHarvestentry used_idx=70 last=69
[virtioscsi:virtio_scsi_io.cHarvestcookie=0x6FF4AE80 written=32876
[virtioscsi:virtio_scsi_io.cHarvestslot=0 replied err=0 actual=32768
[virtioscsi:BeginIO.cBeginIO [DH2/SmartFilesystem 1.290 ]: T0 L0 Cmd 2 (CMD_READOff 0x063F8000 Data 0x6C9CF040 Len 32768 Flags 0x01 G:1
[virtioscsi:BeginIO.cQueuing cmd 2 to unit task port
[virtioscsi:virtio_scsi_io.cSubmitbounce slot=0 len=32768 R
[virtioscsi:virtio_scsi_io.cSubmitslot=0 queued avail_idx=71 cmd=0x28 len=32768
[virtioscsi:virtqueue.cKick VQ2notify (avail_idx=71)
[
virtioscsi:virtio_scsi_io.cHarvestentry used_idx=71 last=70
[virtioscsi:virtio_scsi_io.cHarvestcookie=0x6FF4AE80 written=32876
[virtioscsi:virtio_scsi_io.cHarvestslot=0 replied err=0 actual=32768
[RAMHandler has started successfully. [DebugLevel=7]

JXFS
--
[
DOSListing of Expansion->mountlist... (bootnode first)
[
DOS]    Flags=0x0000   Pri=0   Type=16   Name="DH0" 
[DOS]    Flags=0x0000   Pri=0   Type=0    Name="DH1" 

[DOSBootnode from expansion->mountlist is device name "DH0" 
[DOS"Initial CLI" process starteddoslib creation task now ending.

[
virtioscsi:Open.cOpen unit 0 requested (flags 0)
[
virtioscsi:unit_task.cUnitTask_Entryunit 0 started
[virtioscsi:unit_task.cpreallocate_unit_dmaunit 0 16 slots ready
[virtioscsi:unit_task.cUnitTask_Startunit 0 task ready
[virtioscsi:BeginIO.cBeginIO [DH1]: T0 L0 Cmd 22 (TD_GETGEOMETRYOff 0x00000000 Data 0x6CAF9D24 Len 32 Flags 0x01 G:1
[virtioscsi:BeginIO.cQueuing cmd 22 to unit task port
[virtioscsi:scsi_cdb_helpers.censure_geometry_cachedunit=0x6FFB4700 valid=(skip)
[
virtioscsiTD_GETGEOMETRYSectorSize=512 TotalSectors=204800 C=3200 H=4 S=16 CylSectors=64 DevType=0 Flags=0
[virtioscsi:Open.cOpen unit 0 requested (flags 0)
[
virtioscsi:Open.cOpen unit 0 requested (flags 0)
[
virtioscsi:Close.cClose called for unit ptr 0x6FFB4700open_count 3
[virtioscsi:Close.cClose called for unit ptr 0x6FFB4700open_count 2
[virtioscsi:BeginIO.cBeginIO [DH1]: T0 L0 Cmd 20 (TD_ADDCHANGEINTOff 0x00000000 Data 0x6CAE0CB0 Len 22 Flags 0x00 G:1
[virtioscsi:BeginIO.cTD_ADDCHANGEINTHolding request for T0 L0
[virtioscsi:BeginIO.cBeginIO [JXF:DH1]: T0 L0 Cmd 14 (TD_CHANGESTATEOff 0x00000000 Data 0x00000000 Len 0 Flags 0x01 G:1
[virtioscsi:BeginIO.cBeginIO [JXF:DH1]: T0 L0 Cmd 22 (TD_GETGEOMETRYOff 0x00000000 Data 0x6CAF9CE4 Len 32 Flags 0x01 G:1
[virtioscsi:BeginIO.cQueuing cmd 22 to unit task port
[virtioscsi:scsi_cdb_helpers.censure_geometry_cachedunit=0x6FFB4700 valid=(skip)
[
virtioscsiTD_GETGEOMETRYSectorSize=512 TotalSectors=204800 C=3200 H=4 S=16 CylSectors=64 DevType=0 Flags=0
[virtioscsi:BeginIO.cBeginIO [JXF:DH1]: T0 L0 Cmd 15 (TD_PROTSTATUSOff 0x00000000 Data 0x00000000 Len 0 Flags 0x01 G:1
[virtioscsi:BeginIO.cBeginIO [JXF:DH1]: T0 L0 Cmd 2 (CMD_READOff 0x00100000 Data 0x6FF6F040 Len 8192 Flags 0x01 G:1
[virtioscsi:BeginIO.cQueuing cmd 2 to unit task port
[virtioscsi:virtio_scsi_io.cSubmitbounce slot=0 len=8192 R
[virtioscsi:virtio_scsi_io.cSubmitslot=0 queued avail_idx=70 cmd=0x28 len=8192
[virtioscsi:virtqueue.cKick VQ2notify (avail_idx=70)
[
virtioscsi:virtio_scsi_io.cHarvestentry used_idx=70 last=69
[virtioscsi:virtio_scsi_io.cHarvestcookie=0x6FF4AE80 written=8300
[virtioscsi:virtio_scsi_io.cHarvestslot=0 replied err=0 actual=8192
[virtioscsi:BeginIO.cBeginIO [JXF:DH1]: T0 L0 Cmd 2 (CMD_READOff 0x063FE000 Data 0x6C9C3040 Len 8192 Flags 0x01 G:1
[virtioscsi:BeginIO.cQueuing cmd 2 to unit task port
[virtioscsi:virtio_scsi_io.cSubmitbounce slot=0 len=8192 R
[virtioscsi:virtio_scsi_io.cSubmitslot=0 queued avail_idx=71 cmd=0x28 len=8192
[virtioscsi:virtqueue.cKick VQ2notify (avail_idx=71)
[
virtioscsi:virtio_scsi_io.cHarvestentry used_idx=71 last=70
[virtioscsi:virtio_scsi_io.cHarvestcookie=0x6FF4AE80 written=8300
[virtioscsi:virtio_scsi_io.cHarvestslot=0 replied err=0 actual=8192
[RAMHandler has started successfully. [DebugLevel=7]
[
virtioscsi:BeginIO.cBeginIO [JXF:DH1]: T0 L0 Cmd 9 (TD_MOTOROff 0x063FE000 Data 0x6C9C3040 Len 0 Flags 0x01 G:1


PEG2
SFS (AOS4)
--
[
DOSListing of Expansion->mountlist... (bootnode first)
[
DOS]    Flags=0x0000   Pri=0   Type=16   Name="DH0" 
[DOS]    Flags=0x0000   Pri=0   Type=0    Name="DH2" 

[DOSBootnode from expansion->mountlist is device name "DH0" 
[DOS"Initial CLI" process starteddoslib creation task now ending.

[
virtioscsi:Open.cOpen unit 0 requested (flags 0)
[
virtioscsi:unit_task.cUnitTask_Entryunit 0 started
[virtioscsi:unit_task.cpreallocate_unit_dmaunit 0 16 slots ready
[virtioscsi:unit_task.cUnitTask_Startunit 0 task ready
[virtioscsi:BeginIO.cBeginIO [DH2/SmartFilesystem 1.290 ]: T0 L0 Cmd 22 (TD_GETGEOMETRYOff 0x00000000 Data 0x6CB8FDF4 Len 32 Flags 0x01 G:1
[virtioscsi:BeginIO.cQueuing cmd 22 to unit task port
[virtioscsi:scsi_cdb_helpers.censure_geometry_cachedunit=0x6FFB0700 valid=(skip)
[
virtioscsiTD_GETGEOMETRYSectorSize=512 TotalSectors=204800 C=3200 H=4 S=16 CylSectors=64 DevType=0 Flags=0
[virtioscsi:Open.cOpen unit 0 requested (flags 0)
[
virtioscsi:Open.cOpen unit 0 requested (flags 0)
[
virtioscsi:Close.cClose called for unit ptr 0x6FFB0700open_count 3
[virtioscsi:Close.cClose called for unit ptr 0x6FFB0700open_count 2
--

SFS (ES
--
[
DOSListing of Expansion->mountlist... (bootnode first)
[
DOS]    Flags=0x0000   Pri=0   Type=16   Name="DH0" 
[DOS]    Flags=0x0000   Pri=0   Type=0    Name="DH2" 

[DOSBootnode from expansion->mountlist is device name "DH0" 
[DOS"Initial CLI" process starteddoslib creation task now ending.

[
virtioscsi:Open.cOpen unit 0 requested (flags 0)
[
virtioscsi:unit_task.cUnitTask_Entryunit 0 started
[virtioscsi:unit_task.cpreallocate_unit_dmaunit 0 16 slots ready
[virtioscsi:unit_task.cUnitTask_Startunit 0 task ready
[virtioscsi:BeginIO.cBeginIO [DH2/SmartFilesystem 1.293 ]: T0 L0 Cmd 22 (TD_GETGEOMETRYOff 0x00000000 Data 0x6CB96DF4 Len 32 Flags 0x01 G:1
[virtioscsi:BeginIO.cQueuing cmd 22 to unit task port
[virtioscsi:scsi_cdb_helpers.censure_geometry_cachedunit=0x6FFB4700 valid=(skip)
[
virtioscsiTD_GETGEOMETRYSectorSize=512 TotalSectors=204800 C=3200 H=4 S=16 CylSectors=64 DevType=0 Flags=0
[virtioscsi:Open.cOpen unit 0 requested (flags 0)
[
virtioscsi:Open.cOpen unit 0 requested (flags 0)
[
virtioscsi:Close.cClose called for unit ptr 0x6FFB4700open_count 3
[virtioscsi:Close.cClose called for unit ptr 0x6FFB4700open_count 2
--

JXFS
--
[
DOSListing of Expansion->mountlist... (bootnode first)
[
DOS]    Flags=0x0000   Pri=0   Type=16   Name="DH0" 
[DOS]    Flags=0x0000   Pri=0   Type=0    Name="DH1" 

[DOSBootnode from expansion->mountlist is device name "DH0" 
[DOS"Initial CLI" process starteddoslib creation task now ending.

[
virtioscsi:Open.cOpen unit 0 requested (flags 0)
[
virtioscsi:unit_task.cUnitTask_Entryunit 0 started
[virtioscsi:unit_task.cpreallocate_unit_dmaunit 0 16 slots ready
[virtioscsi:unit_task.cUnitTask_Startunit 0 task ready
[virtioscsi:BeginIO.cBeginIO [DH1]: T0 L0 Cmd 22 (TD_GETGEOMETRYOff 0x00000000 Data 0x6CB96D24 Len 32 Flags 0x01 G:1
[virtioscsi:BeginIO.cQueuing cmd 22 to unit task port
[virtioscsi:scsi_cdb_helpers.censure_geometry_cachedunit=0x6FFB4700 valid=(skip)
[
virtioscsiTD_GETGEOMETRYSectorSize=512 TotalSectors=204800 C=3200 H=4 S=16 CylSectors=64 DevType=0 Flags=0
[virtioscsi:Open.cOpen unit 0 requested (flags 0)
[
virtioscsi:Open.cOpen unit 0 requested (flags 0)
[
virtioscsi:Close.cClose called for unit ptr 0x6FFB4700open_count 3
[virtioscsi:Close.cClose called for unit ptr 0x6FFB4700open_count 2

FFS
--
[
DOSListing of Expansion->mountlist... (bootnode first)
[
DOS]    Flags=0x0000   Pri=0   Type=16   Name="DH0" 
[DOS]    Flags=0x0000   Pri=0   Type=0    Name="DH2" 

[DOSBootnode from expansion->mountlist is device name "DH0" 
[DOS"Initial CLI" process starteddoslib creation task now ending.

[
virtioscsi:Open.cOpen unit 0 requested (flags 0)
[
virtioscsi:unit_task.cUnitTask_Entryunit 0 started
[virtioscsi:unit_task.cpreallocate_unit_dmaunit 0 16 slots ready
[virtioscsi:unit_task.cUnitTask_Startunit 0 task ready
[virtioscsi:BeginIO.cBeginIO [DH2/FastFileSystem 53.2 ]: T0 L0 Cmd 9 (TD_MOTOROff 0x00000000 Data 0x00000000 Len 0 Flags 0x01 G:1
[virtioscsi:BeginIO.cBeginIO [DH2/FastFileSystem 53.2 ]: T0 L0 Cmd 20 (TD_ADDCHANGEINTOff 0x00000000 Data 0x6CBB49C0 Len 22 Flags 0x00 G:1
[virtioscsi:BeginIO.cTD_ADDCHANGEINTHolding request for T0 L0
[virtioscsi:BeginIO.cBeginIO [DH2/FastFileSystem 53.2 ]: T0 L0 Cmd 15 (TD_PROTSTATUSOff 0x00000000 Data 0x00000000 Len 0 Flags 0x01 G:1
[virtioscsi:BeginIO.cBeginIO [DH2/FastFileSystem 53.2 ]: T0 L0 Cmd 14 (TD_CHANGESTATEOff 0x00000000 Data 0x00000000 Len 0 Flags 0x01 G:1
[virtioscsi:BeginIO.cBeginIO [DH2/FastFileSystem 53.2 ]: T0 L0 Cmd 15 (TD_PROTSTATUSOff 0x00000000 Data 0x00000000 Len 0 Flags 0x01 G:1
[virtioscsi:BeginIO.cBeginIO [DH2/FastFileSystem 53.2 ]: T0 L0 Cmd 9 (TD_MOTOROff 0x00000000 Data 0x00000000 Len 1 Flags 0x01 G:1
[virtioscsi:BeginIO.cBeginIO [DH2/FastFileSystem 53.2 ]: T0 L0 Cmd 2 (CMD_READOff 0x00100000 Data 0x6C96F4E0 Len 1024 Flags 0x01 G:1
[virtioscsi:BeginIO.cQueuing cmd 2 to unit task port
[virtioscsi:virtio_scsi_io.cSubmitbounce slot=0 len=1024 R
[virtioscsi:virtio_scsi_io.cSubmitslot=0 queued avail_idx=17920 cmd=0x28 len=1024
[virtioscsi:virtqueue.cKick VQ2notify (avail_idx=70)
[
virtioscsi:virtio_scsi_io.cHarvestentry used_idx=17920 last=69
[virtioscsi:virtio_scsi_io.cHarvestcookie=0x6FDDD110 written=1132
[virtioscsi:virtio_scsi_io.cHarvestslot=0 replied err=0 actual=1024
[virtioscsi:BeginIO.cBeginIO [DH2/FastFileSystem 53.2 ]: T0 L0 Cmd 2 (CMD_READOff 0x03280000 Data 0x6C96F060 Len 1024 Flags 0x01 G:1
[virtioscsi:BeginIO.cQueuing cmd 2 to unit task port
[virtioscsi:virtio_scsi_io.cSubmitbounce slot=0 len=1024 R
[virtioscsi:virtio_scsi_io.cSubmitslot=0 queued avail_idx=18176 cmd=0x28 len=1024
[virtioscsi:virtqueue.cKick VQ2notify (avail_idx=71)
[
virtioscsi:virtio_scsi_io.cHarvestentry used_idx=18176 last=70
[virtioscsi:virtio_scsi_io.cHarvestcookie=0x6FDDD110 written=1132
[virtioscsi:virtio_scsi_io.cHarvestslot=0 replied err=0 actual=1024
[virtioscsi:BeginIO.cBeginIO [DH2/FastFileSystem 53.2 ]: T0 L0 Cmd 2 (CMD_READOff 0x03280400 Data 0x6C95F000 Len 13312 Flags 0x01 G:1
[virtioscsi:BeginIO.cQueuing cmd 2 to unit task port
[virtioscsi:virtio_scsi_io.cSubmitbounce slot=0 len=13312 R
[virtioscsi:virtio_scsi_io.cSubmitslot=0 queued avail_idx=18432 cmd=0x28 len=13312
[virtioscsi:virtqueue.cKick VQ2notify (avail_idx=72)
[
virtioscsi:virtio_scsi_io.cHarvestentry used_idx=18432 last=71
[virtioscsi:virtio_scsi_io.cHarvestcookie=0x6FDDD110 written=13420
[virtioscsi:virtio_scsi_io.cHarvestslot=0 replied err=0 actual=13312
[RAMHandler has started successfully. [DebugLevel=7]
[
virtioscsi:BeginIO.cBeginIO [DH2/FastFileSystem 53.2 ]: T0 L0 Cmd 9 (TD_MOTOROff 0x03280400 Data 0x6C95F000 Len 0 Flags 0x01 G:1
--

Go to top
Re: Virtio SCSI driver for AmigaOS4.1FE on QEMU
Quite a regular
Quite a regular


See User information
A quick test of the QEMU PEG2 boot firmware (FFS)
using virtio-scsi-pci as the system drive:

The PEG2 firmware obviously does not recognise virtio-scsi-pci. For the system drive on virtio-scsi-pci to be recognised, you need to boot the system from a small disk, e.g. a 100MB ‘test.img’, by signing it on a bus recognised by
the firmware. (-device ide-hd,drive=rdb,bus=ide.0). This is where amigaboot.of and the Kickstart directory are located.
The partitions on the disk images are formatted as FFS.
qemu-system-ppc  -machine pegasos2 -rtc base=localtime -m 512 -device sm501  -serial stdio  -vga none   -bios ./pegasos2.rom -drive format=raw,if=none,id=rdb,file=test.img  -device ide-hd,drive=rdb,bus=ide.0 -device virtio-scsi-pci-non-transitional,id=scsi0 -drive file=testpegU2FFS.hdf,if=none,id=vd1,format=raw -device scsi-hd,drive=vd1,bus=scsi0.0,channel=0,scsi-id=0,lun=0

screen -> https://ibb.co/zVG92M8T

NVMe as the system drive:
qemu-system-ppc  -machine pegasos2 -rtc base=localtime -m 512 -device sm501  -serial stdio  -vga none   -bios ./pegasos2.rom -drive format=raw,if=none,id=rdb,file=test.img  -device ide-hd,drive=rdb,bus=ide.0 -device nvme,drive=nvme0,serial=amiga-nvme--drive file=testpegU2FFS.hdf,if=none,id=nvme0,format=raw

screen -> https://ibb.co/B2yskykZ

Go to top
Re: Virtio SCSI driver for AmigaOS4.1FE on QEMU
Quite a regular
Quite a regular


See User information
@balaton
Quote:
Why is that? MMIO should work with amigaone too. Isn't it just a memory mapped BAR that should show up in the PCI window? Or does it need something else that pegasos2 has and amigaone lacks?

Theoretically, this has nothing to do with the Virtio SCSI driver
I checked out the new patches from @derfs for VirtualSCSIDevice “v1.9: modern MMIO on AmigaOne”
I updated Bar 0 to his developer version of AmigaNVMeDevice, and it works on QEMU A1! Yippee!
I have NVMe for A1. Even @geennaam’s NVMe driver doesn’t work on A1. @derfs’s does
I don’t use a1ide at all and boot the system with bboot without it.
Thanks for the help

Resized Image

PS
@derfs will definitely fix this, he just hasn't had the time. I had a moment and checked it out.
I'm tempted to test this on a QEMU x86_64 machine with PCI passthrough nvme.

Go to top
Re: Virtio SCSI driver for AmigaOS4.1FE on QEMU
Not too shy to talk
Not too shy to talk


See User information
@derfs

v1.10 is available for those that want to try it - https://github.com/derfsss/VirtualSCSI ... .10/VirtualSCSIDevice.lha

Go to top
Re: Virtio SCSI driver for AmigaOS4.1FE on QEMU
Quite a regular
Quite a regular


See User information
@derfs
v1.10
A1: With the SFS system disk connected to ‘device scsi-hd’ and bboot, and with ‘-bios u-boot-amigaone.bin’ – it works.
PEG2: SFS system drive connected to ‘device scsi-hd’ and ‘-bios pegasos2.rom’ works (PEG2 boots from the small drive on ‘ide.0’ where amigaboot.of and kickstart are located) – works.
I’ll check other configurations/variations this evening. If there are any issues, I’ll let you know.

Go to top

  Register To Post
« 1 2 3 (4)

 




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



Polls
Running AmigaOS 4 on?
AmigaOne SE/XE or microA1 12% (26)
Pegasos2 3% (8)
X5000 22% (48)
X1000 14% (30)
A1222 8% (19)
Sam 440/460 18% (40)
Classic PowerPC Amiga 2% (6)
WinUAE emulation 7% (16)
Qemu emulation 9% (21)
Total Votes: 214
The poll closed at 2025/12/1 12:00
8 Comments


Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project