[roll] Roll fuchsia [kernel] Implement SpscBuffer reads and writes This CL finishes up the implementation of the SpscBuffer by adding support for reads and writes. The Read function is relatively straightforward in its behavior, but notably requires the caller to pass in a CopyOutFn. This argument allows the usage of different copy functions in different environments. Concretely, this allows use memcpy in the tests, and will allow us to use usercopy in the kernel. The Write operation is a little more complex, since it must be transactional in nature. To support this, logical Writes are split into three separate methods: 1. A Reserve method, which verifies that a slot of the requested size exists in the ring buffer and returns that slot as a Reservation object. 2. A Write method, called on the Reservation object, which actually writes data into the pre-reserved slot. 3. A Commit method, called on the Reservation object, which moves the write pointer forward and thus makes the write visible to reads. Original-Bug: 404539312 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1235160 Original-Revision: 4d890f51ebe9eb4157cb04f7a30172555233239e GitOrigin-RevId: 8eb7723b5bb596a25adef5b6ef864aba9860611e Change-Id: Iba0a26b374b2d143f287b0deb3a3a826b3985ade
This repository contains Fuchsia's Global Integration manifest files.
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.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.