pvmfw: Parse cpu-map DT node for the guest

Support a subset of all possible topologies[*] where the guest sees a
set of clusters of cores with the usual read-then-patch approach. Note
that no separate validation is required as parsing ensures that the
nodes within a cluster properly start from 0 and are contiguous (same
for clusters) and that they point to valid CPU nodes. Extra properties,
if any are ignored.

Add labels to the cpu nodes so that DTC generates phandles for them,
which pvmfw can then use when patching the cpu-map node in the template
DT.

[*]: https://www.kernel.org/doc/Documentation/devicetree/bindings/cpu/cpu-topology.txt

Bug: 284369518
Test: m pvmfw
Change-Id: Ia70a73545b1740a3343ce7f0e4549da456cd6d55
2 files changed
tree: f90197b5ccbeb442213b9a40757334c1af2d5fda
  1. apex/
  2. apkdmverity/
  3. authfs/
  4. compos/
  5. demo/
  6. demo_native/
  7. docs/
  8. encryptedstore/
  9. javalib/
  10. launcher/
  11. libs/
  12. microdroid/
  13. microdroid_manager/
  14. pvmfw/
  15. rialto/
  16. service_vm/
  17. tests/
  18. virtualizationmanager/
  19. virtualizationservice/
  20. vm/
  21. vm_payload/
  22. vmbase/
  23. vmclient/
  24. zipfuse/
  25. .clang-format
  26. .gitignore
  27. Android.bp
  28. OWNERS
  29. PREUPLOAD.cfg
  30. README.md
  31. rustfmt.toml
  32. TEST_MAPPING
README.md

Android Virtualization Framework (AVF)

Android Virtualization Framework (AVF) provides secure and private execution environments for executing code. AVF is ideal for security-oriented use cases that require stronger isolation assurances over those offered by Android’s app sandbox.

Visit our public doc site to learn more about what AVF is, what it is for, and how it is structured. This repository contains source code for userspace components of AVF.

If you want a quick start, see the getting started guideline and follow the steps there.

For in-depth explanations about individual topics and components, visit the following links.

AVF components:

AVF APIs:

How-Tos: