Update assembly code to simplify verification.

1. Use sub & cbnz instead of subs & b.ne, so that we don't have to model
the flags.
2. Always use the callstack explicitly, that is, always subtract from sp
before writing data.
3. Remove two instructions from the vcpu_switch path.

Change-Id: I04e05736e112ffc6b3c475ad79559069d8a0f4fd
1 file changed
tree: 7a0b60fc95847b5876abc126009f49f784d3e7c9
  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. CONTRIBUTING.md
  16. LICENSE
  17. Makefile
  18. 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.