audk/ArmPkg/Include/Library
Ard Biesheuvel 61b02ba1f2 ArmPkg/AArch64Mmu: disable MMU during page table manipulations
On ARM, manipulating live page tables is cumbersome since the architecture
mandates the use of break-before-make, i.e., replacing a block entry with
a table entry requires an intermediate step via an invalid entry, or TLB
conflicts may occur.

Since it is not generally feasible to decide in the page table manipulation
routines whether such an invalid entry will result in those routines
themselves to become unavailable, use a function that is callable with
the MMU off (i.e., a leaf function that does not access the stack) to
perform the change of a block entry into a table entry.

Note that the opposite should never occur, i.e., table entries are never
coalesced into block entries.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
2016-04-14 18:01:52 +02:00
..
ArmArchTimer.h ArmPkg: Move TimerDxe and ArmArchTimerLib to new ArmGenericTimerCounterLib 2014-09-09 16:10:18 +00:00
ArmCpuLib.h ARM Packages: Fixed line endings 2013-01-25 11:28:06 +00:00
ArmDisassemblerLib.h ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
ArmGenericTimerCounterLib.h ArmPkg: add ArmGenericTimerCounterLib interface 2014-09-09 16:04:39 +00:00
ArmGicArchLib.h ArmPkg: split off ArmGicArchLib from ArmGicLib 2015-07-28 20:44:44 +00:00
ArmGicLib.h ArmPkg: split off ArmGicArchLib from ArmGicLib 2015-07-28 20:44:44 +00:00
ArmHvcLib.h ArmPkg: Add ArmHvcLib 2014-09-10 18:46:23 +00:00
ArmLib.h ArmPkg/AArch64Mmu: disable MMU during page table manipulations 2016-04-14 18:01:52 +02:00
ArmSmcLib.h ArmPkg/ArmSmcLib: Fixed SMC helper functions 2014-08-04 14:18:13 +00:00
BdsLib.h ArmPkg/BdsLib: Remove Linux loader from BdsLib 2015-07-14 14:35:20 +00:00
DefaultExceptionHandlerLib.h ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
SemihostLib.h ArmPkg/SemihostLib: Add library functions 2014-10-27 10:38:18 +00:00
UncachedMemoryAllocationLib.h ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00