1 /** @file 2 3 Copyright (c) 2015 - 2016, Linaro Ltd. All rights reserved.<BR> 4 5 This program and the accompanying materials 6 are licensed and made available under the terms and conditions of the BSD License 7 which accompanies this distribution. The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13 **/ 14 15 #ifndef __ARM_MMU_LIB__ 16 #define __ARM_MMU_LIB__ 17 18 #include <Uefi/UefiBaseType.h> 19 20 #include <Library/ArmLib.h> 21 22 EFI_STATUS 23 EFIAPI 24 ArmConfigureMmu ( 25 IN ARM_MEMORY_REGION_DESCRIPTOR *MemoryTable, 26 OUT VOID **TranslationTableBase OPTIONAL, 27 OUT UINTN *TranslationTableSize OPTIONAL 28 ); 29 30 EFI_STATUS 31 EFIAPI 32 ArmSetMemoryRegionNoExec ( 33 IN EFI_PHYSICAL_ADDRESS BaseAddress, 34 IN UINT64 Length 35 ); 36 37 EFI_STATUS 38 EFIAPI 39 ArmClearMemoryRegionNoExec ( 40 IN EFI_PHYSICAL_ADDRESS BaseAddress, 41 IN UINT64 Length 42 ); 43 44 EFI_STATUS 45 EFIAPI 46 ArmSetMemoryRegionReadOnly ( 47 IN EFI_PHYSICAL_ADDRESS BaseAddress, 48 IN UINT64 Length 49 ); 50 51 EFI_STATUS 52 EFIAPI 53 ArmClearMemoryRegionReadOnly ( 54 IN EFI_PHYSICAL_ADDRESS BaseAddress, 55 IN UINT64 Length 56 ); 57 58 VOID 59 EFIAPI 60 ArmReplaceLiveTranslationEntry ( 61 IN UINT64 *Entry, 62 IN UINT64 Value 63 ); 64 65 #endif 66