On Wed, 6 Mar 2019, Andrew Randrianasulu wrote:
This was kernel dying in ata subsystem:
[ 1.724000] ata1.00: ATA-7: QEMU HARDDISK, 2.5+, max UDMA/100
[ 1.724000] ata1.00: 204800 sectors, multi 16: LBA48
[ 1.728000] ata1.00: limited to UDMA/33 due to 40-wire cable
[ 1.736000] ata1.00: configured for UDMA/33
[ 1.796000] scsi 0:0:0:0: Direct-Access ATA QEMU HARDDISK 2.5+
PQ: 0 ANSI: 5
[ 1.820000] sd 0:0:0:0: [sda] 204800 512-byte logical blocks: (104 MB/100
MiB)
[ 1.832000] sd 0:0:0:0: [sda] Write Protect is off
[ 1.836000] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled,
doesn't support DPO or FUA
[ 1.864000] Data bus error, epc == ffffffff804157d8, ra == ffffffff804f7ddc
[ 1.864000] Oops[#1]:
Not sure what is this.
mips64el-softmmu/qemu-system-mips64el -M fulong2e -kernel
/dev/shm/boot/vmlinux-3.16.0-4-loongson-2e -hda /dev/shm/LONGSOON_disk -cdrom
/dev/shm/debian-8.0.0-mipsel-xfce-CD-1.iso -nographic -d unimp,guest_errors -append
"console=ttyS0" > VMLINUX_3.16.log 2>&1
and without ata disk but with just CD it moved into 'normal' panic (no root
device)
[ 1.912000] ata2.00: ATAPI: QEMU DVD-ROM, 2.5+, max UDMA/100
[ 1.916000] ata2.00: limited to UDMA/33 due to 40-wire cable
[ 1.924000] ata2.00: configured for UDMA/33
[ 2.604000] input: ImExPS/2 Generic Explorer Mouse as
/devices/platform/i8042/serio1/input/input2
[ 6.928000] ata2.00: qc timeout (cmd 0xa0)
[ 6.928000] ata2.00: TEST_UNIT_READY failed (err_mask=0x4)
[ 7.088000] ata2.00: configured for UDMA/33
[ 12.092000] ata2.00: qc timeout (cmd 0xa0)
[ 12.096000] ata2.00: TEST_UNIT_READY failed (err_mask=0x4)
[ 12.096000] ata2.00: limiting speed to UDMA/33:PIO3
[ 12.252000] ata2.00: configured for UDMA/33
[ 17.252000] ata2.00: qc timeout (cmd 0xa0)
[ 17.252000] ata2.00: TEST_UNIT_READY failed (err_mask=0x4)
[ 17.256000] ata2.00: disabled
[ 17.260000] ata2: soft resetting link
[ 17.420000] ata2: EH complete
[ 17.428000] VFS: Cannot open root device "(null)" or unknown-block(0,0):
error -6
As I've said I've also seen problems with DMA with via-ide and this also
looks like a problem with DMA so it could be a problem with the device
model. Previously this only modelled the legacy ide mode which did not
work well with PMON, Linux nor what I'm trying to use it for so I've
changed it to emulate native mode but could be it's not complete and still
missing something for DMA to work. Unfortunately I don't know QEMU that
much to tell what may be needed and had no time to try to debug it yet.
My guess (which could be all wrong) is that maybe a PCI window is needed
for DMA to work otherwise PCI device won't be able to write data to memory
which would need mapping some memory region somewhere but I'm not sure how
to do that. Maybe you could try enabling ide and bmdma related traces (or
debug defines in these devices if any) to get more detailed output on
what's happening. Then it's a matter of looking up docs and knowing how it
should work and find what's different but that may not be easy for someone
who don't know much about this like me.
mips64el-softmmu/qemu-system-mips64el -M fulong2e -kernel /dev/shm/vmlinux-2e -cdrom
/dev/shm/debian-8.0.0-mipsel-xfce-CD-1.iso -nographic -d unimp,guest_errors -append
"console=ttyS0"
Hm. Note I skipped adding ati-vga device in those tests, because Debian 3.16
kernel was panicing in radeon code too.
The RV100 emulation in ati-vga is even less tested than the default
rage128p so it's possible that the Linux radeon driver does not like it
yet. I think Gerd Hoffmann has found and debugged a problem with it trying
to get values from vgabios which we don't have that can cause a panic. He
had some patches to fix that but it's in his own tree only yet. Hopefully
the ati-vga can be merged soon and then we can include a better vgabios
that works better with the Linux driver. Maybe you should wait for that
before trying it more to avoid chasing already known problems.
Regards,
BALATON Zoltan