[roll] Roll fuchsia [kernel][fasttime] Implement libfasttime

Adds a new kernel library called libfasttime that allows callers to
retrieve ticks and compute CLOCK_MONOTONIC without having to make a
a syscall on platforms that support it. This library reads values
associated with time, such as the raw_ticks_to_ticks_offset and the
ratio between ticks and monotonic time, out of a new, read-only VMO
called the TimeValuesVmo. As implemented, this VMO is actually a child
slice of the vDSO VMO, which allows the time constants to be shared
between syscalls, vDSO functions, and libfasttime. A handle to this VMO
is provided to userboot, which then makes it available to userspace.

This library will be used by starnix to compute CLOCK_MONOTONIC from the
Linux vDSO, which does not have access to clock syscalls.

Original-Bug: 328306129
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1045493
Original-Revision: ecef40c9c97bcd18f3b1ae803bdc46f5fc835652
GitOrigin-RevId: bdf5d1254f7edb439a742274ee76eee6a2356e42
Change-Id: I31ebee17f983a56d4596d1bd0bd568705baaa563
1 file changed
tree: 44541fe2e39513ce45d398b8934a3c8f2f9b28a1
  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 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.