[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 5/5] Revert "xen/arm: vgic-v3: Delay the initialization of the domain information"
This reverts commit 703d9d5ec13a0f487e7415174ba54e0e3ca158db. The domain creation logic has been adjusted to set up d->max_vcpus early enough to be usable in vgic_v3_domain_init(). Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- CC: Stefano Stabellini <sstabellini@xxxxxxxxxx> CC: Julien Grall <julien.grall@xxxxxxx> --- xen/arch/arm/vgic-v3.c | 29 ++--------------------------- 1 file changed, 2 insertions(+), 27 deletions(-) diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c index b4476f3..e909502 100644 --- a/xen/arch/arm/vgic-v3.c +++ b/xen/arch/arm/vgic-v3.c @@ -1573,11 +1573,9 @@ static const struct mmio_handler_ops vgic_distr_mmio_handler = { .write = vgic_v3_distr_mmio_write, }; -static int vgic_v3_real_domain_init(struct domain *d); - static int vgic_v3_vcpu_init(struct vcpu *v) { - int i, rc; + int i; paddr_t rdist_base; struct vgic_rdist_region *region; unsigned int last_cpu; @@ -1586,19 +1584,6 @@ static int vgic_v3_vcpu_init(struct vcpu *v) struct domain *d = v->domain; /* - * This is the earliest place where the number of vCPUs is - * known. This is required to initialize correctly the vGIC v3 - * domain structure. We only to do that when vCPU 0 is - * initilialized. - */ - if ( v->vcpu_id == 0 ) - { - rc = vgic_v3_real_domain_init(d); - if ( rc ) - return rc; - } - - /* * Find the region where the re-distributor lives. For this purpose, * we look one region ahead as we have only the first CPU in hand. */ @@ -1660,7 +1645,7 @@ static inline unsigned int vgic_v3_max_rdist_count(struct domain *d) GUEST_GICV3_RDIST_REGIONS; } -static int vgic_v3_real_domain_init(struct domain *d) +static int vgic_v3_domain_init(struct domain *d) { struct vgic_rdist_region *rdist_regions; int rdist_count, i, ret; @@ -1763,16 +1748,6 @@ static int vgic_v3_real_domain_init(struct domain *d) return 0; } -static int vgic_v3_domain_init(struct domain *d) -{ - /* - * The domain initialization for vGIC v3 is delayed until the first vCPU - * is created. This because the initialization may require to know the - * number of vCPUs that is not known when creating the domain. - */ - return 0; -} - static void vgic_v3_domain_free(struct domain *d) { vgic_v3_its_free_domain(d); -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |