[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-discuss] Using qemu to simulate multi-core shared memory syste

From: Jakob Bohm
Subject: Re: [Qemu-discuss] Using qemu to simulate multi-core shared memory system
Date: Sat, 13 Jul 2013 17:24:06 +0200
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130620 Thunderbird/17.0.7

On 10-07-2013 07:40, Arun Balakrishnan wrote:
We have a multi-core network processor system, wherein we run a multi-threaded (using pthreads) program. We have the pthreads pinned to hw cores (fixed pinning/mapping). We would like to emulate / simulate such a system… We have built a C++ simulator wherein we use a internally developed ISS (instruction set simulator). We create as many ISS instances as many cores we have and then have a shared memory system around it.. Our ISS is interpreted, ie each instruction in our ISA (instruction set architecture) is implemented in C++. We have already used Qemu to simulate a single core - we have built a library that defines the mapping from our ISA to x86 and qemu uses this to do dynamic translation.. but I would like to know if it is possible to simulate multi-core system.
Multi-core / multi-cpu is a standard qemu feature across cpus.
So if your custom instruction set handling is correctly
implemented (including whatever qemu uses to emulate interprocess
synchronization insttructions), then simply running your modified
qemu with the option to specify multiple virtual CPUs should do
the trick.

Of cause, by default the virtual cores are not pinned to physical
cores of the host system, and qemu can emulate more cores than
present on the host computer. I am not sure if there are general
purpose qemu options to do such pinningif desired.

I am of cause assuming that your "library" is implemented the
same way as the internal qemu code for emulating other foreign
cpus, such as the code that lets qemu-system-arm run on an x86 PC.


Jakob Bohm, CIO, Partner, WiseMo A/S.  http://www.wisemo.com
Transformervej 29, 2730 Herlev, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded

reply via email to

[Prev in Thread] Current Thread [Next in Thread]