xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Ian Campbell <ian.campbell@citrix.com>
To: Vijay Kilari <vijay.kilari@gmail.com>
Cc: Wei Liu <Wei.Liu2@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Prasun Kapoor <Prasun.Kapoor@caviumnetworks.com>,
	manish.jaggi@caviumnetworks.com,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Julien Grall <julien.grall@citrix.com>,
	Stefano Stabellini <stefano.stabellini@citrix.com>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: Requesting for freeze exception for ARM/ITS patches
Date: Tue, 14 Jul 2015 10:50:24 +0100	[thread overview]
Message-ID: <1436867424.25044.53.camel@citrix.com> (raw)
In-Reply-To: <CALicx6tUhcc+8tQMdBVZatGobDckqt5=uUextxi=uZPeCCfb6A@mail.gmail.com>

On Tue, 2015-07-14 at 14:54 +0530, Vijay Kilari wrote:
> I am trying to boot latest staging Xen branch on ThunderX with ITS patches.
> 
> I face below issues with above [1] patch series
> 
> 1)  If pcie support only MSI, then INT mapping is not specified in DT. However
>   the below code returns error if INT mapping is not found and does not map.
> In ThunderX INT mapping is not specified for pcie nodes.
> 
> static int map_device_children(struct domain *d,
>                                 const struct dt_device_node *dev)
> {
>      int ret;
> 
>      if ( dt_device_type_is_equal(dev, "pci") )
>      {
>          DPRINT("Mapping children of %s to guest\n", dt_node_full_name(dev));
> 
>          ret = dt_for_each_irq_map(dev, &map_dt_irq_to_domain, d);
>          if ( ret < 0 )
>              return ret;  // Returns error here

Hrm, I suppose dt_for_each_irq_map ought to return success if the device
in question has no interrupt-map at all.

At first glance it seems like:
    if ( imap == NULL )
    {
        dt_dprintk(" -> no map, ignoring\n");
        goto fail;
    }
Should become:
    if ( imap == NULL )
    {
        dt_dprintk(" -> no map, ignoring\n");
        return 0;
    }

Can you test that and if it is correct submit it as a patch please.

> ...
> }
> 
> 2) Dom0 fails to boot with GICv3. It hangs just after GICv3 initialization.
> 
> To know which is last distributor/re-distributor registers read, I
> have added debug prints
> in GICD & GICR mmio handlers in Xen. But with your patches Linux driver never
> traps to Xen to read/write GICD/GICR registers. If I revert back this
> patch series,
> I see the traps.

Where "this patch series" is this:

$ git log --oneline d7f132c762d1359f03b2b5b89406daf39d8aefc0..467e5cbb2ffc5e0994c4cb584b7ace6a01a727af 
467e5cb xen: arm: consolidate mmio and irq mapping to dom0
f65399f xen: arm: Import of_bus PCI entry from Linux (as a dt_bus entry)
864f82a xen: arm: map child MMIO and IRQs to dom0 for PCI bus DT nodes.
eed5e39 xen: arm: drop redundant extra call to vgic_reserve_virq
f9d08f4 xen: dt: add dt_for_each_range helper
5cefb30 xen: dt: add dt_for_each_irq_map helper
$

?

That's rather strange, nothing here should be interacting with the vgic
trapping for GICD/GICR.

About the only thing I can imagine is that something has incorrectly
created a p2m mapping over the GICD/GICR addresses. If that is the case
then it ought to be pretty apparent from the logs with DT_DEBUG enabled
in domain_build.c.

If it isn't apparent from the debug log then please could you bisect
down to a specific patch.

Ian.

  reply	other threads:[~2015-07-14  9:50 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-10 10:46 Requesting for freeze exception for ARM/ITS patches Vijay Kilari
2015-07-10 11:01 ` Jan Beulich
2015-07-10 15:52   ` Ian Campbell
2015-07-11  6:36     ` Julien Grall
2015-07-14  9:24       ` Vijay Kilari
2015-07-14  9:50         ` Ian Campbell [this message]
2015-07-14  9:59           ` Vijay Kilari
2015-07-10 16:07 ` Ian Campbell
2015-07-11  7:18   ` Julien Grall
2015-07-11  9:21     ` Ian Campbell
2015-07-13 21:58       ` Julien Grall
2015-07-14 10:02     ` Vijay Kilari
2015-07-14 13:31       ` Ian Campbell
2015-07-13 13:55 ` Wei Liu
2015-07-13 13:56   ` Wei Liu
2015-07-13 17:24   ` Stefano Stabellini
2015-07-13 21:50     ` Julien Grall
2015-07-14  7:49     ` Ian Campbell
2015-07-14 10:51       ` Stefano Stabellini
2015-07-16 14:08 ` Wei Liu

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=1436867424.25044.53.camel@citrix.com \
    --to=ian.campbell@citrix.com \
    --cc=JBeulich@suse.com \
    --cc=Prasun.Kapoor@caviumnetworks.com \
    --cc=Wei.Liu2@citrix.com \
    --cc=julien.grall@citrix.com \
    --cc=manish.jaggi@caviumnetworks.com \
    --cc=stefano.stabellini@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=vijay.kilari@gmail.com \
    --cc=xen-devel@lists.xen.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).