[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 |