]> git.proxmox.com Git - mirror_edk2.git/commit - ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
ArmPkg/ArmMmuLib: Reuse XIP MMU routines when splitting entries
authorArd Biesheuvel <ardb@kernel.org>
Sat, 24 Sep 2022 20:31:44 +0000 (22:31 +0200)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Wed, 19 Oct 2022 09:07:13 +0000 (09:07 +0000)
commit31b16384688df9ce0e8f59021fd667e47d7d3972
tree3da52bb317df0d359da57836465e77c0c7f1cd93
parent999c53e2caf4a97538c7960f8c2862098541ffb8
ArmPkg/ArmMmuLib: Reuse XIP MMU routines when splitting entries

In order to reduce the likelihood that we will need to rely on the logic
that disables and re-enables the MMU for updating a page table entry
safely, expose the XIP version of the helper routine via a HOB and use
it instead of the one that is copied into DRAM. Since the XIP copy is
already clean to the PoC, and will never end up getting unmapped during
a block entry split, we can use it safely without any cache maintenance,
and without running the risk of pulling the rug from under our feet when
updating an entry by going through an invalid mapping.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Leif Lindholm <quic_llindhol@quicinc.com>
ArmPkg/ArmPkg.dec
ArmPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c
ArmPkg/Library/ArmMmuLib/AArch64/ArmMmuPeiLibConstructor.c
ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
ArmPkg/Library/ArmMmuLib/ArmMmuPeiLib.inf