Page MenuHomeFreeBSD

Store mpidr as a 64-bit value on arm64
ClosedPublic

Authored by andrew on Aug 25 2022, 10:50 AM.
Tags
None
Referenced Files
F102569959: D36346.id109817.diff
Thu, Nov 14, 4:54 AM
F102569414: D36346.id109817.diff
Thu, Nov 14, 4:41 AM
Unknown Object (File)
Sat, Nov 2, 9:38 AM
Unknown Object (File)
Wed, Oct 23, 10:55 PM
Unknown Object (File)
Wed, Oct 23, 10:55 PM
Unknown Object (File)
Wed, Oct 23, 10:55 PM
Unknown Object (File)
Wed, Oct 23, 10:55 PM
Unknown Object (File)
Fri, Oct 18, 1:31 PM
Subscribers

Details

Summary

The mpidr register is 64 bit on arm64 and 32 bit on arm. Fix this by
extending the arm64 definition to include the top 32 bits.

To preserve KBI when MFCing split the value into two 32 bit values.
This will be cleaned up later only on main.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

bz added a subscriber: bz.
bz added inline comments.
sys/arm64/include/pcpu.h
52

In theory I'd prefer uint32_t over u_int but this seems to be common style here.

This revision is now accepted and ready to land.Aug 25 2022, 4:54 PM
sys/arm64/include/pcpu.h
52

It's in MD code so I'm happy to rely on it being a known width as it's only so I can MFC the change to 13. I intend to merge the two values in a follow up commit.

This revision was automatically updated to reflect the committed changes.