|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Requesting for freeze exception for ARM/ITS patches
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.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |