On 27/5/25 12:45, Gerd Hoffmann wrote:
Hi,
I do believe QEMU's current implementation is also in conformance to the spec,
as the reset process itself is done instantly in QEMU.
Yes, that is fine spec-wise. The problem is the seabios driver which
doesn't wait until the hardware signals completion.
I don't know if it's worth it to introduce extra complexity in QEMU to model
a very specific hardware behaviour. Even some hardware is working in QEMU's way.
We have that kind of differences between virtual and physical hardware
in other places too. Timing is notoriously difficult to emulate. Often
qemu completes hardware actions faster than physical hardware, or it at
least looks that way to the guest because it does not get CPU time until
qemu is done.
One way to change that would be to have all mmio writes return instantly
and only kick a timer or BH which runs the actual action. I'm not
convinced this is worth the effort. If you think it is I'd suggest to
move the complete driver to that mode of operation instead of adding a
reset tweak only.
Nah I'm fine ;)