[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH V3 3/8] xen/arm: Use the new functions for vCPUID/vaffinity transformation
From: Chen Baozi <baozich@xxxxxxxxx> There are 3 places to change: * Initialise vMPIDR value in vcpu_initialise() * Find the vCPU from vMPIDR affinity information when accessing GICD registers in vGIC * Find the vCPU from vMPIDR affinity information when booting with vPSCI in vGIC Signed-off-by: Chen Baozi <baozich@xxxxxxxxx> --- xen/arch/arm/domain.c | 6 +----- xen/arch/arm/vgic-v3.c | 2 +- xen/arch/arm/vpsci.c | 2 +- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c index 2bde26e..0cf147c 100644 --- a/xen/arch/arm/domain.c +++ b/xen/arch/arm/domain.c @@ -501,11 +501,7 @@ int vcpu_initialise(struct vcpu *v) v->arch.sctlr = SCTLR_GUEST_INIT; - /* - * By default exposes an SMP system with AFF0 set to the VCPU ID - * TODO: Handle multi-threading processor and cluster - */ - v->arch.vmpidr = MPIDR_SMP | (v->vcpu_id << MPIDR_AFF0_SHIFT); + v->arch.vmpidr = MPIDR_SMP | vcpuid_to_vaffinity(v->vcpu_id); v->arch.actlr = READ_SYSREG32(ACTLR_EL1); diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c index 540f85f..ef9a71a 100644 --- a/xen/arch/arm/vgic-v3.c +++ b/xen/arch/arm/vgic-v3.c @@ -61,7 +61,7 @@ static struct vcpu *vgic_v3_irouter_to_vcpu(struct domain *d, uint64_t irouter) if ( irouter & GICD_IROUTER_SPI_MODE_ANY ) return d->vcpu[0]; - vcpu_id = irouter & MPIDR_AFF0_MASK; + vcpu_id = vaffinity_to_vcpuid(irouter); if ( vcpu_id >= d->max_vcpus ) return NULL; diff --git a/xen/arch/arm/vpsci.c b/xen/arch/arm/vpsci.c index 5d899be..1c1e7de 100644 --- a/xen/arch/arm/vpsci.c +++ b/xen/arch/arm/vpsci.c @@ -33,7 +33,7 @@ static int do_common_cpu_on(register_t target_cpu, register_t entry_point, register_t vcpuid; if( ver == XEN_PSCI_V_0_2 ) - vcpuid = (target_cpu & MPIDR_HWID_MASK); + vcpuid = vaffinity_to_vcpuid(target_cpu); else vcpuid = target_cpu; -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |