mirror of https://github.com/acidanthera/audk.git
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:
parent
84249babd7
commit
094c0bc7d7
|
@ -883,52 +883,6 @@ MmAddToDriverList (
|
||||||
return EFI_SUCCESS;
|
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
|
Traverse the discovered list for any drivers that were discovered but not loaded
|
||||||
because the dependency experessions evaluated to false.
|
because the dependency experessions evaluated to false.
|
||||||
|
|
|
@ -99,7 +99,6 @@ BOOLEAN mInLegacyBoot = FALSE;
|
||||||
// Table of MMI Handlers that are registered by the MM Core when it is initialized
|
// Table of MMI Handlers that are registered by the MM Core when it is initialized
|
||||||
//
|
//
|
||||||
MM_CORE_MMI_HANDLERS mMmCoreMmiHandlers[] = {
|
MM_CORE_MMI_HANDLERS mMmCoreMmiHandlers[] = {
|
||||||
{ MmFvDispatchHandler, &gMmFvDispatchGuid, NULL, TRUE },
|
|
||||||
{ MmReadyToLockHandler, &gEfiDxeMmReadyToLockProtocolGuid, NULL, TRUE },
|
{ MmReadyToLockHandler, &gEfiDxeMmReadyToLockProtocolGuid, NULL, TRUE },
|
||||||
{ MmEndOfDxeHandler, &gEfiEndOfDxeEventGroupGuid, NULL, FALSE },
|
{ MmEndOfDxeHandler, &gEfiEndOfDxeEventGroupGuid, NULL, FALSE },
|
||||||
{ MmLegacyBootHandler, &gEfiEventLegacyBootGuid, NULL, FALSE },
|
{ MmLegacyBootHandler, &gEfiEventLegacyBootGuid, NULL, FALSE },
|
||||||
|
|
|
@ -635,28 +635,6 @@ MmDriverDispatchHandler (
|
||||||
|
|
||||||
@return Status Code
|
@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
|
EFI_STATUS
|
||||||
EFIAPI
|
EFIAPI
|
||||||
|
|
Loading…
Reference in New Issue