• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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