On 06/03/2019 11:42, Christophe de Dinechin wrote: > > >> On 6 Mar 2019, at 11:40, Andre Przywara <andre.przywara@xxxxxxx> wrote: >> >> At the moment we initialise the target *mask* of a virtual IRQ to the >> VCPU it belongs to, even though this mask is only defined for GICv2 and >> quickly runs out of bits for many GICv3 guests. > > Just for my education, “targets” seems defined as an u8, > so it looks like you were silently running out of bits before, no? Yes and no. For a GICv3 guest, this field is never evaluated as a u8, but as the u32 it is associated with (see arm_vgic.h). Past the 8th vcpu, we'd indeed end-up setting this field to zero. But PPIs are per CPU anyway, and we never evaluate the mpidr field for those. So yes, stupid bug, but a fairly harmless one. Thanks, M. -- Jazz is not dead. It just smells funny...