Am 02.08.2016 um 08:52 hat Stefan Weil geschrieben:
Am 02.08.2016 um 08:11 schrieb Stefan Weil:
> Public bug reported:
>
> The QEMU PC emulation of DMA does not behave like real hardware or other
> virtualization software.
>
> >From the original bug report (Benjamin David Lunt):
>
> Back to the READ_DMA command, it is my conclusion that the
> READ_DMA command, more precisely, the BUS Master part of QEMU is
> in error. The tests that people have done to see if it works, is
> probably the guest finding out that DMA doesn't work and defaulting
> to PIO, but since the read was successful visually to the user, the
> user assumed the READ_DMA command works, where the guest actually
> defaulted back to PIO transfers without notice.
>
> My code works on real hardware (numerous machines), Bochs, and Oracle's
> Virtual Box.
>
> ...
>
> I have a small test suite, zipped and included at:
> www.fysnet.net/temp/c8bug.zip
>
> Within this zip file is a.img. This is a freeDOS bootable
> floppy. Emulate it with QEMU and then at the DOS prompt, run
> c8bug.exe.
Hi John,
I got this bug report only recently from a Windows user,
but it also occurs on Linux.
As I don't know whether this is a regression or whether
it is relevant for QEMU 2.7, it would be good if you and
maybe more people could have a look on that problem,
too.
I don't think it's a regression. I commented with more detail in the bug
report, and despite the test case being buggy it seems to be true that
qemu doesn't get the flags completely right (we should set either BSY or
DRQ, but we do set both). Apparently none of the common drivers check
for this, though, so it never made any difference.
Kevin