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

Re: [Xen-devel] [PATCH v2 4/5] xen/domain: Allocate d->vcpu[] earlier during domain_create()



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/

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?

+        break;
+#endif
+
+    default:
+        return 0;
+    }
+
+    return min_t(unsigned int, MAX_VIRT_CPUS, max_vcpus);

How about moving this check in the common code?

Cheers,

--
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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