Lines Matching refs:ivshmem

1 .. zephyr:code-sample:: ivshmem-doorbell
3 :relevant-api: ivshmem
12 communicate using ivshmem. This is a subset of the functionality provided by
20 ivshmem-server needs to be available and running. The server is available in
24 ivshmem-client needs to be available as it is employed in this sample as an
25 external application. The same conditions of ivshmem-server applies to the
26 ivshmem-server, as it is also available via QEMU.
31 Building ivshmem-doorbell is as follows:
37 :zephyr-app: samples/drivers/virtualization/ivshmem/doorbell
47 :zephyr-app: samples/drivers/virtualization/ivshmem/doorbell
57 :zephyr-app: samples/drivers/virtualization/ivshmem/doorbell
68 The ivshmem shared memory can be manipulated to crash QEMU and bring down
74 to use the default shared memory size of ivshmem (4MB) for this platform.
78 #. Run ivshmem-server. For the ivshmem-server, both number of vectors and
80 For Zephyr, the number of vectors and shared memory size of ivshmem are
89 $ sudo ivshmem-server -n 2
98 $ sudo ivshmem-server -n 2 -l 4096
101 - (Optional) If vectors != 2, you need to change ivshmem driver
104 #. Appropriately set ownership of :file:`/dev/shm/ivshmem` and
109 # assumption: "ivshmem" group should be the only allowed to access ivshmem
110 $ sudo chgrp ivshmem /dev/shm/ivshmem
111 $ sudo chmod 060 /dev/shm/ivshmem
112 $ sudo chgrp ivshmem /tmp/ivshmem_socket
124 Use write_shared_memory.sh and ivshmem-client to send a message
127 the same as specified for ivshmem-server. This is the purpose of the
132 size of ivshmem-server):
145 # assumption: the user created ivshmem-server with size 4096
149 5. Send an interrupt to the guest. Using ivshmem-client, for instance:
154 $ ivshmem-client
170 received (in any of the ivshmem-vectors). Example of output for arm64:
178 Use write_shared_memory.sh and ivshmem-client to send a message