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? Regards, Peter