commit | c26e220ef2590b30c314375cba50dbf3e49292f9 | [log] [tgz] |
---|---|---|
author | Pierre-Clément Tosi <ptosi@google.com> | Fri Nov 01 23:12:23 2024 +0000 |
committer | Pierre-Clément Tosi <ptosi@google.com> | Wed Dec 04 21:22:54 2024 +0000 |
tree | 35dfbfb0fd045b6d2e38f57a4bc687435dded86c | |
parent | 229dd9d1e2f0b96fe55ecd5246674a9511c34bb1 [diff] |
vmbase: Introduce mem API & turn MEMORY private Stop allowing clients from accessing MEMORY directly, which will enable limiting the refactoring of memory management to libvmbase only. As a result, change the visibility of MemoryTracker and MEMORY to pub(crate). Expose the functionality currently needed by client as individual functions, that can be re-used between Rialto and pvmfw, de-duping some code. Again, this prepares the code for an in-vmbase only refactoring. Note that some of those functions will eventually be integrated into libvmbase's rust_entry(), simplifying clients. Where touching client code using aarch64_paging::VirtualAddress, make use of usize so that we make progress towards limiting the use of that crate to the aarch64-specific subset of vmbase only, for portability. Bug: 377276983 Test: m {pvmfw,rialto,vmbase_example_{bios,kernel}}_bin Test: atest rialto_test vmbase_example.integration_test Change-Id: Ic510dba126200d61ad3691dce415193a0055ef8e
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: