Changes to cpu_mask in octeon_mp.c
Andrew Duane
aduane at juniper.net
Mon Jun 20 17:24:01 UTC 2011
I'm merging in some changes that were recently made to octeon_mp.c, and want to clean it up. I had changed the platform_cpu_mask to return the Cavium hardware register, rather than octeon_bootinfo->core_mask. This was part of my cleanup to remove octeon_bootinfo from anywhere besides the boot code (for bootstrap agnosticity). I was a little uncomfortable with returning ALL cores that existed, in case core_mask was set to some sparse mask. I see in the log comments that this very topic was discussed.
I can put in a check to see if octeon_bootinfo supplied a core_mask at boot time, and mask the hardware register with that. IIRC, Cavium didn't really say whether having non-contiguous cores was a possibility (e.g. a 12 core CPU where 1 or 2 cores failed DVT and were masked out and sold as a 10-core).
If this is a concern, I will figure something out for my octeon_mp.c; octeon_bootinfo will no longer exist outside the octeon_machdep.c file.
BTW, Oleksandr had said he had committed my version, but the merge seems to be broken here which indicates he didn't?
...................................
Andrew Duane
Juniper Networks
o +1 978 589 0551
m +1 603-770-7088
aduane at juniper.net
More information about the freebsd-mips
mailing list