[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 |