vmbase_example: Clarify that PageTable is dropped

The code calls init_page_table() at some point and, based on the name of
the function and when it gets called (right before vmbase_example
accesses the PCI BARs), it seems to be to configure the page tables in
use. However, the PageTable struct is local to the function and gets
dropped when it returns. As a result, TTBR0_EL1 (which was reprogrammed
by page_table.activate()) reverts back to its previous value, which was
the hard-coded page tables in idmap.S!

The reason why the accesses to the PCI BAR or (right before) to the DT
don't result in page faults is because they respectively fall in the
DEVICE_REGION ([0; 1Gib[) and dtb_region, both of which are already
mapped in idmap.S.

Instead, keep the code unmodified but explicitly show that we're
dropping the page_table struct and mention it in a comment.

No functional change intended.

Test: atest vmbase_example.integration_test
Change-Id: Iaa2b21f42dc9afcebe2192fe7fdcfc4df80d01e8
1 file changed
tree: de73f1a52b6825f8323a2d6435532db0f8c0828a
  1. android/
  2. build/
  3. docs/
  4. guest/
  5. libs/
  6. tests/
  7. .clang-format
  8. .gitignore
  9. Android.bp
  10. dice_for_avf_guest.cddl
  11. OWNERS
  12. PREUPLOAD.cfg
  13. README.md
  14. rustfmt.toml
  15. 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: