qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC] Towards an Heterogeneous QEMU


From: Christian Pinto
Subject: Re: [Qemu-devel] [RFC] Towards an Heterogeneous QEMU
Date: Fri, 31 Jul 2015 18:47:25 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0

Hello Paolo,

On 31/07/2015 15:10, Paolo Bonzini wrote:

On 27/07/2015 15:54, Christian Pinto wrote:
 From the user point of view there is usually an operating system
booting on the Master processor (e.g. Linux) at platform startup,
while the other processors are used to offload the Master one from
some computation or to deal with real-time interfaces. It is the
Master OS that triggers the boot of the Slave processors, and
provides them also the binary code to execute (e.g. RTOS, binary
firmware) by placing it into a pre-defined memory area that is
accessible to the Slaves. Usually the memory for the Slaves is
carved out from the Master OS during boot. Once a Slave is booted the
two processors can communicate through queues in shared memory and
inter-processor interrupts (IPIs). In Linux, it is the
remoteproc/rpmsg framework that enables the control (boot/shutdown)
of Slave processors, and also to establish a communication channel
based on virtio queues.

Currently, QEMU is not able to model such an architecture, mainly
because only a single processor can be emulated at one time, and the
OS binary image needs to be placed in memory at model startup.
Hi, you may be interested in the "multi-arch" patches here:
http://thread.gmane.org/gmane.comp.emulators.qemu/351808

These do roughly what you are saying, though in a single QEMU process.
Thanks for pointing this out. In fact the final goal is the same: model a system embedding a heterogeneous set of processors.

The approach presented in this RFC is to provide the building blocks, and extensions, to experiment with heterogeneous systems functional modeling by exploiting the current "architecture" of QEMU in the less invasive possible way. In addition, once the multi-arch work will be finished, there will still be the need to implement some sort of inter-processor signaling/communication and part of our work (i.e. the Interrupt Distribution Module) might be used for such scope.


Thanks,

Christian

Paolo




reply via email to

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