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