On Mon, Sep 28, 2015 at 2:13 AM, Peter Maydell <peter.mayd...@linaro.org> wrote: > On 27 September 2015 at 22:28, Peter Crosthwaite > <crosthwaitepe...@gmail.com> wrote: >> Hi Peter, >> >> I am looking at this: >> >> static void arm_cpu_initfn(Object *obj) >> { >> ... >> Aff1 = cs->cpu_index / ARM_CPUS_PER_CLUSTER; >> Aff0 = cs->cpu_index % ARM_CPUS_PER_CLUSTER; >> cpu->mp_affinity = (Aff1 << ARM_AFF1_SHIFT) | Aff0; >> >> >> Should we push this up to the machine model? I am trying to fix a >> machine where Aff1 of the one and only cluster is non-zero. The kernel >> SMP support barfs when Aff1 is mismatched to whats in the DTB (CPU reg >> property). >> >> I think this modulo 8 starting from 0:0 policy might be specific to >> mach-virt? > > Yeah, it should be a CPU property if you need it to be something > different. I think we just left it as a hardcoded thing until > somebody needed it to be different. > > NB that as the comment says KVM currently imposes its own numbering > anyway -- if you care about that you need to get the kernel to > support having userspace tell it about affinity numbering. >
Not worrying about KVM yet, but I think pushing this up to virt shouldn’t interfere with that work anyway. Regards, Peter > thanks > -- PMM