From 094c0bc7d7a5d0d878d44706cfcc2d7ef5418ea8 Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Mon, 4 Mar 2019 18:19:31 +0100 Subject: [PATCH] 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 Reviewed-by: "Yao, Jiewen" Reviewed-by: Achin Gupta --- StandaloneMmPkg/Core/Dispatcher.c | 46 ------------------------- StandaloneMmPkg/Core/StandaloneMmCore.c | 1 - StandaloneMmPkg/Core/StandaloneMmCore.h | 22 ------------ 3 files changed, 69 deletions(-) diff --git a/StandaloneMmPkg/Core/Dispatcher.c b/StandaloneMmPkg/Core/Dispatcher.c index bede4832cf..4b2f38f700 100644 --- a/StandaloneMmPkg/Core/Dispatcher.c +++ b/StandaloneMmPkg/Core/Dispatcher.c @@ -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. diff --git a/StandaloneMmPkg/Core/StandaloneMmCore.c b/StandaloneMmPkg/Core/StandaloneMmCore.c index ec53b8d8be..766cdb5c84 100644 --- a/StandaloneMmPkg/Core/StandaloneMmCore.c +++ b/StandaloneMmPkg/Core/StandaloneMmCore.c @@ -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 }, diff --git a/StandaloneMmPkg/Core/StandaloneMmCore.h b/StandaloneMmPkg/Core/StandaloneMmCore.h index 0d20bcaa6b..74338dc9da 100644 --- a/StandaloneMmPkg/Core/StandaloneMmCore.h +++ b/StandaloneMmPkg/Core/StandaloneMmCore.h @@ -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 -- 2.39.2