[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, Jul 14, 2015 at 3:20 PM, Ian Campbell <ian.campbell@xxxxxxxxxx> wrote: > 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. Yes, I do so. > > 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. I found the reason. There is some discrepancy with DT which is overlapping with GIC address space. It took a day to figure out. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |