All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.