HLT for stupid OS?

I am running RTOS-32 inside QEMU/KVM. Apparently, RTOS-32 or the application inside doesn’t use the HLT instruction, so I get 100% CPU load. While this is okay as long as I don’t run more VMs than I have CPUs, it gets quite ugly with more VMs.
I imagine that the application is running a NOP loop to waste unused time, and I was wondering whether I could catch the NOP and replace it by a usleep() instruction.

Any pointers on how to accomplish that?