Store all VMs together.

In preparation for the primary VM becoming less special, particularly in
the context of IPC where any VM will be able to talk to any other VM.
The primary VM takes ID 0 and the secondary VMs take the IDs from 1.

`hf_vm_get_count()` now returns the total number of VMs including the
primary.

`hf_rpc_request()` block reflexive calls as there is no good reason for
them and the error has the chance of catching bugs in the calling VM.

Change-Id: Ic95ef0ab8b967bbbd3232c207c53074cff8e138d
12 files changed
tree: f972e8baa2c48d94d5df27dad9f3c6196b43182f
  1. build/
  2. docs/
  3. driver/
  4. inc/
  5. kokoro/
  6. src/
  7. test/
  8. third_party/
  9. .clang-format
  10. .clang-tidy
  11. .gitignore
  12. .gitmodules
  13. .gn
  14. BUILD.gn
  15. Makefile
  16. README.md
README.md

Hafnium

go/hafnium

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

Further details are available in the design doc.

Get in touch and keep up-to-date at g/hafnium-eng.

Getting started

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