mirror of https://github.com/acidanthera/audk.git
69 lines
1.4 KiB
C
69 lines
1.4 KiB
C
/** @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_ */
|