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)
Sun, Dec 1, 11:57 AM
Unknown Object (File)
Mon, Nov 25, 11:26 PM
Unknown Object (File)
Mon, Nov 25, 10:52 PM
Unknown Object (File)
Nov 23 2024, 2:35 AM
Unknown Object (File)
Nov 22 2024, 8:07 PM
Unknown Object (File)
Nov 22 2024, 6:11 PM
Unknown Object (File)
Nov 19 2024, 2:46 PM
Unknown Object (File)
Nov 19 2024, 2:29 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.