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. thanks -- PMM