[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] ThunderX support in Xen
Hi Stefano, On 31/01/18 00:01, Stefano Stabellini wrote: > I am testing Xen support in ThunderX, but I am having some issues > booting Dom0 using Xen staging and the Ubuntu Xenial kernel (it has > CONFIG_XEN enabled). The trace is appened to this email. I am using the > device tree converted from /proc/device-tree on the running system > without Xen. Why do you need to convert the DT from /proc/device-tree? You should just rely on the one provided by the firmware directly. > [ 3.273098] Unable to handle kernel NULL pointer dereference at virtual > address 00000080 > [ 3.281254] pgd = ffff00000946d000 > [ 3.284721] [00000080] *pgd=00000000bfffe003, *pud=00000000bfffd003, > *pmd=0000000000000000 > [ 3.293059] Internal error: Oops: 96000004 [#1] SMP > [ 3.298001] Modules linked in: > [ 3.301127] CPU: 81 PID: 1 Comm: swapper/0 Not tainted 4.10.0-38-generic > #42~16.04.1-Ubuntu > [ 3.309564] Hardware name: cavium,thunder-88xx (DT) > [ 3.314492] task: ffff80007c573a00 task.stack: ffff80007c578000 > [ 3.320485] PC is at arm_smmu_device_cfg_probe+0x300/0x770 > [ 3.326039] LR is at arm_smmu_device_cfg_probe+0x25c/0x770 SMMU should not be assigned to the hardware domain. Cavium has a specific compatible for their SMMUs which is not in Xen yet. There was an attempt to add the compatible in Xen (see [1] which I didn't ack because the SMMU changes for Cavium were not added. Until the SMMU driver properly support Cavium's SMMU, we should blacklist them. When working on getting Xen booting on rochester{0,1} (Thunder-X in Osstest), I blacklist them with this small patch. I will clean-up it and send it on the ML: diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c index 155c952349..8b7fb0e12a 100644 --- a/xen/arch/arm/domain_build.c +++ b/xen/arch/arm/domain_build.c @@ -1182,6 +1182,7 @@ static int handle_node(struct domain *d, struct kernel_info *kinfo, DT_MATCH_TYPE("memory"), /* The memory mapped timer is not supported by Xen. */ DT_MATCH_COMPATIBLE("arm,armv7-timer-mem"), + DT_MATCH_COMPATIBLE("cavium,smmu-v2"), { /* sentinel */ }, }; static const struct dt_device_match timer_matches[] __initconst = The only other issues I found was when booting using Grub. I needed to bump the number of banks. By the way, if you haven't done it. I would highly recommend to upgrade to the latest firmware. Cheers, [1] https://lists.xen.org/archives/html/xen-devel/2017-06/msg02293.html -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |