Enable MMU and caching in VM API tests

VM API tests are failing on real hardware because VMs are not seeing
data written by the hypervisor. The reason for this is that Hafnium has
data caching enabled while the test VMs do not. Solve this discrepancy
by enabling data caching in the VMs too, which requires enabling stage-1
MMU translation.

The entire address space is identity-mapped with read-write-execute
permisssions. Only GIC tests currently require custom device mappings.

Implementation shares ptable management code from src/mm.c and
src/arch/mm.c.

Bug: 138985026
Test: ./kokoro/ubuntu/build.sh
Change-Id: Ib9f599c448d70296a6ca869ddbb51abfcc55148d
19 files changed
tree: d6a6608140122d27a728406b9554ce9d9e7377cc
  1. .clang-format
  2. .clang-tidy
  3. .gitignore
  4. .gitmodules
  5. .gn
  6. .vscode/
  7. AUTHORS
  8. BUILD.gn
  9. CONTRIBUTING.md
  10. LICENSE
  11. Makefile
  12. README.md
  13. build/
  14. docs/
  15. driver/
  16. inc/
  17. kokoro/
  18. project/
  19. src/
  20. test/
  21. third_party/
README.md

Hafnium

Hafnium is a hypervisor, initially supporting aarch64 (64-bit ARMv8 CPUs).

Get in touch and keep up-to-date at hafnium-discuss@googlegroups.com.

Getting started

To jump in and build Hafnium, follow the getting started instructions.

If you want to contribute to the project, see details of how we accept contributions.

Documentation

More documentation is available on: