Save/restore mdcr_el2 with a vCPU system registers

Monitor Debug Configuration Register (EL2) configures performance monitor
extensions, which include debug as well as performance registers.  Trapping
on certain accesses to these registers will likely vary between VMs.

Make the code for saving/restoring register state when handling exceptions more
flexible.  ldp/stp indices must be in the range [-512, 504].  Use post-index
addressing to keep the base index register up to date.

Bug: 132422368

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

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

Documentation

More documentation is available on: