[roll] Roll fuchsia [kernel] Begin implementation of SpscBuffer

This CL introduces a new transactional, single-producer,
single-consumer ring buffer implementation called the SpscBuffer.

This CL contains mainly offset management code; specifically it:
1. Introduces the combined_offsets_, which stores the read and
   write pointer as a single 64-bit value.
2. Adds utility functions to split and re-combine the offsets.
3. Adds helper functions that advance either the read or write half
   of the combined pointer by a desired delta.

This CL also adds functions to initialize the backing storage
buffer, and establishes requirements around the buffer's size.

Notably, this CL does not implement the read or write operations.
Those will be implemented in a follow-up CL.

Original-Bug: 404539312
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1235159
Original-Revision: 8e06e31b1ed63f6ca6e5ecc3f153a3c964a623ac
GitOrigin-RevId: 0b56959099dbe961f6705f42aef46a144d7e2491
Change-Id: I76e11ffcfc0881b384bb3dce0e47244d3e2019f7
1 file changed
tree: 144beb7b784a054d15dee2612a1beab76e4cca07
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. toolchain
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 in one of the communication channels documented at get involved.

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.