From: Rahul Singh <Rahul.Singh@arm.com>
To: Stefano Stabellini <stefano.stabellini@xilinx.com>
Cc: Leo Krueger <leo.krueger@zal.aero>, Peng Fan <peng.fan@nxp.com>,
"brucea@xilinx.com" <brucea@xilinx.com>,
Cornelia Bruelhart <cornelia.bruelhart@zal.aero>,
"oleksandr_andrushchenko@epam.com"
<oleksandr_andrushchenko@epam.com>,
"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
Bertrand Marquis <Bertrand.Marquis@arm.com>,
"julien@xen.org" <julien@xen.org>
Subject: Re: Xen data from meta-virtualization layer
Date: Wed, 18 Nov 2020 12:03:25 +0000 [thread overview]
Message-ID: <B8CEC628-41EB-44F4-BF72-540C42BFA119@arm.com> (raw)
In-Reply-To: <alpine.DEB.2.21.2011171544380.438@sstabellini-ThinkPad-T480s>
Hello Stefano,
> On 17 Nov 2020, at 11:53 pm, Stefano Stabellini <stefano.stabellini@xilinx.com> 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@xilinx.com>
>>> Gesendet: Dienstag, 17. November 2020 01:59
>>> An: Leo Krueger <leo.krueger@zal.aero>
>>> Cc: Peng Fan <peng.fan@nxp.com>; Stefano Stabellini
>>> <stefano.stabellini@xilinx.com>; brucea@xilinx.com; Cornelia Bruelhart
>>> <cornelia.bruelhart@zal.aero>
>>> 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
next prev parent reply other threads:[~2020-11-18 12:04 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <AM4PR0501MB2227089FDDF0209EF6E215D9E6100@AM4PR0501MB2227.eurprd05.prod.outlook.com>
[not found] ` <AM4PR0501MB22274E52A5A3BE912D477D8CE6EA0@AM4PR0501MB2227.eurprd05.prod.outlook.com>
[not found] ` <HE1PR05MB47941E23CE053CE72F18867C8BEA0@HE1PR05MB4794.eurprd05.prod.outlook.com>
[not found] ` <alpine.DEB.2.21.2011091858010.21307@sstabellini-ThinkPad-T480s>
[not found] ` <HE1PR05MB4794B5C57A54A29A48EE8EAE8BE90@HE1PR05MB4794.eurprd05.prod.outlook.com>
[not found] ` <alpine.DEB.2.21.2011101842500.21307@sstabellini-ThinkPad-T480s>
[not found] ` <DB6PR0402MB27608A03EC717053E392A92988E80@DB6PR0402MB2760.eurprd04.prod.outlook.com>
[not found] ` <HE1PR05MB47940ED4E5FDC0BADC54C8E78BE80@HE1PR05MB4794.eurprd05.prod.outlook.com>
[not found] ` <DB6PR0402MB2760CEEABA9F52CDEB27C1DB88E80@DB6PR0402MB2760.eurprd04.prod.outlook.com>
[not found] ` <HE1PR05MB47944761ED6A26D3E2CE15868BE40@HE1PR05MB4794.eurprd05.prod.outlook.com>
[not found] ` <alpine.DEB.2.21.2011161656080.20906@sstabellini-ThinkPad-T480s>
[not found] ` <HE1PR05MB4794569AC67109AF8B6517268BE20@HE1PR05MB4794.eurprd05.prod.outlook.com>
2020-11-17 23:53 ` AW: AW: AW: AW: Xen data from meta-virtualization layer Stefano Stabellini
2020-11-18 12:03 ` Rahul Singh [this message]
2020-11-18 12:23 ` Julien Grall
2020-11-22 22:55 ` AW: " Leo Krueger
2020-11-23 11:41 ` Rahul Singh
2020-11-23 18:41 ` Julien Grall
2020-11-23 22:31 ` AW: " Leo Krueger
2020-11-23 18:27 ` AW: AW: AW: AW: " Julien Grall
2020-11-24 23:11 ` AW: " Leo Krueger
2020-11-25 2:14 ` Stefano Stabellini
2022-02-04 13:58 ` Michael Walle
2022-02-04 21:11 ` Stefano Stabellini
2022-02-04 22:42 ` Michael Walle
2022-02-04 23:29 ` Julien Grall
2022-02-04 23:59 ` Michael Walle
2022-02-05 12:41 ` Julien Grall
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=B8CEC628-41EB-44F4-BF72-540C42BFA119@arm.com \
--to=rahul.singh@arm.com \
--cc=Bertrand.Marquis@arm.com \
--cc=brucea@xilinx.com \
--cc=cornelia.bruelhart@zal.aero \
--cc=julien@xen.org \
--cc=leo.krueger@zal.aero \
--cc=oleksandr_andrushchenko@epam.com \
--cc=peng.fan@nxp.com \
--cc=stefano.stabellini@xilinx.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).