|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH V4 6/8] xen/arm: Set 'reg' of cpu node for dom0 to match MPIDR's affinity
Hi Chen,
On 28/05/15 11:15, Chen Baozi wrote:
> From: Chen Baozi <baozich@xxxxxxxxx>
>
> According to ARM CPUs bindings, the reg field should match the MPIDR's
> affinity bits. We will use AFF0 and AFF1 when constructing the reg value
> of the guest at the moment, for it is enough for the current max vcpu
> number.
>
> Signed-off-by: Chen Baozi <baozich@xxxxxxxxx>
> ---
> xen/arch/arm/domain_build.c | 14 +++++++++++---
> 1 file changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index a156de9..5591d82 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -712,6 +712,7 @@ static int make_cpus_node(const struct domain *d, void
> *fdt,
> char buf[15];
> u32 clock_frequency;
> bool_t clock_valid;
> + uint32_t mpidr_aff;
>
> DPRINT("Create cpus node\n");
>
> @@ -761,9 +762,16 @@ static int make_cpus_node(const struct domain *d, void
> *fdt,
>
> for ( cpu = 0; cpu < d->max_vcpus; cpu++ )
> {
> - DPRINT("Create cpu@%u node\n", cpu);
> + /*
> + * According to ARM CPUs bindings, the reg field should match
> + * the MPIDR's affinity bits. We will use AFF0 and AFF1 when
> + * constructing the reg value of the guest at the moment, for it
> + * is enough for the current max vcpu number.
> + */
> + mpidr_aff = vcpuid_to_vaffinity(cpu);
> + DPRINT("Create cpu@%x node\n", mpidr_aff);
I would print both the "logical CPUID" and the MPIDR. It will be easier
for debugging.
>
> - snprintf(buf, sizeof(buf), "cpu@%u", cpu);
> + snprintf(buf, sizeof(buf), "cpu@%x", mpidr_aff);
Changing cpu@ is not necessary.
> res = fdt_begin_node(fdt, buf);
> if ( res )
> return res;
> @@ -776,7 +784,7 @@ static int make_cpus_node(const struct domain *d, void
> *fdt,
> if ( res )
> return res;
>
> - res = fdt_property_cell(fdt, "reg", cpu);
> + res = fdt_property_cell(fdt, "reg", mpidr_aff);
> if ( res )
> return res;
>
>
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 |