mirror of https://github.com/acidanthera/audk.git
86 lines
1.7 KiB
C
86 lines
1.7 KiB
C
/** @file
|
|
Platform PEI module include file.
|
|
|
|
Copyright (c) 2024 Loongson Technology Corporation Limited. All rights reserved.<BR>
|
|
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#ifndef PLATFORM_H_
|
|
#define PLATFORM_H_
|
|
|
|
#include <IndustryStandard/E820.h>
|
|
|
|
typedef struct {
|
|
UINT64 BaseAddr;
|
|
UINT64 Length;
|
|
UINT32 Type;
|
|
UINT32 Reserved;
|
|
} MEMMAP_ENTRY;
|
|
|
|
/**
|
|
Create memory range hand off block.
|
|
|
|
@param MemoryBase memory base address.
|
|
@param MemoryLimit memory length.
|
|
|
|
@return VOID
|
|
**/
|
|
VOID
|
|
AddMemoryRangeHob (
|
|
EFI_PHYSICAL_ADDRESS MemoryBase,
|
|
EFI_PHYSICAL_ADDRESS MemoryLimit
|
|
);
|
|
|
|
/**
|
|
Publish PEI core memory
|
|
|
|
@return EFI_SUCCESS The PEIM initialized successfully.
|
|
**/
|
|
EFI_STATUS
|
|
PublishPeiMemory (
|
|
VOID
|
|
);
|
|
|
|
/**
|
|
Publish system RAM and reserve memory regions
|
|
|
|
@return VOID
|
|
**/
|
|
VOID
|
|
InitializeRamRegions (
|
|
VOID
|
|
);
|
|
|
|
/**
|
|
Publish PEI & DXE (Decompressed) Memory based FVs to let PEI
|
|
and DXE know about them.
|
|
|
|
@retval EFI_SUCCESS Platform PEI FVs were initialized successfully.
|
|
**/
|
|
EFI_STATUS
|
|
PeiFvInitialization (
|
|
VOID
|
|
);
|
|
|
|
/**
|
|
Gets the Virtual Memory Map of corresponding platforms.
|
|
|
|
This Virtual Memory Map is used by initialize the MMU on corresponding
|
|
platforms.
|
|
|
|
@param[out] MemoryTable Array of EFI_MEMORY_DESCRIPTOR
|
|
describing a Physical-to-Virtual Memory
|
|
mapping. This array must be ended by a
|
|
zero-filled entry. The allocated memory
|
|
will not be freed.
|
|
**/
|
|
VOID
|
|
EFIAPI
|
|
GetMemoryMapPolicy (
|
|
OUT EFI_MEMORY_DESCRIPTOR **MemoryTable
|
|
);
|
|
|
|
#endif // PLATFORM_H_
|