Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
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
AppPkg AppPkg/.../Python: Clean up and document how to escape the -# option. 2016-01-06 01:00:19 +00:00
ArmPkg ArmPkg/AArch64Mmu: disable MMU during page table manipulations 2016-04-14 18:01:52 +02:00
ArmPlatformPkg ArmPlatformPkg: Add PCD for Pl011 UART Interrupt 2016-04-01 16:45:54 +02:00
ArmVirtPkg ArmVirtPkg/VirtFdtDxe: remove Xenio handling and rename to VirtioFdtDxe 2016-04-13 17:26:07 +02:00
BaseTools BaseTools: fix the bug for [BuildOptions] of multiple workspace support 2016-04-14 12:58:11 +08:00
BeagleBoardPkg BeagleBoardPkg: Convert to build FatPkg from source 2016-04-07 20:45:39 +02:00
Conf EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
CorebootModulePkg CorebootModulePkg-CbParseLib: Fix bad reference in CbParseLib 2016-02-26 10:02:41 -08:00
CorebootPayloadPkg CorebootPayloadPkg: Convert to build FatPkg from source 2016-04-07 08:47:40 -07:00
CryptoPkg CryptoPkg: Fix the potential system hang issue 2016-03-15 09:04:20 +08:00
DuetPkg DuetPkg: Convert to build FatPkg from source 2016-04-08 13:47:31 +02:00
EdkCompatibilityPkg EdkCompatibilityPkg: SmmBaseHelper: remove set but unused variables 2016-03-25 10:52:13 +01:00
EdkShellBinPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EdkShellPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EmbeddedPkg EmbeddedPkg/AcpiLib: add GICD table init macro for ACPI 6.0 2016-04-14 12:56:34 +02:00
EmulatorPkg EmulatorPkg: Convert to always build FatPkg 2016-04-07 20:45:45 +02:00
FatBinPkg FatBinPkg: Update EBC/IA32/X64/IPF binaries 2015-08-28 03:14:25 +00:00
FatPkg FatPkg: Add NOOPT target in FatPkg.dsc 2016-04-06 23:22:43 -07:00
IntelFrameworkModulePkg IntelFrameworkModulePkg: Remove unused PCD/Protocol 2016-04-13 14:54:49 +08:00
IntelFrameworkPkg IntelFrameworkPkg/FrameworkUefiLib: implement EfiEventGroupSignal 2016-03-23 12:05:45 +01:00
IntelFspPkg IntelFspPkg: Add NOOPT target in IntelFspPkg.dsc 2016-01-21 02:14:43 +00:00
IntelFspWrapperPkg IntelFspWrapperPkg: PeiFspHobProcessLibSample: remove set but unused variables 2016-03-25 10:52:21 +01:00
MdeModulePkg MdeModulePkg S3SaveStateDxe: Add protocol usage for gEfiLockBoxProtocolGuid 2016-04-14 10:07:17 +08:00
MdePkg MdePkg: Add EFI Erase Block Protocol definitions 2016-04-13 10:42:19 +08:00
NetworkPkg NetworkPkg: Fix issue in Ip6Dxe SetData 2016-04-14 14:55:09 +08:00
Nt32Pkg Nt32Pkg: Convert to build FatPkg from source 2016-04-08 13:47:45 +02:00
Omap35xxPkg Omap35xxPkg: drop CpuExceptionHandlerLib library class resolution 2016-03-17 09:15:11 +01:00
OptionRomPkg OptionRomPkg: Ax88772b: Fixing register access issue in Apple Eth Adapter 2016-03-31 08:53:51 +08:00
OvmfPkg OvmfPkg/XenIoMmioLib: add missing MemoryAllocationLib dependency to INF 2016-04-13 17:26:06 +02:00
PcAtChipsetPkg PcAtChipsetPkg/PciHostBridge: Remove PciHostBridge driver 2016-03-29 11:22:07 +08:00
PerformancePkg PerformancePkg/Dp_App: Fix a memory leak issue in Dp. 2016-03-29 09:16:24 +08:00
QuarkPlatformPkg QuarkPlatformPkg/Readme.md: Move images to tianocore wiki 2016-01-31 19:22:57 +00:00
QuarkSocPkg QuarkSocPkg: Add /Oi option to let MemoryInit pass build. 2016-04-13 09:28:25 +08:00
SecurityPkg SecurityPkg: Update protocol usage in module INF files. 2016-04-13 14:52:58 +08:00
ShellBinPkg ShellBinPkg: Arm/AArch64 Shell binary update. 2016-02-09 16:34:14 +00:00
ShellPkg ShellPkg: Update Guid/Protocol usages in INF files. 2016-04-13 14:52:59 +08:00
SourceLevelDebugPkg SourceLevelDebugPkg/SmmDebugAgent: mMailboxPointer is used before set 2016-04-06 09:13:18 +08:00
StdLib StdLib/BsdSocketLib: Fix minor memory leak by freeing rrecp on error return. 2016-02-17 16:11:29 -08:00
StdLibPrivateInternalFiles StdLib: Clarify and improve comments. 2016-01-06 00:31:42 +00:00
UefiCpuPkg UefiCpuPkg: CpuIo2Dxe: optimize FIFO reads and writes of IO ports 2016-04-11 14:11:07 +02:00
UnixPkg UnixPkg: Remove UnixPkg files (It is replaced by EmulatorPkg) 2013-07-29 21:09:55 +00:00
Vlv2DeviceRefCodePkg Vlv2TbltDevicePkg/Vlv2DeviceRefCodePkg: 2015-11-10 07:47:29 +00:00
Vlv2TbltDevicePkg Vlv2TbltDevicePkg: Reference the PCD defined in MdeModulePkg 2016-04-13 14:54:48 +08:00
.gitignore EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
BuildNotes2.txt BaseTools: Updated BuildNotes URLs 2016-03-25 09:46:44 +08:00
Edk2Setup.bat BaseTools: Update Edk2Setup.bat to support multiple workspaces 2015-10-08 09:29:36 +00:00
Maintainers.txt Maintainers.txt: Update maintainers for ShellBinPkg 2016-02-10 14:45:52 +00:00
edksetup.bat Update edksetup.bat to check EDK_TOOLS_PATH before set it. 2016-04-11 16:20:28 +08:00
edksetup.sh BaseTools: Update edksetup.sh to support multiple workspaces 2015-10-08 09:29:56 +00:00