On 2016-11-30 20:30, Henning Schild wrote: > Am Wed, 30 Nov 2016 18:19:27 +0100 > schrieb Jan Kiszka <[email protected]>: > >> On 2016-11-30 17:50, Henning Schild wrote: >>> Since 3e970ab533c4 we can specify a protocol to run on the ivshmem >>> channel. This patch considers a protocol mismatch between the two >>> endpoints a configuration error and does not connect them to each >>> other. >>> >>> Signed-off-by: Henning Schild <[email protected]> >>> >>> diff --git a/Documentation/inter-cell-communication.txt >>> b/Documentation/inter-cell-communication.txt --- >>> a/Documentation/inter-cell-communication.txt +++ >>> b/Documentation/inter-cell-communication.txt @@ -61,7 +61,8 @@ >>> try using the same value that works for the other pci devices. >>> The link between two such virtual PCI devices is established by >>> using the same "bdf". The size and location of the shared memory >>> can be configured freely but -you have to make sure that the values >>> match on both sides. +you have to make sure that the values match >>> on both sides. The "shmem_protocol" +has to match as well. >>> For an example have a look at the cell configuration files of qemu >>> and the ivshmem-demo. >>> >>> diff --git a/hypervisor/ivshmem.c b/hypervisor/ivshmem.c >>> --- a/hypervisor/ivshmem.c >>> +++ b/hypervisor/ivshmem.c >>> @@ -396,7 +396,9 @@ >>> >>> /* we already have a datastructure, connect second >>> endpoint */ if ((mem0->phys_start == mem->phys_start) && >>> - (mem0->size == mem->size)) { >>> + (mem0->size == mem->size) && >>> + (dev0->info->shmem_protocol == >>> device->info->shmem_protocol) >>> + ) { >>> if ((*ivp)->eps[1].device) >>> return trace_error(-EBUSY); >>> ivshmem_connect_cell(*ivp, device, mem, 1); >>> >> >> Makes sense. > > This is just following the - so far - pretty strict matching. > Matching the protocol is useful to prevent a connection of two device > drivers that got tricked by misconfiguration. > >> BTW, I was wondering these days if we cannot relax the matching >> criteria to identical shmem regions and, with with patch, protocol. >> This should simplify the configuration a bit. What do you think? > > The bdf matching could be removed, but so far i see the 1to1 mapping > more as a feature to prevent confusion. You can look at multiple lspcis > and know what is connected to what, and even lspci -v could not tell > you because we do not use BARs.
Hmm, true. Yeah, we need tooling to make these setup steps more convenient... Jan -- Siemens AG, Corporate Technology, CT RDA ITP SES-DE Corporate Competence Center Embedded Linux -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
