Page MenuHomeFreeBSD

Implement atomic_testandset() for arm v6.
ClosedPublic

Authored by kib on Nov 9 2015, 8:21 AM.
Tags
Referenced Files
Unknown Object (File)
Dec 20 2023, 12:06 AM
Unknown Object (File)
Nov 25 2023, 11:27 AM
Unknown Object (File)
Nov 23 2023, 4:19 AM
Unknown Object (File)
Nov 15 2023, 7:19 PM
Unknown Object (File)
Nov 13 2023, 4:30 AM
Unknown Object (File)
Nov 10 2023, 6:13 PM
Unknown Object (File)
Nov 10 2023, 8:34 AM
Unknown Object (File)
Nov 8 2023, 6:20 PM
Subscribers

Details

Summary

I am not sure is it reasonable to have BIG_ENDIAN case for ARMv6, do we ever run or plan to run in the big endian mode ?

I have no intention to handle ARMv4 right now, unless somebody objects to implementing only ARMv6 support.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

kib retitled this revision from to Implement atomic_testandset() for arm v6..
kib updated this object.
kib edited the test plan for this revision. (Show Details)
kib added reviewers: ian, andrew, skra, mmel.
kib set the repository for this revision to rS FreeBSD src repository - subversion.
kib added a project: ARM.

I thing that we don't support BE for ARMv6+.

sys/arm/include/atomic-v6.h
610 ↗(On Diff #10053)

'p' is pointer and its not changed within asm block. Why is listed as output (read/write) argument?

kib edited edge metadata.

Specify the pointer as the input argument, relying on the memory clobber for the side-effects.
Remove big-endian case.

mmel edited edge metadata.
This revision is now accepted and ready to land.Nov 10 2015, 9:55 AM
This revision was automatically updated to reflect the committed changes.