Hi, Folks,
AFAIK, QEMU supports SMP, but by using one thread to execute the translated blocks of different CPU in an interleaving way. This makes the SMP emulation very slow. I am wondering what are difficulties to use multit-thread to emulate the SMP, e.g. using one thread to execute the translated block of one CPU (core).
As as I can see, there are several difficulties (from a high level):
1. Dealing with global variables used by QEMU
2. Dealing with LOCK instructions
3. Dealing with other automatic memory update (setting page dirty bits)
I am interested in building this, but not sure about the potential difficulties. Could anybody explain more on this? Thanks!
Wenhao
--
~_~