qemu-discuss
[Top][All Lists]
Advanced

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

Re: Emulating multi core processor (ARM cortex M7) on QEMU


From: Peter Maydell
Subject: Re: Emulating multi core processor (ARM cortex M7) on QEMU
Date: Mon, 26 Feb 2024 11:22:08 +0000

On Mon, 26 Feb 2024 at 10:59, ankita suman <ankita.suman7@gmail.com> wrote:
> I am trying to emulate multi core processor (dual core for now) on QEMU. The 
> processor I am targeting is cortex m7. I tried by running multiple instances 
> of QEMU to emulate multi cores, and use shared memory for communication, but 
> since I am working on a bare metal environment, I don't have the options of 
> libraries for synchronization.
> Another approach I tried was using inter VM shared memory(ivshmem). But I am 
> facing the same problem. I am able to write and read from the ivshmem device 
> from two different QEMU instances, but it is not working for ARM.

None of this is the right way to go. Running multiple QEMU instances
is like having two separate Arm hardware boards connected to each
other somehow, not like having an actual multi-CPU board.

You need to either:
 (1) use one of QEMU's existing boards with multiple CPUs
     (unfortunately we have no dual-M7 board)
 (2) model some dual-M7 board in QEMU, by writing C code to do that.
     This will not be particularly simple, depending on what the
     board you're trying to model is.

If you're OK with a pair of Cortex-M33 rather than M7 specifically,
you can look at using the mps3-an521 or mps3-an524 board models.
I would suggest doing that: it will be by far the easiest thing.

thanks
-- PMM



reply via email to

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