phantomuserland icon indicating copy to clipboard operation
phantomuserland copied to clipboard

disk io is broken in new QEMU versions

Open dzavalishin opened this issue 9 years ago • 4 comments

Last known working QEMU is 0.15.1

NB: http://alter.org.ua/soft/win/uni_ata/ driver with src

dzavalishin avatar Feb 27 '16 10:02 dzavalishin

1.0.1 works

dzavalishin avatar Mar 01 '16 12:03 dzavalishin

qemu trace:

[email protected]:dma_blk_io dbs=000000001c0cc210 bs=0000000001de0c80 offset=65536 to_dev=0 [email protected]:dma_blk_io dbs=000000001c0cc210 bs=0000000001de0c80 offset=1048576 to_dev=0 [email protected]:dma_blk_io dbs=000000001c0cc210 bs=0000000001de0c80 offset=2228224 to_dev=0 [email protected]:dma_blk_io dbs=000000001c0cc210 bs=0000000001de0c80 offset=3354624 to_dev=0 [email protected]:dma_blk_io dbs=000000001c0cc210 bs=0000000001de0c80 offset=0 to_dev=0 [email protected]:dma_blk_io dbs=000000001c0cc210 bs=0000000001de0c80 offset=1024 to_dev=0 [email protected]:dma_blk_io dbs=000000001c0cc210 bs=0000000001de0c80 offset=32768 to_dev=0 [email protected]:dma_blk_io dbs=000000001c0cc210 bs=0000000001de0c80 offset=0 to_dev=0 [email protected]:dma_blk_io dbs=000000001c0cc210 bs=0000000001ded1e0 offset=65536 to_dev=0 [email protected]:dma_blk_io dbs=000000001c0cc210 bs=0000000001ded1e0 offset=1048576 to_dev=0 [email protected]:dma_blk_io dbs=000000001c0cc210 bs=0000000001ded1e0 offset=2228224 to_dev=0 [email protected]:dma_blk_io dbs=000000001c0cc210 bs=0000000001ded1e0 offset=3354624 to_dev=0 [email protected]:dma_blk_io dbs=000000001c0cc210 bs=0000000001ded1e0 offset=0 to_dev=0 [email protected]:dma_blk_io dbs=000000001c0cc210 bs=0000000001ded1e0 offset=1024 to_dev=0 [email protected]:dma_blk_io dbs=000000001c0cc210 bs=0000000001ded1e0 offset=32768 to_dev=0 [email protected]:dma_blk_io dbs=000000001c0cc210 bs=0000000001ded1e0 offset=0 to_dev=0

Phantom trace:

Disk type ata size 504 Mb, sect 512 b, multisect 16

  • Has: 7f<LBA28,LBA48,Trim,DMA,Smart,Multisector,Flush>
  • Model 'QEMU HARDDISK '
  • Serial 'QM00001 ' Disk type ata size 500 Mb, sect 512 b, multisect 16
  • Has: 7f<LBA28,LBA48,Trim,DMA,Smart,Multisector,Flush>
  • Model 'QEMU HARDDISK '
  • Serial 'QM00002 ' Disk Partition /Ide0 (), 504 Mb, flags 40<IsDisk> z=>[prd] set_up_xfer()... z=>[prd] dir 0 bc 1000 phyAddr 6a00000 z=>[prd] maxPrd 24 prdPtr 0x41700000 bigCnt 10000 smallCnt 10000 z=>[prd] phyAddr 06a00000 z=>[prd] ----- Bus Master PRD List ----- z=>[prd] PRD PhyAddr 069E0000 z=>[prd] set_up_xfer()... z=>[prd] dir 0 bc 1000 phyAddr 6a20000 z=>[prd] maxPrd 24 prdPtr 0x41700000 bigCnt 10000 smallCnt 10000 z=>[prd] phyAddr 06a20000 z=>[prd] ----- Bus Master PRD List ----- z=>[prd] PRD PhyAddr 069E0000 z=>[prd] set_up_xfer()... z=>[prd] dir 0 bc 1000 phyAddr 6a40000 z=>[prd] maxPrd 24 prdPtr 0x41700000 bigCnt 10000 smallCnt 10000 z=>[prd] phyAddr 06a40000 z=>[prd] ----- Bus Master PRD List ----- z=>[prd] PRD PhyAddr 069E0000 z=>[prd] set_up_xfer()... z=>[prd] dir 0 bc 1000 phyAddr 6a60000 z=>[prd] maxPrd 24 prdPtr 0x41700000 bigCnt 10000 smallCnt 10000 z=>[prd] phyAddr 06a60000 z=>[prd] ----- Bus Master PRD List ----- z=>[prd] PRD PhyAddr 069E0000 z=>[prd] set_up_xfer()... z=>[prd] dir 0 bc 200 phyAddr 6a80000 z=>[prd] maxPrd 24 prdPtr 0x41700000 bigCnt 10000 smallCnt 10000 z=>[prd] phyAddr 06a80000 z=>[prd] ----- Bus Master PRD List ----- z=>[prd] PRD PhyAddr 069E0000 z=>[prd] set_up_xfer()... z=>[prd] dir 0 bc 400 phyAddr 6aa0000 z=>[prd] maxPrd 24 prdPtr 0x41700000 bigCnt 10000 smallCnt 10000 z=>[prd] phyAddr 06aa0000 z=>[prd] ----- Bus Master PRD List ----- z=>[prd] PRD PhyAddr 069E0000 z=>[prd] set_up_xfer()... z=>[prd] dir 0 bc 800 phyAddr 6ac0000 z=>[prd] maxPrd 24 prdPtr 0x41700000 bigCnt 10000 smallCnt 10000 z=>[prd] phyAddr 06ac0000 z=>[prd] ----- Bus Master PRD List ----- z=>[prd] PRD PhyAddr 069E0000 z=>[prd] set_up_xfer()... z=>[prd] dir 0 bc 200 phyAddr 6ae0000 z=>[prd] maxPrd 24 prdPtr 0x41700000 bigCnt 10000 smallCnt 10000 z=>[prd] phyAddr 06ae0000 z=>[prd] ----- Bus Master PRD List ----- z=>[prd] PRD PhyAddr 069E0000 [31mDiskIO/lookup_old_pc_partitions: No part table magic[0m Disk Partition /Ide1 (), 500 Mb, flags 40<IsDisk> z=>[prd] set_up_xfer()... z=>[prd] dir 0 bc 1000 phyAddr 6b00000 z=>[prd] maxPrd 24 prdPtr 0x41700000 bigCnt 10000 smallCnt 10000 z=>[prd] phyAddr 06b00000 z=>[prd] ----- Bus Master PRD List ----- z=>[prd] PRD PhyAddr 069E0000 z=>[prd] set_up_xfer()... z=>[prd] dir 0 bc 1000 phyAddr 6b20000 z=>[prd] maxPrd 24 prdPtr 0x41700000 bigCnt 10000 smallCnt 10000 z=>[prd] phyAddr 06b20000 z=>[prd] ----- Bus Master PRD List ----- z=>[prd] PRD PhyAddr 069E0000 z=>[prd] set_up_xfer()... z=>[prd] dir 0 bc 1000 phyAddr 6b40000 z=>[prd] maxPrd 24 prdPtr 0x41700000 bigCnt 10000 smallCnt 10000 z=>[prd] phyAddr 06b40000 z=>[prd] ----- Bus Master PRD List ----- z=>[prd] PRD PhyAddr 069E0000 z=>[prd] set_up_xfer()... z=>[prd] dir 0 bc 1000 phyAddr 6b60000 z=>[prd] maxPrd 24 prdPtr 0x41700000 bigCnt 10000 smallCnt 10000 z=>[prd] phyAddr 06b60000 z=>[prd] ----- Bus Master PRD List ----- z=>[prd] PRD PhyAddr 069E0000 z=>[prd] set_up_xfer()... z=>[prd] dir 0 bc 200 phyAddr 6b80000 z=>[prd] maxPrd 24 prdPtr 0x41700000 bigCnt 10000 smallCnt 10000 z=>[prd] phyAddr 06b80000 z=>[prd] ----- Bus Master PRD List ----- z=>[prd] PRD PhyAddr 069E0000 z=>[prd] set_up_xfer()... z=>[prd] dir 0 bc 400 phyAddr 6ba0000 z=>[prd] maxPrd 24 prdPtr 0x41700000 bigCnt 10000 smallCnt 10000 z=>[prd] phyAddr 06ba0000 z=>[prd] ----- Bus Master PRD List ----- z=>[prd] PRD PhyAddr 069E0000 z=>[prd] set_up_xfer()... z=>[prd] dir 0 bc 800 phyAddr 6bc0000 z=>[prd] maxPrd 24 prdPtr 0x41700000 bigCnt 10000 smallCnt 10000 z=>[prd] phyAddr 06bc0000 z=>[prd] ----- Bus Master PRD List ----- z=>[prd] PRD PhyAddr 069E0000 z=>[prd] set_up_xfer()... z=>[prd] dir 0 bc 200 phyAddr 6be0000 z=>[prd] maxPrd 24 prdPtr 0x41700000 bigCnt 10000 smallCnt 10000 z=>[prd] phyAddr 06be0000 z=>[prd] ----- Bus Master PRD List ----- z=>[prd] PRD PhyAddr 069E0000

dzavalishin avatar May 22 '17 13:05 dzavalishin

Works ok in QEMU 2019.02.18!

dzavalishin avatar Oct 03 '19 16:10 dzavalishin

Check driver code to find out if DMA or something else is disabled. If all is on - close issue and bring driver to /dev lib

dzavalishin avatar Oct 10 '19 09:10 dzavalishin