vmbase: Use heap for non-protected SHARED_POOL

On non-protected platforms, buffers shared with devices (i.e. the host)
may be located on the heap as there are no security constraints given
that the host already has full access to guest memory. As the PCI/VirtIO
drivers expect SHARED_POOL to have been initialized and as the
init_{dynamic,static}_shared_pool() functions aren't appropriate for
non-protected VMs, provide a third method allowing clients to signal
that they want SHARED_POOL to be initialized to simply wrap the heap.

Use this mechanism in Rialto.

Test: atest DebugPolicyHostTests#testNoAdbInDebugPolicy_withDebugLevelNone_boots
Test: atest rialto_test vmbase_example.integration_test
Change-Id: I7098c8dfd3a5f2f447763f5f43ba880f2d8b008f
2 files changed
tree: 745018465441f179e4f2f3a0dc3d375f85306cc1
  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. TEST_MAPPING
README.md

Virtualization

This repository contains userspace services related to running virtual machines on Android, especially protected virtual machines. See the getting started documentation and Microdroid README for more information.