MSI-X vectors translates the interrupt through its, the GIC and my network 
device DTS node in root cell:
         gic: interrupt-controller@6000000 {
                 compatible= "arm,gic-v3";
                 #address-cells = <2>;
                 #size-cells = <2>;
                 ranges;
                 reg= <0x0 0x06000000 0 0x10000>, /* GIC Dist */
                         <0x0 0x06040000 0 0x40000>; /* GIC Redistributor */
                 #interrupt-cells= <3>;
                 interrupt-controller;
                 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_RAW(0xf) |
                                           IRQ_TYPE_LEVEL_LOW)>;
                  its: gic-its@6020000 {
                          compatible = "arm,gic-v3-its";
                          msi-controller;
                         reg = <0x0 0x06020000 0 0x20000>;/* GIC Translater 
*/
                 };
         };

                 enetc_pcie: pcie@1f0000000 { /* Integrated Endpoint Root 
Complex */
                         compatible = "pci-host-ecam-generic";
                         reg = <0x01 0xf0000000 0x0 0x100000>;
                         #address-cells = <3>;
                         #size-cells = <2>;
                         msi-parent = <&its>;
                         device_type = "pci";
                         bus-range = <0x0 0x0>;
                         dma-coherent;
                         msi-map = <0 &its 0x17 0xe>;
                         ...
                  }

and I copy them all related nodes into cell DTS.

so, I need more effort on MSI-X in cell?

On Friday, October 15, 2021 at 9:56:26 PM UTC+8 [email protected] wrote:

> On 15.10.21 14:25, Changming Huang wrote:
> > hi, guys,
> > I have  Arm64 platform (GIC-V3 is used) which integrates one real PCIe
> > network device.
> > This PCIe network device just supports MSI-X, and it works fine in
> > root-cell Linux.
> > I want to enable this PCIe network device in cell (cell runs Linux, too).
> > I can disable this PCIe device in root-cell by removing its node in DTS
> > file.
> > I added the PCIe network device node into cell DTS (like root-cell DTS)
> > But I got the error "MSIX alloc failed" during booting cell Linux.
> > Appreciate for the clue for this issue!
> > 
> > I checked the jailhouse source and document, and I didn't find the
> > description about the real PCIe device with MSI-X.
> > 
>
> MSI-X is tricky on ARM. The complete IRQ path, as it is also taken on
> the root cell, needs to be available in the non-root cell. By default,
> Jailhouse only manages GICD sharing. How are MSI-X vectors translated
> into interrupt numbers normally on your platform?
>
> 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/5032fae9-5e5c-4526-a777-94ede22ac17an%40googlegroups.com.

Reply via email to