Fix TLB invalidation

Add synchronization barriers and use the fix TLBI calls when
invalidating single VA entries. TLBI instructions expect the virtual
address shifted right by 12 bits which was missing from the
implementation.

Signed-off-by: Imre Kis <imre.kis@arm.com>
Change-Id: I413f986fffbdecb875a8ddc3356bae61b73e51d8
3 files changed
tree: c45834b87927083b3c163d6cfe0967fa6cc07b81
  1. src/
  2. .gitignore
  3. Cargo.lock
  4. Cargo.toml
  5. dco.txt
  6. LICENSE-Apache-2.0
  7. LICENSE-MIT
  8. README.md
README.md

AArch64 Virtual Memory Translation Table Handler Library

Features

  • Allocate and map data initialized range
  • Allocate and map zero initialized range
  • Map physical address range
  • Unmap virtual address range
  • Query phyisical address of virtual address
  • Set memory access rights

Translation regimes

  • EL1&0 stage 1 Upper/Lower VA ranges
  • EL2&0 stage 1 Upper/Lower VA ranges (VHE)
  • EL2 stage 1
  • EL3 stage 1

Translation granules

  • 4k
  • 16k
  • 64k

Copyright 2024-2025 Arm Limited and/or its affiliates open-source-office@arm.com