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