On 14/11/2018 18:59, Julien Grall wrote:
> Hi Andrew,
>
> On 12/11/2018 16:16, Andrew Cooper wrote:
>> The ARM code has a chicken-and-egg problem. One of the vGIC_v3
>> emulations
>
> NIT: s/vGIC_v3/vGICv3/
Will fix.
>
>> diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
>> index 5a4f082..892445e 100644
>> --- a/xen/arch/arm/vgic.c
>> +++ b/xen/arch/arm/vgic.c
>> @@ -667,9 +667,27 @@ void vgic_free_virq(struct domain *d, unsigned
>> int virq)
>> clear_bit(virq, d->arch.vgic.allocated_irqs);
>> }
>> -unsigned int vgic_max_vcpus(const struct domain *d)
>> +unsigned int vgic_max_vcpus(unsigned int domctl_vgic_version)
>> {
>> - return min_t(unsigned int, MAX_VIRT_CPUS,
>> d->arch.vgic.handler->max_vcpus);
>> + unsigned int max_vcpus;
>> +
>> + switch ( domctl_vgic_version )
>> + {
>> + case XEN_DOMCTL_CONFIG_GIC_V2:
>> + max_vcpus = 8;
>> + break;
>> +
>> +#ifdef CONFIG_GICV3
>> + case XEN_DOMCTL_CONFIG_GIC_V3:
>> + max_vcpus = 4092;
>
> The previous case was using 4096. Also, can you move the comment to
> keep the rationale for the number?
Please see the posted v3. This was a straight typo.
>
>> + break;
>> +#endif
>> +
>> + default:
>> + return 0;
>> + }
>> +
>> + return min_t(unsigned int, MAX_VIRT_CPUS, max_vcpus);
>
> How about moving this check in the common code?
Can do.
~Andrew
_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel