Am 02.11.2011 13:54, schrieb Paolo Bonzini:
On 10/31/2011 06:13 PM, Stefan Weil wrote:
They can't be more broken: I noticed today that QEMU on W32 aborts
with the default timer (mmtimer) very quickly.
Is there any reason why mmtimer2 is not the default (or indeed why
mmtimer and win32 exist)?
Paolo
Commit 68c23e5520e8286d79d96ab47c0ea722ceb75041 removed
the multimedia timers, so only timer "win32" was left:
use win32 timer queues
Multimedia timers are only useful for compatibility with Windows NT 4.0
and earlier. Plus, the implementation in Wine is extremely
heavyweight.
Commit 2f9cba0c148af32fad6813480f5c92efe17c2d49 re-added
mmtimer2 because it had existed before (it was called "dynticks" and
the default for w32) and was needed for Linux. It also added mmtimer,
a multimedia timer without rearm.
qemu-timer: Fix timers for w32
Commit 68c23e5520e8286d79d96ab47c0ea722ceb75041 removed the
multimedia timer, but this timer is needed for certain
Linux kernels. Otherwise Linux boot stops with this error:
MP-BIOS bug: 8254 timer not connected to IO-APIC
So the multimedia timer is added again here.
Now timers without rearm no longer work (abort in assertion).
I think mmtimer2 would be sufficient. For QEMU 1.0, it should be
the default, because otherwise w32 users won't be able to use it.
The arguments from the first patch are still valid, I suppose,
so removing the other timers (mmtimer and win32) should be
delayed until you, I (not before end of next week) or someone
else has done more tests on w32 and wine.
Regards
Stefan