[kernel][timers] Introduce ZX_CLOCK_BOOT for timers and clocks

Introduces the ZX_CLOCK_BOOT clock_id and have kernel timers use it
internally. Note that this change does not expose boot timers to
userspace. It just adds the new clock_id, which replaces the usage of
the Timer::ReferenceTimeline enum. This will make the introduction of
the boot timeline to TimerDispatcher a bit cleaner.

This change also uses the new ZX_CLOCK_BOOT constant to create
time_boot, which is an alias of basic_time<ZX_CLOCK_BOOT>. This stronger
type then allows us to create a libzx wrapper for zx_clock_get_boot.

Bug: 328306129
Change-Id: I068a656fed16359ccdbcdb54a620c4635c6be6fe
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1126912
API-Review: Roland McGrath <mcgrathr@google.com>
Reviewed-by: Adam Barth <abarth@google.com>
API-Review: Adam Barth <abarth@google.com>
Fuchsia-Auto-Submit: Anirudh Mathukumilli <rudymathu@google.com>
Reviewed-by: John Grossman <johngro@google.com>
Reviewed-by: Roland McGrath <mcgrathr@google.com>
Commit-Queue: Anirudh Mathukumilli <rudymathu@google.com>
9 files changed
tree: 029587b0532a0e8e4369614373f8bcab188c78fd
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. infra/
  7. products/
  8. scripts/
  9. sdk/
  10. src/
  11. third_party/
  12. tools/
  13. zircon/
  14. .clang-format
  15. .clang-tidy
  16. .editorconfig
  17. .git-blame-ignore-revs
  18. .gitattributes
  19. .gitignore
  20. .gitmodules
  21. .gn
  22. .ignore
  23. analysis_options.yaml
  24. AUTHORS
  25. BUILD.gn
  26. CODE_OF_CONDUCT.md
  27. CONTRIBUTING.md
  28. fuchsia.code-workspace
  29. LICENSE
  30. OWNERS
  31. PATENTS
  32. pyproject.toml
  33. pyrightconfig.json
  34. README.md
  35. rustfmt.toml
  36. shac.star
  37. shac.textproto
README.md

Fuchsia

What is Fuchsia?

Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.

We expect everyone interacting with our project to respect our code of conduct.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.