> -----Original Message----- > From: Yao, Jiewen > Sent: Friday, March 10, 2017 3:23 PM > To: Wu, Hao A; edk2-devel@lists.01.org > Cc: Wu, Hao A > Subject: RE: [edk2] [PATCH v2 1/2] MdeModulePkg/CapsuleLib: Add lib > destructors to handle unclosed events > > I just find it is unnecessary to put > mDxeRuntimeCapsuleLibVirtualAddressChangeEvent and > mIsVirtualAddrConverted to DxeCapsuleLib.c. > Can we just move them to DxeCapsuleLibRuntime.c? > > I think this is simple update. No need to send V3. > You can do that when check in. > > Reviewed-by: Jiewen Yao <jiewen....@intel.com>
Got it, I will move them before checking in the code. Best Regards, Hao Wu > > Thank you > Yao Jiewen > > > > -----Original Message----- > > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Hao > > Wu > > Sent: Friday, March 10, 2017 3:16 PM > > To: edk2-devel@lists.01.org > > Cc: Wu, Hao A <hao.a...@intel.com> > > Subject: [edk2] [PATCH v2 1/2] MdeModulePkg/CapsuleLib: Add lib > destructors > > to handle unclosed events > > > > Contributed-under: TianoCore Contribution Agreement 1.0 > > Signed-off-by: Hao Wu <hao.a...@intel.com> > > Reviewed-by: Jiewen Yao <jiewen....@intel.com> > > --- > > MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c | 37 > > +++++++++++++++++--- > > MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf | 3 +- > > MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleRuntime.c | 33 > > ++++++++++++++--- > > MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf | 4 > > ++- > > 4 files changed, 66 insertions(+), 11 deletions(-) > > > > diff --git a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c > > b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c > > index 7f500a96eb..a892892ccd 100644 > > --- a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c > > +++ b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c > > @@ -47,9 +47,11 @@ > > #include <Protocol/FirmwareManagement.h> > > #include <Protocol/DevicePath.h> > > > > -EFI_SYSTEM_RESOURCE_TABLE *mEsrtTable = NULL; > > -BOOLEAN mIsVirtualAddrConverted = FALSE; > > -BOOLEAN mDxeCapsuleLibEndOfDxe = FALSE; > > +EFI_SYSTEM_RESOURCE_TABLE *mEsrtTable > > = NULL; > > +BOOLEAN mIsVirtualAddrConverted > > = FALSE; > > +BOOLEAN mDxeCapsuleLibEndOfDxe > > = FALSE; > > +EFI_EVENT mDxeCapsuleLibEndOfDxeEvent > > = NULL; > > +EFI_EVENT > > mDxeRuntimeCapsuleLibVirtualAddressChangeEvent = NULL; > > > > /** > > Initialize capsule related variables. > > @@ -1654,7 +1656,6 @@ DxeCapsuleLibConstructor ( > > IN EFI_SYSTEM_TABLE *SystemTable > > ) > > { > > - EFI_EVENT EndOfDxeEvent; > > EFI_STATUS Status; > > > > Status = gBS->CreateEventEx ( > > @@ -1663,7 +1664,7 @@ DxeCapsuleLibConstructor ( > > DxeCapsuleLibEndOfDxe, > > NULL, > > &gEfiEndOfDxeEventGroupGuid, > > - &EndOfDxeEvent > > + &mDxeCapsuleLibEndOfDxeEvent > > ); > > ASSERT_EFI_ERROR (Status); > > > > @@ -1671,3 +1672,29 @@ DxeCapsuleLibConstructor ( > > > > return EFI_SUCCESS; > > } > > + > > +/** > > + The destructor function closes the End of DXE event. > > + > > + @param ImageHandle The firmware allocated handle for the EFI image. > > + @param SystemTable A pointer to the EFI System Table. > > + > > + @retval EFI_SUCCESS The destructor completed successfully. > > +**/ > > +EFI_STATUS > > +EFIAPI > > +DxeCapsuleLibDestructor ( > > + IN EFI_HANDLE ImageHandle, > > + IN EFI_SYSTEM_TABLE *SystemTable > > + ) > > +{ > > + EFI_STATUS Status; > > + > > + // > > + // Close the End of DXE event. > > + // > > + Status = gBS->CloseEvent (mDxeCapsuleLibEndOfDxeEvent); > > + ASSERT_EFI_ERROR (Status); > > + > > + return EFI_SUCCESS; > > +} > > diff --git a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf > > b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf > > index 5e437dc418..a6cf54cb6b 100644 > > --- a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf > > +++ b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf > > @@ -3,7 +3,7 @@ > > # > > # Capsule library instance for DXE_DRIVER module types. > > # > > -# Copyright (c) 2016, Intel Corporation. All rights reserved.<BR> > > +# Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR> > > # This program and the accompanying materials > > # are licensed and made available under the terms and conditions of the > BSD > > License > > # which accompanies this distribution. The full text of the license may > > be > > found at > > @@ -23,6 +23,7 @@ > > VERSION_STRING = 1.0 > > LIBRARY_CLASS = CapsuleLib|DXE_DRIVER > > UEFI_APPLICATION > > CONSTRUCTOR = DxeCapsuleLibConstructor > > + DESTRUCTOR = DxeCapsuleLibDestructor > > > > # > > # The following information is for reference only and not required by the > build > > tools. > > diff --git a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleRuntime.c > > b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleRuntime.c > > index 880143905a..513aa533e1 100644 > > --- a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleRuntime.c > > +++ b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleRuntime.c > > @@ -1,7 +1,7 @@ > > /** @file > > Capsule library runtime support. > > > > - Copyright (c) 2016, Intel Corporation. All rights reserved.<BR> > > + Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR> > > This program and the accompanying materials > > are licensed and made available under the terms and conditions of the BSD > > License > > which accompanies this distribution. The full text of the license may be > > found at > > @@ -28,6 +28,7 @@ > > > > extern EFI_SYSTEM_RESOURCE_TABLE *mEsrtTable; > > extern BOOLEAN mIsVirtualAddrConverted; > > +extern EFI_EVENT > > mDxeRuntimeCapsuleLibVirtualAddressChangeEvent; > > > > /** > > Convert EsrtTable physical address to virtual address. > > @@ -92,21 +93,45 @@ DxeRuntimeCapsuleLibConstructor ( > > ) > > { > > EFI_STATUS Status; > > - EFI_EVENT Event; > > > > // > > // Make sure we can handle virtual address changes. > > // > > - Event = NULL; > > Status = gBS->CreateEventEx ( > > EVT_NOTIFY_SIGNAL, > > TPL_NOTIFY, > > DxeCapsuleLibVirtualAddressChangeEvent, > > NULL, > > &gEfiEventVirtualAddressChangeGuid, > > - &Event > > + &mDxeRuntimeCapsuleLibVirtualAddressChangeEvent > > ); > > ASSERT_EFI_ERROR (Status); > > > > return EFI_SUCCESS; > > } > > + > > +/** > > + The destructor function closes the VirtualAddressChange event. > > + > > + @param ImageHandle The firmware allocated handle for the EFI image. > > + @param SystemTable A pointer to the EFI System Table. > > + > > + @retval EFI_SUCCESS The destructor completed successfully. > > +**/ > > +EFI_STATUS > > +EFIAPI > > +DxeRuntimeCapsuleLibDestructor ( > > + IN EFI_HANDLE ImageHandle, > > + IN EFI_SYSTEM_TABLE *SystemTable > > + ) > > +{ > > + EFI_STATUS Status; > > + > > + // > > + // Close the VirtualAddressChange event. > > + // > > + Status = gBS->CloseEvent > > (mDxeRuntimeCapsuleLibVirtualAddressChangeEvent); > > + ASSERT_EFI_ERROR (Status); > > + > > + return EFI_SUCCESS; > > +} > > diff --git > > a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf > > b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf > > index 47c67ccac5..25b7d51f57 100644 > > --- a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf > > +++ b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf > > @@ -3,7 +3,7 @@ > > # > > # Capsule library instance for DXE_RUNTIME_DRIVER module types. > > # > > -# Copyright (c) 2016, Intel Corporation. All rights reserved.<BR> > > +# Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR> > > # This program and the accompanying materials > > # are licensed and made available under the terms and conditions of the > BSD > > License > > # which accompanies this distribution. The full text of the license may > > be > > found at > > @@ -24,6 +24,8 @@ > > LIBRARY_CLASS = CapsuleLib|DXE_RUNTIME_DRIVER > > CONSTRUCTOR = DxeCapsuleLibConstructor > > CONSTRUCTOR = DxeRuntimeCapsuleLibConstructor > > + DESTRUCTOR = DxeCapsuleLibDestructor > > + DESTRUCTOR = DxeRuntimeCapsuleLibDestructor > > > > # > > # The following information is for reference only and not required by the > build > > tools. > > -- > > 2.12.0.windows.1 > > > > _______________________________________________ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel