Hello everyone,
I have just built a sort of VirtIO frontend/backend to communicate cores and I would like to share it. The idea is similar to RPMSG. In my implementation, each core has a rx[N-1] queue for each (N-1) core. The transmission/reception between cores happens 1-to-1. The code is here
https://github.com/torokernel/torokernel/blob/master/rtl/drivers/VirtIOBus.pas in case you would like to reimplement it. I have also written down a post at
http://torokerneleng.blogspot.com/2022/07/using-virtio-for-inter-core.html and a video at
https://youtu.be/6M_D43WHJ90 to explain the mechanism. If you have any questions or comments, feel free to ask!
Cheers,