[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Xen data from meta-virtualization layer


  • To: Stefano Stabellini <stefano.stabellini@xxxxxxxxxx>
  • From: Rahul Singh <Rahul.Singh@xxxxxxx>
  • Date: Wed, 18 Nov 2020 12:03:25 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OVZliGCi+zXs1isdfwA+p59HeIN8KXGv0wVGlmUCX/8=; b=nAKlFtmRGurAUjEPwwgHiiBLYttlqUAD05oxTfdZsMH9j2RWpmCjVbJMfzQVjod1rzmiCPRbRvmt+MtQzR0n8cXcI81x9SWg/GZfPu2Io+pRt6Ihb2xSVoEf+s1Q0fM5LLJrDjwgdqTydC05qQgVDqG1yE74XsdIZbEVQYSuIXJDkmjc5VH5jHTrkbDQKQuCv2HvGOft5nj/sadHbsnU7ihUfv+zggwDC5Uf9rwcaDqFXCwUGI0cjeWHpHMxT5oi+j+JYva6yIz9vN5r409suQy5DtxOID03kbUYxhBwB2K09Lp2J9AvxIJ6LZGa+2D03nEQyrCfyv3Gns8AcU6vhQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GSV/h4OtVCV6BwJZbY3aqOFih66AYeTpDi+Xkcr3J7FEinMkZAmfucy083kz+fv0T9DeGl8e+wzXgdTtYr5I6Ejr2TyfT4WmZ1b6qraxpevrf+k2kv/p16tGqTprTB/ndCY/PZbq7rmMp3Kk52T3e8DO1tDVfmoPVH5G+fcUMk2EsVXrtDHIW8a8MxQ4zXYrfUDE2Ae5R8cGGPJGmEnLPz+F4r++PoBQhT3V7PM76ZRXXEgEW7V6XmmbqzwnM2J8Ul/zgI5xM4gX0KjrdHT2rTDFphCn8g5xgAx0V9fE4aQX2GvcFtQGDO83GKoqqEOLLWaW5iRB04zBb6YuH3octQ==
  • Authentication-results-original: xilinx.com; dkim=none (message not signed) header.d=none;xilinx.com; dmarc=none action=none header.from=arm.com;
  • Cc: Leo Krueger <leo.krueger@xxxxxxxx>, Peng Fan <peng.fan@xxxxxxx>, "brucea@xxxxxxxxxx" <brucea@xxxxxxxxxx>, Cornelia Bruelhart <cornelia.bruelhart@xxxxxxxx>, "oleksandr_andrushchenko@xxxxxxxx" <oleksandr_andrushchenko@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, "julien@xxxxxxx" <julien@xxxxxxx>
  • Delivery-date: Wed, 18 Nov 2020 12:04:22 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Original-authentication-results: xilinx.com; dkim=none (message not signed) header.d=none;xilinx.com; dmarc=none action=none header.from=arm.com;
  • Thread-index: AQHWvaLRh1nbYfhrCUytfKaPqimIIA==
  • Thread-topic: Xen data from meta-virtualization layer

Hello Stefano,


> On 17 Nov 2020, at 11:53 pm, Stefano Stabellini 
> <stefano.stabellini@xxxxxxxxxx> wrote:
> 
> Adding Bertrand, Oleksandr, Julien, and others -- they have a more
> recent experience with GICv3 ITS than me and might be able to help.
> I am attaching the device tree Leo sent a few days ago for reference.
> 
> 
> Typically when you can set the ethernet link up and no packets are
> exchanged it is because of a missing interrupt. In this case a missing
> MSI.
> 
> Bertrand, I believe you tried the GIC ITS driver with PCI devices
> recently. It is expected to work correctly with MSIs in Dom0, right?
> 

Yes we are using the XEN GIC ITS driver and MSI interrupts is working fine in 
DOM0.

20:        112          0          0          0   ITS-MSI 1572864 Edge      eth0
 21:        441          0          0          0   ITS-MSI 3670016 Edge      
eth1
 22:       4286          0          0          0   ITS-MSI 4194304 Edge      
xhci_hcd


Regards,
Rahul

> 
> On Tue, 17 Nov 2020, Leo Krueger wrote:
>> Hi,
>> 
>> I enabled CONFIG_HAS_ITS (what a stupid mistake by me to not set it 
>> before...) but then had to add the following node to my device tree
>> 
>>      gic_lpi_base: syscon@0x80000000 {
>>              compatible = "gic-lpi-base";
>>              reg = <0x0 0x80000000 0x0 0x100000>;
>>              max-gic-redistributors = <2>;
>>      };
>> 
>> to somehow change something in regard to the ITS and MSI/MSI-X
>> 
>> (XEN) GICv3 initialization:
>> (XEN)       gic_dist_addr=0x00000006000000
>> (XEN)       gic_maintenance_irq=25
>> (XEN)       gic_rdist_stride=0
>> (XEN)       gic_rdist_regions=1
>> (XEN)       redistributor regions:
>> (XEN)         - region 0: 0x00000006040000 - 0x00000006080000
>> (XEN) GICv3: using at most 57344 LPIs on the host.
>> (XEN) GICv3: 288 lines, (IID 0001143b).
>> (XEN) GICv3: Found ITS @0x6020000
>> (XEN) using non-cacheable ITS command queue
>> (XEN) GICv3: CPU0: Found redistributor in region 0 @000000004001c000
>> 
>> [    0.000000] GICv3: Distributor has no Range Selector support
>> [    0.000000] GICv3: no VLPI support, no direct LPI support
>> [    0.000000] ITS [mem 0x06020000-0x0603ffff]
>> [    0.000000] ITS@0x0000000006020000: allocated 65536 Devices @dc880000 
>> (flat, esz 8, psz 64K, shr 1)
>> [    0.000000] ITS@0x0000000006020000: allocated 32768 Interrupt Collections 
>> @dc820000 (flat, esz 2, psz 64K, shr 1)
>> [    0.000000] GIC: using LPI property table @0x00000000dc830000
>> [    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000006040000
>> [    0.000000] CPU0: using LPI pending table @0x00000000dc840000
>> ...
>> [    0.040080] Platform MSI: gic-its domain created
>> [    0.040136] PCI/MSI: /interrupt-controller/gic-its domain created
>> [    0.040181] fsl-mc MSI: /interrupt-controller/gic-its domain created
>> 
>> 
>> Still I am ending up with the " Failed to add - passthrough or MSI/MSI-X 
>> might fail!" log messages for some PCI devices, but at least the on-board 
>> ethernet ports (fsl_enetc ) are initialized.
>> I can set the link up and a link is successfully established.
>> 
>> But (!) I cannot receive or transmit anything (no error message...) and 
>> there seem to be no interrupts:
>> 
>> 29:          0   ITS-MSI   1 Edge      gbe0-rxtx0
>> 32:          0   ITS-MSI 8192 Edge      ptp_qoriq
>> 
>> (from /proc/interrupts).
>> 
>> Any idea on this one? I keep digging and checking whether my device tree 
>> needs some additional fixes.
>> 
>> Kind regards,
>> Leo
>> 
>> --
>> Leo Krüger, M.Sc.
>> Senior Systems Engineer Distributed Systems
>> Intelligent Digital Cabin
>> 
>> ZAL Zentrum für Angewandte Luftfahrtforschung GmbH
>> Hein-Saß-Weg 22
>> 21129 Hamburg
>>  
>> +49 (0) 40 248 595-154
>> 
>> zal.aero | twitter.com/ZALTechCenter | facebook.com/ZALTechCenter 
>> 
>> ZAL Zentrum für Angewandte Luftfahrtforschung GmbH 
>> Sitz der Gesellschaft / Legal Domicile: Hamburg 
>> Registergericht / Registration Court: Amtsgericht Hamburg HRB 110232
>> Vorsitzender des Aufsichtsrates / Chairman of the Supervisory Board: StR 
>> Andreas Rieckhof
>> Geschäftsführung / Board of Management: Roland Gerhards
>> 
>> Disclaimer:
>> This e-mail may contain confidential and/or privileged information. If you 
>> are not the intended recipient (or have
>> received this mail in error), please notify the sender immediately and 
>> destroy this e-mail. Any unauthorised copying, 
>> disclosure or distribution of the material in this e-mail is strictly 
>> forbidden.
>> 
>>> -----Ursprüngliche Nachricht-----
>>> Von: Stefano Stabellini <stefano.stabellini@xxxxxxxxxx>
>>> Gesendet: Dienstag, 17. November 2020 01:59
>>> An: Leo Krueger <leo.krueger@xxxxxxxx>
>>> Cc: Peng Fan <peng.fan@xxxxxxx>; Stefano Stabellini
>>> <stefano.stabellini@xxxxxxxxxx>; brucea@xxxxxxxxxx; Cornelia Bruelhart
>>> <cornelia.bruelhart@xxxxxxxx>
>>> Betreff: Re: AW: AW: AW: Xen data from meta-virtualization layer
>>> 
>>> Replies inline below
>>> 
>>> 
>>> On Sun, 15 Nov 2020, Leo Krueger wrote:
>>>> Hi Peng, hi Stefano,
>>>> 
>>>> 
>>>> 
>>>> sorry for the long silence…
>>>> 
>>>> 
>>>> 
>>>> I tried the change suggested (and hope I didn’t do anything wrong
>>>> while doing so…) on top of XEN 4.13.2 (before, I always tried with
>>>> 4.12 but wanted to give 4.13.2 a try as well) but I do not see any 
>>>> difference,
>>> still the same “unhandled context fault” log entries pop up and I cannot
>>> access my sdcard.
>>>> 
>>>> 
>>>> 
>>>> As it seems to work without respectively disabled iommu, that would be
>>>> fine for me for now. What I am worried about a bit more is PCIe or
>>> MSI/MSIX to be exact.
>>>> 
>>>> 
>>>> 
>>>> Here is the gic-v3 and its node from my device tree:
>>>> 
>>>> 
>>>> 
>>>> interrupt-controller@6000000 {
>>>> 
>>>>         compatible = "arm,gic-v3";
>>>> 
>>>>         #address-cells = <0x2>;
>>>> 
>>>>         #size-cells = <0x2>;
>>>> 
>>>>         ranges;
>>>> 
>>>>         reg = <0x0 0x6000000 0x0 0x10000 0x0 0x6040000 0x0 0x40000>;
>>>> 
>>>>         #interrupt-cells = <0x3>;
>>>> 
>>>>         interrupt-controller;
>>>> 
>>>>         interrupts = <0x1 0x9 0xf08>;
>>>> 
>>>>         phandle = <0x1>;
>>>> 
>>>> 
>>>> 
>>>>         gic-its@6020000 {
>>>> 
>>>>                 compatible = "arm,gic-v3-its";
>>>> 
>>>>                 msi-controller;
>>>> 
>>>>                 reg = <0x0 0x6020000 0x0 0x20000>;
>>>> 
>>>>                 phandle = <0xd>;
>>>> 
>>>>         };
>>>> 
>>>> };
>>>> 
>>>> 
>>>> 
>>>> And here are some kernel log excerpts related to GIC when booting
>>> without (!) XEN:
>>>> 
>>>> 
>>>> 
>>>> [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
>>>> 
>>>> [    0.000000] GICv3: Distributor has no Range Selector support
>>>> 
>>>> [    0.000000] GICv3: no VLPI support, no direct LPI support
>>>> 
>>>> [    0.000000] ITS [mem 0x06020000-0x0603ffff]
>>>> 
>>>> [    0.000000] ITS@0x0000000006020000: allocated 65536 Devices
>>>> @20fb880000 (flat, esz 8, psz 64K, shr 0)
>>>> 
>>>> [    0.000000] ITS: using cache flushing for cmd queue
>>>> 
>>>> [    0.000000] GIC: using LPI property table @0x00000020fb830000
>>>> 
>>>> [    0.000000] GICv3: CPU0: found redistributor 0 region
>>>> 0:0x0000000006040000
>>>> 
>>>> [    0.000000] CPU0: using LPI pending table @0x00000020fb840000
>>>> 
>>>> [    0.000000] GIC: using cache flushing for LPI property table
>>>> 
>>>> 
>>>> 
>>>> However, when booting with XEN, only the following three lines are
>>> contained in the kernel log:
>>>> 
>>>> 
>>>> 
>>>> [    0.000000] GICv3: Distributor has no Range Selector support
>>>> 
>>>> [    0.000000] GICv3: no VLPI support, no direct LPI support
>>>> 
>>>> [    0.000000] GICv3: CPU0: found redistributor 0 region
>>>> 0:0x0000000006040000
>>> 
>>> "no VLPI support" is very suspicious, it looks like Dom0 doesn't find any 
>>> ITS
>>> support.
>>> 
>>> Can you double check that you have the ITS driver in Xen built-in? That 
>>> would
>>> be CONFIG_HAS_ITS. If you do "make menuconfig" and enable "Configure
>>> standard Xen features (expert users)" you should get a new option "GICv3
>>> ITS MSI controller support" under "Architecture Features".
>>> Make sure to enable it.
>>> 
>>> Let me know if that works!
> <devicetree.dts>

Regards,
Rahul


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.