Home | History | Annotate | Download | only in Library
      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