diff --git a/MdeModulePkg/Bus/Pci/UndiRuntimeDxe/Init.c b/MdeModulePkg/Bus/Pci/UndiRuntimeDxe/Init.c index 2ebd50c29f..6f88a90f4e 100644 --- a/MdeModulePkg/Bus/Pci/UndiRuntimeDxe/Init.c +++ b/MdeModulePkg/Bus/Pci/UndiRuntimeDxe/Init.c @@ -1031,20 +1031,22 @@ InitializeUndi( ); ASSERT_EFI_ERROR (Status); - Status = gBS->CreateEvent ( - EVT_SIGNAL_EXIT_BOOT_SERVICES, + Status = gBS->CreateEventEx ( + EVT_NOTIFY_SIGNAL, TPL_NOTIFY, UndiNotifyExitBs, NULL, + &gEfiEventExitBootServicesGuid, &Event ); ASSERT_EFI_ERROR (Status); - Status = gBS->CreateEvent ( - EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE, + Status = gBS->CreateEventEx ( + EVT_NOTIFY_SIGNAL, TPL_NOTIFY, UndiNotifyVirtual, NULL, + &gEfiEventVirtualAddressChangeGuid, &Event ); ASSERT_EFI_ERROR (Status); diff --git a/MdeModulePkg/Bus/Pci/UndiRuntimeDxe/UndiRuntimeDxe.inf b/MdeModulePkg/Bus/Pci/UndiRuntimeDxe/UndiRuntimeDxe.inf index 24bcaad0d2..2fd1da2125 100644 --- a/MdeModulePkg/Bus/Pci/UndiRuntimeDxe/UndiRuntimeDxe.inf +++ b/MdeModulePkg/Bus/Pci/UndiRuntimeDxe/UndiRuntimeDxe.inf @@ -52,6 +52,10 @@ gEfiPciIoProtocolGuid gEfiDevicePathProtocolGuid +[Guids] + gEfiEventExitBootServicesGuid ## PRODUCES ## Event + gEfiEventVirtualAddressChangeGuid ## PRODUCES ## Event + [Depex] gEfiBdsArchProtocolGuid AND gEfiCpuArchProtocolGuid AND diff --git a/MdeModulePkg/Library/EdkFvbServiceLib/EdkFvbServiceLib.inf b/MdeModulePkg/Library/EdkFvbServiceLib/EdkFvbServiceLib.inf index 3a568506f7..b28d2afb24 100644 --- a/MdeModulePkg/Library/EdkFvbServiceLib/EdkFvbServiceLib.inf +++ b/MdeModulePkg/Library/EdkFvbServiceLib/EdkFvbServiceLib.inf @@ -53,3 +53,6 @@ gEfiFirmwareVolumeBlockProtocolGuid ## NOTIFY gEfiFvbExtensionProtocolGuid ## CONSUMES +[Guids] + gEfiEventVirtualAddressChangeGuid ## PRODUCES + diff --git a/MdeModulePkg/Library/EdkFvbServiceLib/Fvb.c b/MdeModulePkg/Library/EdkFvbServiceLib/Fvb.c index f1fe99d932..0e412860d5 100644 --- a/MdeModulePkg/Library/EdkFvbServiceLib/Fvb.c +++ b/MdeModulePkg/Library/EdkFvbServiceLib/Fvb.c @@ -298,11 +298,12 @@ FvbLibInitialize ( // // Register SetVirtualAddressMap () notify function // - Status = gBS->CreateEvent ( - EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE, + Status = gBS->CreateEventEx ( + EVT_NOTIFY_SIGNAL, TPL_NOTIFY, FvbVirtualAddressChangeNotifyEvent, NULL, + &gEfiEventVirtualAddressChangeGuid, &mSetVirtualMapChangedEvent ); ASSERT_EFI_ERROR (Status); diff --git a/MdeModulePkg/Library/EdkFvbServiceLib/Fvb.h b/MdeModulePkg/Library/EdkFvbServiceLib/Fvb.h index 7d0a09c7e1..1981e9682d 100644 --- a/MdeModulePkg/Library/EdkFvbServiceLib/Fvb.h +++ b/MdeModulePkg/Library/EdkFvbServiceLib/Fvb.h @@ -33,6 +33,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include #include +#include + #define MAX_FVB_COUNT 16 typedef struct { diff --git a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf index d18ed2b607..3f00007ddb 100644 --- a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf +++ b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf @@ -94,3 +94,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. gEfiAcpiSupportProtocolGuid gEfiDhcp4ProtocolGuid gEfiDhcp4ServiceBindingProtocolGuid + +[Guids] + gEfiEventExitBootServicesGuid diff --git a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiImpl.h b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiImpl.h index dad1cd40bc..d45a7362b3 100644 --- a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiImpl.h +++ b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiImpl.h @@ -20,6 +20,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include #include #include + +#include + #include "IScsiCommon.h" #include "IScsiDriver.h" #include "IScsiInitiatorName.h" diff --git a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiMisc.c b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiMisc.c index a9e255f616..3a727099e4 100644 --- a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiMisc.c +++ b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiMisc.c @@ -536,11 +536,12 @@ IScsiCreateDriverData ( // Create an event to be signal when the BS to RT transition is triggerd so // as to abort the iSCSI session. // - Status = gBS->CreateEvent ( - EVT_SIGNAL_EXIT_BOOT_SERVICES, + Status = gBS->CreateEventEx ( + EVT_NOTIFY_SIGNAL, TPL_CALLBACK, IScsiOnExitBootService, Private, + &gEfiEventExitBootServicesGuid, &Private->ExitBootServiceEvent ); if (EFI_ERROR (Status)) { diff --git a/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf b/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf index 1344405ce2..7d298b8631 100644 --- a/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf +++ b/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf @@ -54,6 +54,9 @@ gEfiVariableArchProtocolGuid ## ALWAYS_PRODUCES gEfiVariableWriteArchProtocolGuid ## ALWAYS_PRODUCES +[Guids] + gEfiEventVirtualAddressChangeGuid + [Pcd.common] gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize diff --git a/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/InitVariable.c b/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/InitVariable.c index 2aa3e28853..a08af6dae4 100644 --- a/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/InitVariable.c +++ b/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/InitVariable.c @@ -237,11 +237,12 @@ VariableServiceInitialize ( ); ASSERT_EFI_ERROR (Status); - Status = gBS->CreateEvent ( - EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE, + Status = gBS->CreateEventEx ( + EVT_NOTIFY_SIGNAL, TPL_NOTIFY, VariableClassAddressChangeEvent, NULL, + &gEfiEventVirtualAddressChangeGuid, &mVirtualAddressChangeEvent ); ASSERT_EFI_ERROR (Status); diff --git a/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/Variable.h b/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/Variable.h index 3880ed55c9..482a192a38 100644 --- a/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/Variable.h +++ b/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/Variable.h @@ -33,6 +33,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include #include +#include + #define GET_VARIABLE_NAME_PTR(a) (CHAR16 *) ((UINTN) (a) + sizeof (VARIABLE_HEADER)) typedef enum { diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c index 553ae2824d..6d3967947d 100644 --- a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c +++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c @@ -2063,11 +2063,12 @@ VariableServiceInitialize ( ); ASSERT_EFI_ERROR (Status); - Status = gBS->CreateEvent ( - EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE, + Status = gBS->CreateEventEx ( + EVT_NOTIFY_SIGNAL, TPL_NOTIFY, VariableClassAddressChangeEvent, NULL, + &gEfiEventVirtualAddressChangeGuid, &mVirtualAddressChangeEvent ); ASSERT_EFI_ERROR (Status); diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.h b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.h index c8f1d83e70..c508d8bade 100644 --- a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.h +++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.h @@ -36,6 +36,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include #include #include +#include #include #define VARIABLE_RECLAIM_THRESHOLD (1024) diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf b/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf index 11f5c8142d..5a47fa4a24 100644 --- a/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf +++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf @@ -62,6 +62,7 @@ [Guids] gEfiVariableInfoGuid ## PRODUCES ## Configuration Table Guid gEfiGlobalVariableGuid ## PRODUCES ## Variable Guid + gEfiEventVirtualAddressChangeGuid ## PRODUCES ## Event [Pcd.common] gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize