Implement virtual timer for secondary VMs.

If the timer fires while the secondary VM is running, the physical
interrupt will go to the primary VM, which should then run the secondary
again. Hafnium will then inject the virtual timer interrupt
automatically, and mask the timer interrupt so it doesn't immediately go
back to the primary. Note that the secondary must clear this mask before
it can get another timer interrupt.

Bug: 117271574
Change-Id: If90a3c4fd133333713ad6bf7d6a3b515ae6fea6a
10 files changed
tree: 39ed13f53837dcd57f5a44f9ad54a21b171f4ee8
  1. build/
  2. docs/
  3. driver/
  4. inc/
  5. kokoro/
  6. project/
  7. src/
  8. test/
  9. third_party/
  10. .clang-format
  11. .clang-tidy
  12. .gitignore
  13. .gitmodules
  14. .gn
  15. BUILD.gn
  16. CONTRIBUTING.md
  17. LICENSE
  18. Makefile
  19. README.md
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.