|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH V4 8/8] xen/arm: make domain_max_vcpus return value according to vGIC version
Hi Chen,
On 28/05/15 11:15, Chen Baozi wrote:
> From: Chen Baozi <baozich@xxxxxxxxx>
>
> When a guest uses vGICv2, the maximum number of vCPU it can support
> should not be as many as MAX_VIRT_CPUS, which is 128 at the moment.
> So the domain_max_vcpus should return the value according to the vGIC
> version the domain uses.
>
> We didn't keep it as the old static inline form because it will break
> compilation when access the member of struct domain:
>
> In file included from xen/include/xen/domain.h:6:0,
> from xen/include/xen/sched.h:10,
> from arm64/asm-offsets.c:10:
> xen/include/asm/domain.h: In function âdomain_max_vcpusâ:
> xen/include/asm/domain.h:266:10: error: dereferencing pointer to incomplete
> type
> if (d->arch.vgic.version == GIC_V2)
> ^
>
> Signed-off-by: Chen Baozi <baozich@xxxxxxxxx>
> ---
> xen/arch/arm/domain.c | 6 ++++++
> xen/include/asm-arm/domain.h | 5 +----
> xen/include/asm-arm/gic.h | 3 +++
> 3 files changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> index 0cf147c..78b77b1 100644
> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -890,6 +890,12 @@ void vcpu_block_unless_event_pending(struct vcpu *v)
> vcpu_unblock(current);
> }
>
> +unsigned int domain_max_vcpus(const struct domain *d)
> +{
> + return ((d->arch.vgic.version == GIC_V2) ?
> + GICV2_MAX_CPUS : GICV3_MAX_CPUS);
We try to get the common code vgic agnostic. With this solution every
time a new vGIC driver is added you have to modify domain_max_vcpus.
As suggested on a previous version, I would prefer to extend the
vgic_ops to store the maximum number of VCPU handled by the vGIC.
Regards,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |