On Thu, 9 Nov 2023 at 15:14, Leonid Komarianskyi
<leonid_komarians...@epam.com> wrote:
>
> Peter Maydell, thank you for your comments.
> I apologize for so late response - returned to this issue and now I will
> answer faster. I fixed the commit according to your recommendations,
> please take a look at the new version.
>
>  > There is also a comment or two from me in the bug report pointing
>  > out that the handling of wraparound is also wrong in the other
>  > half of this if(); we should look at that too.
>
> I read this topic and as I understand changing the other half of "if" is
> not related to the reported issue. Since it affects running virtualized
> setups on arm64 QEMU, e.g. Zephyr
> (https://github.com/zephyrproject-rtos/zephyr/blob/main//boards/arm64/xenvm/doc/index.rst)
> maybe is it worth merging at least this change?

I feel they're really pretty much the same thing -- when we
added support for the timer offset registers we didn't correctly
update the arithmetic that calculates when the next interrupt
line transition happens.

I've just posted my version of a patch that I think should
fix both halves of the if():

https://patchew.org/QEMU/20231120173506.3729884-1-peter.mayd...@linaro.org/

Thanks for prodding me into looking at this issue again -- I had
somehow got the mistaken impression that it only happened in
some weird icount sleep=off situations.

thanks
-- PMM

Reply via email to