[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v10 5/7] hw/ptimer: Legalize running with delta
Re: [Qemu-devel] [PATCH v10 5/7] hw/ptimer: Legalize running with delta = load = 0
Fri, 15 Jan 2016 21:10:09 +0300
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0
12.01.2016 21:12, Dmitry Osipenko пишет:
12.01.2016 06:58, Peter Crosthwaite пишет:
On Sat, Jan 09, 2016 at 08:39:53PM +0300, Dmitry Osipenko wrote:
Currently ptimer would print error message and clear enable flag for an
arming timer that has delta = load = 0. That actually could be a valid case
for some hardware, like instant IRQ trigger for oneshot timer or continuous
in periodic mode. Support those cases by printing error message only when
period = 0.
Isn't the continuous-periodic the same as period = 0, so if we were to really
support this, there should be no error message. This would simplify as we
can remove the conditionals of 0 period completely and rely only on the
too-fast clamps you add in previous patches.
I don't think that clamping is needed. Instead doing the ptimer_tick might be
necessary, so ptimer user could handle that case on it own.
BTW, that printf isn't quite reliable, hw_error or other way of execution abort
should been used instead.
Thanks for the comment.
Looking more at it, I think we should keep period = 0 forbidden. So it's treated
as undefined behaviour and ptimer user should take care of it. If we'd want to
handle period = 0 within ptimer, then we should also handle freq = 0, which
implies potential ptimer VMSD version bump. Also it is uncertain what default
behaviour should be chosen for period = 0, my guess is that pausing
(_not_disabling_) the timer (like in freq = 0 case) should be more common among
various hardware. If you have any thoughts on it, please let me know.