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>
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
| #/** @file
 | |
| #
 | |
| #  Copyright (c) 2016 Linaro Ltd. All rights reserved.
 | |
| #
 | |
| #  SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| #
 | |
| #
 | |
| #**/
 | |
| 
 | |
| [Defines]
 | |
|   INF_VERSION                    = 0x00010005
 | |
|   BASE_NAME                      = ArmMmuBaseLib
 | |
|   FILE_GUID                      = da8f0232-fb14-42f0-922c-63104d2c70bd
 | |
|   MODULE_TYPE                    = BASE
 | |
|   VERSION_STRING                 = 1.0
 | |
|   LIBRARY_CLASS                  = ArmMmuLib
 | |
| 
 | |
| [Defines.AARCH64]
 | |
|   CONSTRUCTOR                    = ArmMmuBaseLibConstructor
 | |
| 
 | |
| [Sources.AARCH64]
 | |
|   AArch64/ArmMmuLibCore.c
 | |
|   AArch64/ArmMmuLibReplaceEntry.S
 | |
| 
 | |
| [Sources.ARM]
 | |
|   Arm/ArmMmuLibConvert.c
 | |
|   Arm/ArmMmuLibCore.c
 | |
|   Arm/ArmMmuLibUpdate.c
 | |
|   Arm/ArmMmuLibV7Support.S   |GCC
 | |
| 
 | |
| [Packages]
 | |
|   ArmPkg/ArmPkg.dec
 | |
|   EmbeddedPkg/EmbeddedPkg.dec
 | |
|   MdePkg/MdePkg.dec
 | |
| 
 | |
| [LibraryClasses]
 | |
|   ArmLib
 | |
|   CacheMaintenanceLib
 | |
|   HobLib
 | |
|   MemoryAllocationLib
 | |
| 
 | |
| [Guids]
 | |
|   gArmMmuReplaceLiveTranslationEntryFuncGuid
 | |
| 
 | |
| [Pcd.ARM]
 | |
|   gArmTokenSpaceGuid.PcdNormalMemoryNonshareableOverride
 |