[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC 2/4] xen/arm64: increase MAX_VIRT_CPUS to 128 on arm64



Hi Chen,

On 14/05/15 15:14, Chen Baozi wrote:
> From: Chen Baozi <baozich@xxxxxxxxx>
> 
> GIC-500 supports up to 128 cores in a single SoC. Since the
> redistributor register map is no longer set by fixed size, which limits
> the number of vcpu, we increase MAX_VIRT_CPUS to 128 and remove the
> corresponding restriction.
> 
> Signed-off-by: Chen Baozi <baozich@xxxxxxxxx>
> ---
>  xen/arch/arm/vgic-v3.c       | 3 ---
>  xen/include/asm-arm/config.h | 4 ++++
>  2 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c
> index a0c1de9..83e7344 100644
> --- a/xen/arch/arm/vgic-v3.c
> +++ b/xen/arch/arm/vgic-v3.c
> @@ -906,7 +906,6 @@ static int vgic_v3_distr_mmio_write(struct vcpu *v, 
> mmio_info_t *info)
>          rank = vgic_rank_offset(v, 64, gicd_reg - GICD_IROUTER,
>                                  DABT_DOUBLE_WORD);
>          if ( rank == NULL ) goto write_ignore;
> -        BUG_ON(v->domain->max_vcpus > 8);

This was here to catch bump of MAX_VIRT without adapting the vGIC code.

The current vGICv3 is not supporting more than 16 vCPUs because it only
cares about AFF0.

>          new_irouter = *r;
>          vgic_lock_rank(v, rank, flags);
>  
> @@ -1203,8 +1202,6 @@ static int vgic_v3_domain_init(struct domain *d)
>          d->arch.vgic.nr_regions = GUEST_GICV3_RDIST_REGIONS;
>          d->arch.vgic.rdist_stride = GUEST_GICV3_RDIST_STRIDE;
>  
> -        /* The first redistributor should contain enough space for all CPUs 
> */
> -        BUILD_BUG_ON((GUEST_GICV3_GICR0_SIZE / GUEST_GICV3_RDIST_STRIDE) < 
> MAX_VIRT_CPUS);

I'd like to keep this BUILD_BUG_ON. It ensures that we reserved enough
space in the guest layout for the redistributors.

Regards,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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