I had a quick look at your via-timer branch at
https://github.com/fthain/qemu/commits/via-timer and spotted that your work is based
upon the v6.0 release. Before digging further into this, can you try using vanilla
git master or the v6.1 tag instead as there are a couple of related fixes from the
6.1 development cycle that you are missing:
82ff856fe7 ("mac_via: fix 60Hz VIA1 timer interval")
- This fixed the 60Hz VIA1 timer interval (it was running 100x too fast) and so could
limit the virtual CPUs ability to process the 100Hz timer.
30ca7eddc4 ("mac_via: remove VIA1 timer optimisations")
- This fixed an issue whereby constant writes to portB would reset the 60Hz VIA1
timer and 1Hz VIA1 timer (Probably not relevant here, but worth having).