Page MenuHomeFreeBSD

Limit ofw_cpu_early_foreach to CPUs only
ClosedPublic

Authored by wma_semihalf.com on Jul 27 2015, 8:02 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, May 4, 2:28 PM
Unknown Object (File)
Thu, May 2, 10:10 PM
Unknown Object (File)
Tue, Apr 30, 6:40 PM
Unknown Object (File)
Mon, Apr 29, 6:56 PM
Unknown Object (File)
Sat, Apr 27, 8:27 PM
Unknown Object (File)
Fri, Apr 26, 12:42 AM
Unknown Object (File)
Thu, Apr 25, 11:29 PM
Unknown Object (File)
Thu, Apr 25, 6:01 PM
Subscribers

Details

Summary

On some platforms, the /cpus entry contains cpu-to-cluster
map which deffinitely is not a CPU device. Its presence was
causing incrementing of "id" variable and reporting more
CPUs available than it should.
To make "id" valid, increment it only when an entry really
is a CPU.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

wma_semihalf.com retitled this revision from to Limit ofw_cpu_early_foreach to CPUs only.
wma_semihalf.com updated this object.
wma_semihalf.com edited the test plan for this revision. (Show Details)
wma_semihalf.com set the repository for this revision to rS FreeBSD src repository - subversion.

I'm not sure we need a goto in the loop, finding the next id is simple to do when we know we have a cpu node.

sys/dev/ofw/ofw_cpu.c
301–314
u_int next_id;
...
next_id = 0;
...
for (child = OF_child(node); child != 0; child = OF_peer(child), id = next_id) {
311
next_id++;
324

Then revert this

332

And this

336

etc.

wma_semihalf.com edited edge metadata.
wma_semihalf.com removed rS FreeBSD src repository - subversion as the repository for this revision.
andrew edited edge metadata.

Just need to fix the minor style issue before committing.

sys/dev/ofw/ofw_cpu.c
301

This line will need to be split as it was already at 80 characters.

This revision is now accepted and ready to land.Jul 28 2015, 8:50 AM
This revision was automatically updated to reflect the committed changes.