Page MenuHomeFreeBSD

Update parsing of the reg cpu property to help ARMv8.
ClosedPublic

Authored by andrew on Jan 19 2015, 11:54 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Apr 26, 7:58 AM
Unknown Object (File)
Fri, Apr 26, 7:58 AM
Unknown Object (File)
Feb 16 2024, 8:10 AM
Unknown Object (File)
Feb 16 2024, 8:10 AM
Unknown Object (File)
Feb 16 2024, 8:10 AM
Unknown Object (File)
Feb 16 2024, 7:26 AM
Unknown Object (File)
Feb 16 2024, 6:31 AM
Unknown Object (File)
Feb 16 2024, 5:30 AM
Subscribers

Details

Summary

On ARMv8 we will need to handle the case there are two cells in the reg
property. This updates the code to handle this case by reading the #address-cells
property in the parent, then using this to check if the data is valid.

As part of this we will be unable to use the reg property as the cpu id it
may not be part of a continuous range. On some ARM systems using multiple
clusters of cores there could be gaps as the reg value is encoded to store
the hierarchy. There are 8 bits at each level, but it is highly likely there
will be fewer than 256 cores in each cluster.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

andrew retitled this revision from to Update parsing of the reg cpu property to help ARMv8..
andrew updated this object.
andrew edited the test plan for this revision. (Show Details)
andrew added reviewers: ARM, PowerPC, nwhitehorn.
andrew added a subscriber: emaste.

Set the size of the cpulist softc

nwhitehorn edited edge metadata.

The patch looks good to me. Thanks for the reminder about the CPU id; most of the PowerPC code doesn't assume they are continuous (they aren't on many systems), but this erroneously does.

This revision is now accepted and ready to land.Jan 19 2015, 5:28 PM
andrew updated this revision to Diff 3294.

Closed by commit rS277491 (authored by @andrew).