[roll] Roll fuchsia [fbl] Subset of std::atomic_ref for integral types

Introduce a subset of std::atomic_ref for integral types.
atomic_ref allows wrapping objects that already exist, for example
per-CPU counters, such that C++ atomic operations can be applied to
existing objects.

fbl::atomic_ref follows std::atomic_ref, but is only implemented
for integral types and omits wait() / notify_one() / notify_all().

Original-Bug: 47117 Use only ktl::atomic in the kernel
Original-Bug: 61451 Kernelmode Concurrency / Thread Sanitizer for Zircon
Original-Bug: 64176 X86 mmu should use atomic operations to manipulate page table entries

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/441097
Original-Revision: fc8fcb7b70e734101c673a41cdc724825c8ea6ac
GitOrigin-RevId: c497e89b87e0388316e8a95d876be2fc625aea7a
Change-Id: Ib4c364311f0aab2f4949f83319c56ed95b1fcdde
1 file changed
tree: d538c0e53651706376d00cbef69b2cca4a5f45d6
  1. garnet/
  2. infra/
  3. peridot/
  4. third_party/
  5. topaz/
  6. zircon/
  7. flower
  8. jiri.lock
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.