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:
@@ -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.
|
||||
|
Reference in New Issue
Block a user