Message ID | 20231127052024.435743-1-gustavo.romero@linaro.org |
---|---|
Headers | show |
Series | Add ivshmem-flat device | expand |
Gustavo Romero <gustavo.romero@linaro.org> writes: > This patchset introduces a new device, ivshmem-flat, which is similar to the > current ivshmem device but does not require a PCI bus. It implements the ivshmem > status and control registers as MMRs and the shared memory as a directly > accessible memory region in the VM memory layout. It's meant to be used on > machines like those with Cortex-M MCUs, which usually lack a PCI bus, e.g., > lm3s6965evb and mps2-an385. Additionally, it has the benefit of requiring a tiny > 'device driver,' which is helpful on some RTOSes, like Zephyr, that run on > memory-constrained resource targets. > > The patchset includes a QTest for the ivshmem-flat device, however, it's also > possible to experiment with it in two ways: > > (a) using two Cortex-M VMs running Zephyr; or > (b) using one aarch64 VM running Linux with the ivshmem PCI device and another > arm (Cortex-M) VM running Zephyr with the new ivshmem-flat device. > > Please note that for running the ivshmem-flat QTests the following patch, which > is not committed to the tree yet, must be applied: > > https://lists.nongnu.org/archive/html/qemu-devel/2023-11/msg03176.html > > -- > > To experiment with (a), clone this Zephyr repo [0], set the Zephyr build > environment [1], and follow the instructions in the 'ivshmem' sample main.c [2]. > > [0] https://github.com/gromero/zephyr/tree/ivshmem > [1] https://docs.zephyrproject.org/latest/develop/getting_started/index.html > [2] https://github.com/gromero/zephyr/commit/73fbd481e352b25ae5483ba5048a2182b90b7f00#diff-16fa1f481a49b995d0d1a62da37b9f33033f5ee477035e73465e7208521ddbe0R9-R70 > > To experiment with (b): If you could put these blobs up on fileserver.linaro.org you could add an avocado test to compliment the qtest.