[kernel][vm] Introduce VM hierarchy base type

This moves the references to the VMO hierarchy state as well as methods
for retriving the locks to a base type. The only actual effect this has
is that the memory layout of the VmObject struct is possibly different,
but otherwise there are no semantic changes.

Motivation for this is to prepare the way for additional objects to
be part of the VMO hierarchy and share the lock and other state,
without having to be based on VmObject.

Change-Id: I9b8c9a761cfdb45548a81538e18fc0eb8e2121e9
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/437340
Commit-Queue: Adrian Danis <adanis@google.com>
Reviewed-by: Rasha Eqbal <rashaeqbal@google.com>
Testability-Review: Rasha Eqbal <rashaeqbal@google.com>
3 files changed
tree: 9ee53b9b2d856225374db458e637a7863678861b
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. garnet/
  7. products/
  8. scripts/
  9. sdk/
  10. src/
  11. third_party/
  12. tools/
  13. zircon/
  14. .clang-format
  15. .clang-tidy
  16. .gitattributes
  17. .gitignore
  18. .gn
  19. .style.yapf
  20. AUTHORS
  21. BUILD.gn
  22. CODE_OF_CONDUCT.md
  23. CONTRIBUTING.md
  24. LICENSE
  25. OWNERS
  26. PATENTS
  27. README.md
  28. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

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.