[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 22/03/2019 16:19, Lukas Jünger wrote:
On 3/22/19 5:12 PM, Julien Grall wrote:

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?

If you don't mind, please send a patch.

Do you want to limit to 992 or 980 like the original code does?

I guess you mean 992 or 988. 988 is the maximum number of SPIs. In our case, we want maximum 1024 - 32 - 32 = 960 SPIs. The first 32 is to remove the last 32 interrupts, the second is to subtract the local IRQs.

So the number can either be 992 or 960 depending on where you want to place the min(). I am happy with either way.

In both case, you would want to write a comment on top explaining the reason for the limitation.

I am happy to guide you through the change if you need to.


OOI, which simulator are you using?

It's something based on QEMU, but the GICv2 model is from VCML (https://github.com/janweinstock/vcml).

Thank you!

Cheers,


--
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.