I am learning AARCH64 and would like to know about the mpidr_el1 register and affinity levels. I have read the relevant sections in the programmer's guide but I am just not able to understand it.
how does the OS know on which core it's running on?
I have come to know that AFF0 (bits 0-7) in the mpidr_el1 register is very important and dictates core behaviour. What do we do with these bits? Do we need to set them to 1? What do we do with bits for AFF1-AFF3?
As to my understanding: AFF0 gives the core in the cluster, AFF1 the cluster and the rest ... ???