Hello Damien, On Thu, Nov 6, 2014 at 8:38 AM, Damien Hilloulin <damien.hillou...@epfl.ch> wrote: > Hello everyone, > > I'm a newcomer in QEMU and my goal would be to port an existing system > simulator using another emulator to QEMU. > Some work has already been done, and Sparc has been the main target so far > because of its simplicity (and because we have a very good support for Sparc > with the other emulator). > QEMU is great, open-source (contrary to the other emulator we have been > using in the past), and that's why we are aiming at using it. > > However, it seems that the Sparc targets doesn't really support SMP/CMT as > of now. So I am considering two possibilities: > - adding SMP support in QEMU for the Sparc targets (and contribute it to > QEMU :) )
Do you mean a) emulating multiple guest cores on in a single host thread, or b) emulating multiple guest cores in multiple host threads? The former (a) should be relative easy for a sun4m platform: just have to put the CPUs at the proper place in the system bus and fill the CPU Module Ids (MIDs) with the proper data. It would bring no performance increase though. In fact the guest OS would likely run slower because the speed of an emulated CPU would decrease like 1/N, and utilization of multiple CPUs by a guest OS is probably scale like ~ log N, where N is the number of CPUs emulated. If you mean b), things get more complicated because TCG can currently utilize just one host thread. There was an attempt to do utilize multiple threads for an ARM target: http://sourceforge.net/p/coremu/home/Home It would be interesting to hear what the TCG experts would say. Adding Richard to CC. Artyom -- Regards, Artyom Tarasenko SPARC and PPC PReP under qemu blog: http://tyom.blogspot.com/search/label/qemu