The number of implemented CPU interfaces is one more than the value of this field.
Also avoid hardcoding the shift and remove useless mask. Signed-off-by: Julien Grall <julien.gr...@linaro.org> Acked-by: Ian Campbell <ian.campb...@citrix.com> --- This patch should be backported to Xen 4.4 and Xen 4.5. Although this patch won't apply directly for Xen 4.4 and may require to define GICD_TYPE_CPUS_SHIFT if "xen/arm: vgic-v3: Correctly set GICD_TYPER.CPUNumber" is not backported. Changes in v2: - Add Ian's ack - Fix typoes --- xen/arch/arm/vgic-v2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/arch/arm/vgic-v2.c b/xen/arch/arm/vgic-v2.c index 515faf7..5faef12 100644 --- a/xen/arch/arm/vgic-v2.c +++ b/xen/arch/arm/vgic-v2.c @@ -55,7 +55,7 @@ static int vgic_v2_distr_mmio_read(struct vcpu *v, mmio_info_t *info) if ( dabt.size != DABT_WORD ) goto bad_width; /* No secure world support for guests. */ vgic_lock(v); - *r = ( (v->domain->max_vcpus << 5) & GICD_TYPE_CPUS ) + *r = ( ((v->domain->max_vcpus - 1) << GICD_TYPE_CPUS_SHIFT) ) |( ((v->domain->arch.vgic.nr_spis / 32)) & GICD_TYPE_LINES ); vgic_unlock(v); return 1; -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel