TianoCore EDK2 master
|
Go to the source code of this file.
Functions | |
EFI_STATUS EFIAPI | CreateMmPlatformHob (IN VOID *Buffer, IN OUT UINTN *BufferSize) |
Null instance of MM Platform HOB Producer Library Class.
CreateMmPlatformHob() function is called by StandaloneMm IPL to create all Platform specific HOBs that required by Standalone MM environment.
Copyright (c) 2024, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file MmPlatformHobProducerLibNull.c.
EFI_STATUS EFIAPI CreateMmPlatformHob | ( | IN VOID * | Buffer, |
IN OUT UINTN * | BufferSize | ||
) |
Create the platform specific HOBs needed by the Standalone MM environment.
The following HOBs are created by StandaloneMm IPL common logic. Hence they should NOT be created by this function: Single EFI_HOB_TYPE_FV to describe the Firmware Volume where MM Core resides. Single GUIDed (gEfiSmmSmramMemoryGuid) HOB to describe the MM regions. Single EFI_HOB_MEMORY_ALLOCATION_MODULE to describe the MM region used by MM Core. Multiple EFI_HOB_RESOURCE_DESCRIPTOR to describe the non-MM regions and their access permissions. Note: All accessible non-MM regions should be described by EFI_HOB_RESOURCE_DESCRIPTOR HOBs. Single GUIDed (gMmCommBufferHobGuid) HOB to identify MM Communication buffer in non-MM region. Multiple GUIDed (gSmmBaseHobGuid) HOB to describe the SMM base address of each processor. Multiple GUIDed (gMpInformation2HobGuid) HOB to describe the MP information. Single GUIDed (gMmCpuSyncConfigHobGuid) HOB to describe how BSP synchronizes with APs in x86 SMM. Single GUIDed (gMmAcpiS3EnableHobGuid) HOB to describe the ACPI S3 enable status. Single GUIDed (gEfiAcpiVariableGuid) HOB to identify the S3 data root region in x86. Single GUIDed (gMmProfileDataHobGuid) HOB to describe the MM profile data region.
[in] | Buffer | The free buffer to be used for HOB creation. |
[in,out] | BufferSize | The buffer size. On return, the expected/used size. |
RETURN_INVALID_PARAMETER | BufferSize is NULL. |
RETURN_INVALID_PARAMETER | Buffer is NULL and BufferSize is not 0. |
RETURN_BUFFER_TOO_SMALL | The buffer is too small for HOB creation. BufferSize is updated to indicate the expected buffer size. When the input BufferSize is bigger than the expected buffer size, the BufferSize value will be changed to the used buffer size. |
RETURN_SUCCESS | The HOB list is created successfully. |
Definition at line 50 of file MmPlatformHobProducerLibNull.c.