On Tue, Feb 01 2022, Peter Maydell <peter.mayd...@linaro.org> wrote: > Thanks, you've saved me a debugging session! I had a bug report about > a problem with the systick timer a couple of days back, but I hadn't yet > got round to investigating it, and now I don't have to, because this > patch fixes the reported failure :-)
Oh, I didn't see the issue in the tracker. I guess someone else played around with the new machines at the same time :-) A quick workaround on the guest code side btw: set the clock source and then add the enable flag with a separate write. And if you still want to do a debug session: I think there is another related problem. The `systick_reset` function sets the right clock source, but I guess at the time of calling reset the `cpuclk` doesn't have the right value (probably zero)? I was confused at first, because the reset code suggests that everything is OK from the start, but that doesn't seem to be the case. I don't have a good enough overview of the qemu sources to know what is called when. But even if the reset would be right, first setting the clock source and then en/disabling the timer is the better order IMO. /Richard