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