On 09.07.21 10:09, yohenn perrot wrote:
> Hi,
> I'm working with Jailhouse for linux version 4.4 on Nvidia TX2. I have
> currently 5 cells that communicate with each other.
> In order to communicate with linux root, I implemented 5 vPCI devices in
> the linux-root. After some researches I found that a cell cannot have
> more than 4 IRQs, so I'm trying to implement msi-x.
Well, you can IRQ sharing when using legacy INTx, that should work.
>
> Currently, I have *ENOSPC *error during the *msix enabling function*.
>
> With *sudo lspci -v* command , I can see that a memory space is
> allocated for the MSI-X.
>
> /00:04.0 Unassigned class [ff00]: Red Hat, Inc. Inter-VM shared memory/
> /Subsystem: Red Hat, Inc. Inter-VM shared memory/
> /Flags: fast devsel/
> /Memory at 40104000 (64-bit, non-prefetchable) [size=4K]/
> /Memory at 40105000 (64-bit, non-prefetchable) [size=256]/
> /Capabilities: [50] MSI-X: Enable- Count=1 Masked-/
> /Kernel driver in use: uio_ivshmem/
>
> I set up the linux root cell like this :
>
> / .type = JAILHOUSE_PCI_TYPE_IVSHMEM,/
> / .bdf = 0x4 << 3,/
> / .bar_mask = {/
> /0xfffff000, /
> /0xffffffff, /
> /0x00000000, /
> / 0x00000000,/
> /0xffffff00, /
> /0xffffffff, /
> / },/
> /
> /
> / .num_msix_vectors = 1, /
> / .shmem_region = 68, /
> /.iommu = 1,/
> / .shmem_protocol = JAILHOUSE_SHMEM_PROTO_UNDEFINED,/
> /.domain = 0x0,/
> / },/
> /Do you have any suggestions on the problem encountered ?/
> /It seems that MSI-X are different for virtual devices is that right ?/
> /
In order to user MSI-X on an ARM platform, you need one that at least
provides that for its physical devices already. In the best case, there
is generic PCI host controller that supports MSI/MSI-X and Jailhouse
could simply plug into it to inject the virtual devices. But that only
worked once so far, for the old AMD Seattle platform.
Our current virtual PCI host controller does not yet support MSI/MSI-X.
That is primarily due to the tricky binding between it and the
(non-pluggable) IRQ controllers of the platform that have to support
message-based interrupts. And there might be more complications that I
forgot about.
Jan
--
Siemens AG, T RDA IOT
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].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jailhouse-dev/5affd5e9-79aa-96c2-c78a-bfd67cc2a7fd%40siemens.com.