Hello all, I have a requirement to use the single-threaded implementation of multi-core emulation in TCG. This schedules the multiple cores in a round robin fashion from what I understand, at the end of a set timer interval.
I want to make a modification to this approach. I would like to schedule the vCPUs in a round-robin fashion but at the end of every Translation Block (TB)'s execution. So, instead of having a timer to switch the vCPU, I would like to forcefully switch the vCPU when a translation block has been executed. What would be the best way to implement this approach? Do I need to raise an interrupt at the end of the execution of every TB ? Where in code should I start making changes ? I do not want the functionality of the original TCG execution driver to change. Best Regards, Arnabjyoti Kalita