Add alignment macros.

Introduces align_up, align_down and is_aligned macros that use compiler
builtins if available.
Note: when we fallback to the non-builtin case we could cast back from
uintptr_t to the original type using __typeof() if we accept the
non-standard extension.

Change-Id: Ie0c56f19cb0edc8a211d8c1182b9af5eb329cd8c
6 files changed
tree: ca108d733b92c6f91fe0d7dfc5b2c18c2e1fcbe0
  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.