| /** @file | |
| Copyright (c) 2015 - 2016, Linaro Ltd. All rights reserved.<BR> | |
| Copyright (c) 2023, Ventana Micro Systems Inc. All Rights Reserved.<BR> | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | |
| **/ | |
| #ifndef BASE_RISCV_MMU_LIB_H_ | |
| #define BASE_RISCV_MMU_LIB_H_ | |
| /** | |
| The API to flush all local TLBs. | |
| **/ | |
| VOID | |
| EFIAPI | |
| RiscVLocalTlbFlushAll ( | |
| VOID | |
| ); | |
| /** | |
| The API to flush local TLB at a virtual address. | |
| @param VirtAddr The virtual address. | |
| **/ | |
| VOID | |
| EFIAPI | |
| RiscVLocalTlbFlush ( | |
| UINTN VirtAddr | |
| ); | |
| /** | |
| The API to set a GCD attribute on an memory region. | |
| @param BaseAddress The base address of the region. | |
| @param Length The length of the region. | |
| @param Attributes The GCD attributes. | |
| @retval EFI_INVALID_PARAMETER The BaseAddress or Length was not valid. | |
| @retval EFI_OUT_OF_RESOURCES Not enough resource. | |
| @retval EFI_SUCCESS The operation succesfully. | |
| **/ | |
| EFI_STATUS | |
| EFIAPI | |
| RiscVSetMemoryAttributes ( | |
| IN EFI_PHYSICAL_ADDRESS BaseAddress, | |
| IN UINT64 Length, | |
| IN UINT64 Attributes | |
| ); | |
| /** | |
| The API to configure and enable RISC-V MMU with the highest mode supported. | |
| @retval EFI_OUT_OF_RESOURCES Not enough resource. | |
| @retval EFI_SUCCESS The operation succesfully. | |
| **/ | |
| EFI_STATUS | |
| EFIAPI | |
| RiscVConfigureMmu ( | |
| VOID | |
| ); | |
| #endif /* BASE_RISCV_MMU_LIB_H_ */ |