StandaloneMmPkg/Core: drop support for dispatching FVs into MM

Remove the support that permits calls into the MM context to dispatch
firmware volumes that are not part of the initial standalone MM firmware
volume.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: "Yao, Jiewen" <jiewen.yao@intel.com>
Reviewed-by: Achin Gupta <achin.gupta@arm.com>
This commit is contained in:
Ard Biesheuvel 2019-03-04 18:19:31 +01:00
parent 84249babd7
commit 094c0bc7d7
3 changed files with 0 additions and 69 deletions

View File

@ -883,52 +883,6 @@ MmAddToDriverList (
return EFI_SUCCESS;
}
/**
This function is the main entry point for an MM handler dispatch
or communicate-based callback.
@param DispatchHandle The unique handle assigned to this handler by SmiHandlerRegister().
@param Context Points to an optional handler context which was specified when the handler was registered.
@param CommBuffer A pointer to a collection of data in memory that will
be conveyed from a non-MM environment into an MM environment.
@param CommBufferSize The size of the CommBuffer.
@return Status Code
**/
EFI_STATUS
EFIAPI
MmFvDispatchHandler (
IN EFI_HANDLE DispatchHandle,
IN CONST VOID *Context, OPTIONAL
IN OUT VOID *CommBuffer, OPTIONAL
IN OUT UINTN *CommBufferSize OPTIONAL
)
{
EFI_STATUS Status;
EFI_MM_COMMUNICATE_FV_DISPATCH_DATA *CommunicationFvDispatchData;
EFI_FIRMWARE_VOLUME_HEADER *FwVolHeader;
DEBUG ((DEBUG_INFO, "MmFvDispatchHandler\n"));
CommunicationFvDispatchData = CommBuffer;
DEBUG ((DEBUG_INFO, " Dispatch - 0x%016lx - 0x%016lx\n", CommunicationFvDispatchData->Address,
CommunicationFvDispatchData->Size));
FwVolHeader = (EFI_FIRMWARE_VOLUME_HEADER *)(UINTN)CommunicationFvDispatchData->Address;
MmCoreFfsFindMmDriver (FwVolHeader);
//
// Execute the MM Dispatcher on any newly discovered FVs and previously
// discovered MM drivers that have been discovered but not dispatched.
//
Status = MmDispatcher ();
return Status;
}
/**
Traverse the discovered list for any drivers that were discovered but not loaded
because the dependency experessions evaluated to false.

View File

@ -99,7 +99,6 @@ BOOLEAN mInLegacyBoot = FALSE;
// Table of MMI Handlers that are registered by the MM Core when it is initialized
//
MM_CORE_MMI_HANDLERS mMmCoreMmiHandlers[] = {
{ MmFvDispatchHandler, &gMmFvDispatchGuid, NULL, TRUE },
{ MmReadyToLockHandler, &gEfiDxeMmReadyToLockProtocolGuid, NULL, TRUE },
{ MmEndOfDxeHandler, &gEfiEndOfDxeEventGroupGuid, NULL, FALSE },
{ MmLegacyBootHandler, &gEfiEventLegacyBootGuid, NULL, FALSE },

View File

@ -635,28 +635,6 @@ MmDriverDispatchHandler (
@return Status Code
**/
EFI_STATUS
EFIAPI
MmFvDispatchHandler (
IN EFI_HANDLE DispatchHandle,
IN CONST VOID *Context, OPTIONAL
IN OUT VOID *CommBuffer, OPTIONAL
IN OUT UINTN *CommBufferSize OPTIONAL
);
/**
This function is the main entry point for an MM handler dispatch
or communicate-based callback.
@param DispatchHandle The unique handle assigned to this handler by MmiHandlerRegister().
@param Context Points to an optional handler context which was specified when the handler was registered.
@param CommBuffer A pointer to a collection of data in memory that will
be conveyed from a non-MM environment into an MM environment.
@param CommBufferSize The size of the CommBuffer.
@return Status Code
**/
EFI_STATUS
EFIAPI