|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] vgic initialization with maximum number of interrupt lines fails
Hi, On 3/22/19 5:12 PM, Julien Grall wrote: Hi, On 22/03/2019 15:39, Lukas Jünger wrote:On 3/22/19 4:20 PM, Julien Grall wrote:On 22/03/2019 13:30, Lukas Jünger wrote:I use Xen in an ARMv8 simulator for research purposes.I ran into the following problem during dom0 creation in vgic initialization.Bringup fails because -EINVAL is returned by the code below. xen/arch/arm/vgic.c in domain_vgic_init(): 132 nr_spis = ROUNDUP(nr_spis, 32); 133134 /* Limit the number of virtual SPIs supported to (1020 - 32) = 988 */135 if ( nr_spis > (1020 - NR_LOCAL_IRQS) ) 136 return -EINVAL;nr_spis comes from config->arch.nr_spis in xen/arch/arm/domain.c in arch_domain_create(): Ah, I see. Thanks for the input. This is why we limit to 992 interrupts. As Dom0 exposes the same number of interrupts as the host, this is an issue on platform where the GIC report 1024 interrupts. AFAIK, those platforms are only virtual, so my idea was to limit the number interrupts exposed to Dom0. Something like:dom0_cfg.arch.nr_spis = min(gic_number_lines(), 992) - 32; Does you platform have interrupts wired above 992?In my simulator I just reduced the number of interrupts reported to be available by the GICv2 model. This solves the issue for my use case.Thank you for the confirmation. So a patch like above in Xen should work for us. Should I submit a patch, or do you just patch this yourself? Do you want to limit to 992 or 980 like the original code does? OOI, which simulator are you using? It's something based on QEMU, but the GICv2 model is from VCML (https://github.com/janweinstock/vcml). Cheers, Thanks, Lukas Attachment:
smime.p7s _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |