[edk2-devel] [PATCH v7 3/7] MdeModulePkg: Notify BeforeExitBootServices in CoreExitBootServices

Dionna Glaze via groups.io posted 7 patches 3 years, 4 months ago
There is a newer version of this series
[edk2-devel] [PATCH v7 3/7] MdeModulePkg: Notify BeforeExitBootServices in CoreExitBootServices
Posted by Dionna Glaze via groups.io 3 years, 4 months ago
Location of notification is has been specified in UEFI v2.9.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: James Bottomley <jejb@linux.ibm.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: "Min M. Xu" <min.m.xu@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: "Michael D. Kinney" <michael.d.kinney@intel.com>
Cc: Ray Ni <ray.ni@intel.com>

Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
---
 MdeModulePkg/Core/Dxe/DxeMain.inf       | 1 +
 MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/MdeModulePkg/Core/Dxe/DxeMain.inf b/MdeModulePkg/Core/Dxe/DxeMain.inf
index e4bca89577..35d5bf0dee 100644
--- a/MdeModulePkg/Core/Dxe/DxeMain.inf
+++ b/MdeModulePkg/Core/Dxe/DxeMain.inf
@@ -100,6 +100,7 @@
   gEfiEventVirtualAddressChangeGuid             ## CONSUMES             ## Event
   ## CONSUMES   ## Event
   ## PRODUCES   ## Event
+  gEfiEventBeforeExitBootServicesGuid
   gEfiEventExitBootServicesGuid
   gEfiHobMemoryAllocModuleGuid                  ## SOMETIMES_CONSUMES   ## HOB
   gEfiFirmwareFileSystem2Guid                   ## CONSUMES             ## GUID # Used to compare with FV's file system guid and get the FV's file system format
diff --git a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c b/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
index 5733f0c8ec..4683016ed7 100644
--- a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
+++ b/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
@@ -763,6 +763,12 @@ CoreExitBootServices (
 {
   EFI_STATUS  Status;
 
+  //
+  // Notify other drivers of their last chance to use boot services
+  // before the memory map is terminated.
+  //
+  CoreNotifySignalList (&gEfiEventBeforeExitBootServicesGuid);
+
   //
   // Disable Timer
   //
-- 
2.38.0.rc1.362.ged0d419d3c-goog



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#94766): https://edk2.groups.io/g/devel/message/94766
Mute This Topic: https://groups.io/mt/94144530/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v7 3/7] MdeModulePkg: Notify BeforeExitBootServices in CoreExitBootServices
Posted by Ard Biesheuvel 3 years, 4 months ago
(cc Liming & Mike)

On Wed, 5 Oct 2022 at 22:33, Dionna Glaze <dionnaglaze@google.com> wrote:
>
> Location of notification is has been specified in UEFI v2.9.
>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: James Bottomley <jejb@linux.ibm.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Tom Lendacky <thomas.lendacky@amd.com>
> Cc: Ard Biesheuvel <ardb@kernel.org>
> Cc: "Min M. Xu" <min.m.xu@intel.com>
> Cc: Andrew Fish <afish@apple.com>
> Cc: "Michael D. Kinney" <michael.d.kinney@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
>
> Signed-off-by: Dionna Glaze <dionnaglaze@google.com>

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

> ---
>  MdeModulePkg/Core/Dxe/DxeMain.inf       | 1 +
>  MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c | 6 ++++++
>  2 files changed, 7 insertions(+)
>
> diff --git a/MdeModulePkg/Core/Dxe/DxeMain.inf b/MdeModulePkg/Core/Dxe/DxeMain.inf
> index e4bca89577..35d5bf0dee 100644
> --- a/MdeModulePkg/Core/Dxe/DxeMain.inf
> +++ b/MdeModulePkg/Core/Dxe/DxeMain.inf
> @@ -100,6 +100,7 @@
>    gEfiEventVirtualAddressChangeGuid             ## CONSUMES             ## Event
>    ## CONSUMES   ## Event
>    ## PRODUCES   ## Event
> +  gEfiEventBeforeExitBootServicesGuid
>    gEfiEventExitBootServicesGuid
>    gEfiHobMemoryAllocModuleGuid                  ## SOMETIMES_CONSUMES   ## HOB
>    gEfiFirmwareFileSystem2Guid                   ## CONSUMES             ## GUID # Used to compare with FV's file system guid and get the FV's file system format
> diff --git a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c b/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
> index 5733f0c8ec..4683016ed7 100644
> --- a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
> +++ b/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
> @@ -763,6 +763,12 @@ CoreExitBootServices (
>  {
>    EFI_STATUS  Status;
>
> +  //
> +  // Notify other drivers of their last chance to use boot services
> +  // before the memory map is terminated.
> +  //
> +  CoreNotifySignalList (&gEfiEventBeforeExitBootServicesGuid);
> +
>    //
>    // Disable Timer
>    //
> --
> 2.38.0.rc1.362.ged0d419d3c-goog
>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#94790): https://edk2.groups.io/g/devel/message/94790
Mute This Topic: https://groups.io/mt/94144530/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v7 3/7] MdeModulePkg: Notify BeforeExitBootServices in CoreExitBootServices
Posted by Lendacky, Thomas via groups.io 3 years, 4 months ago
On 10/5/22 15:33, Dionna Glaze wrote:
> Location of notification is has been specified in UEFI v2.9.
> 
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: James Bottomley <jejb@linux.ibm.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Tom Lendacky <thomas.lendacky@amd.com>
> Cc: Ard Biesheuvel <ardb@kernel.org>
> Cc: "Min M. Xu" <min.m.xu@intel.com>
> Cc: Andrew Fish <afish@apple.com>
> Cc: "Michael D. Kinney" <michael.d.kinney@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> 
> Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
> ---
>   MdeModulePkg/Core/Dxe/DxeMain.inf       | 1 +
>   MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c | 6 ++++++
>   2 files changed, 7 insertions(+)
> 
> diff --git a/MdeModulePkg/Core/Dxe/DxeMain.inf b/MdeModulePkg/Core/Dxe/DxeMain.inf
> index e4bca89577..35d5bf0dee 100644
> --- a/MdeModulePkg/Core/Dxe/DxeMain.inf
> +++ b/MdeModulePkg/Core/Dxe/DxeMain.inf
> @@ -100,6 +100,7 @@
>     gEfiEventVirtualAddressChangeGuid             ## CONSUMES             ## Event
>     ## CONSUMES   ## Event
>     ## PRODUCES   ## Event
> +  gEfiEventBeforeExitBootServicesGuid
>     gEfiEventExitBootServicesGuid
>     gEfiHobMemoryAllocModuleGuid                  ## SOMETIMES_CONSUMES   ## HOB
>     gEfiFirmwareFileSystem2Guid                   ## CONSUMES             ## GUID # Used to compare with FV's file system guid and get the FV's file system format
> diff --git a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c b/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
> index 5733f0c8ec..4683016ed7 100644
> --- a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
> +++ b/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
> @@ -763,6 +763,12 @@ CoreExitBootServices (
>   {
>     EFI_STATUS  Status;
>   
> +  //
> +  // Notify other drivers of their last chance to use boot services
> +  // before the memory map is terminated.
> +  //
> +  CoreNotifySignalList (&gEfiEventBeforeExitBootServicesGuid);

Isn't this supposed to be after disabling the timer?

Thanks,
Tom

> +
>     //
>     // Disable Timer
>     //


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#94772): https://edk2.groups.io/g/devel/message/94772
Mute This Topic: https://groups.io/mt/94144530/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v7 3/7] MdeModulePkg: Notify BeforeExitBootServices in CoreExitBootServices
Posted by Dionna Glaze via groups.io 3 years, 4 months ago
The specification says that disabling the timer should happen right
after. Ard told me it should still work this way.

On Wed, Oct 5, 2022 at 1:50 PM Tom Lendacky <thomas.lendacky@amd.com> wrote:
>
> On 10/5/22 15:33, Dionna Glaze wrote:
> > Location of notification is has been specified in UEFI v2.9.
> >
> > Cc: Gerd Hoffmann <kraxel@redhat.com>
> > Cc: James Bottomley <jejb@linux.ibm.com>
> > Cc: Jiewen Yao <jiewen.yao@intel.com>
> > Cc: Tom Lendacky <thomas.lendacky@amd.com>
> > Cc: Ard Biesheuvel <ardb@kernel.org>
> > Cc: "Min M. Xu" <min.m.xu@intel.com>
> > Cc: Andrew Fish <afish@apple.com>
> > Cc: "Michael D. Kinney" <michael.d.kinney@intel.com>
> > Cc: Ray Ni <ray.ni@intel.com>
> >
> > Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
> > ---
> >   MdeModulePkg/Core/Dxe/DxeMain.inf       | 1 +
> >   MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c | 6 ++++++
> >   2 files changed, 7 insertions(+)
> >
> > diff --git a/MdeModulePkg/Core/Dxe/DxeMain.inf b/MdeModulePkg/Core/Dxe/DxeMain.inf
> > index e4bca89577..35d5bf0dee 100644
> > --- a/MdeModulePkg/Core/Dxe/DxeMain.inf
> > +++ b/MdeModulePkg/Core/Dxe/DxeMain.inf
> > @@ -100,6 +100,7 @@
> >     gEfiEventVirtualAddressChangeGuid             ## CONSUMES             ## Event
> >     ## CONSUMES   ## Event
> >     ## PRODUCES   ## Event
> > +  gEfiEventBeforeExitBootServicesGuid
> >     gEfiEventExitBootServicesGuid
> >     gEfiHobMemoryAllocModuleGuid                  ## SOMETIMES_CONSUMES   ## HOB
> >     gEfiFirmwareFileSystem2Guid                   ## CONSUMES             ## GUID # Used to compare with FV's file system guid and get the FV's file system format
> > diff --git a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c b/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
> > index 5733f0c8ec..4683016ed7 100644
> > --- a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
> > +++ b/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
> > @@ -763,6 +763,12 @@ CoreExitBootServices (
> >   {
> >     EFI_STATUS  Status;
> >
> > +  //
> > +  // Notify other drivers of their last chance to use boot services
> > +  // before the memory map is terminated.
> > +  //
> > +  CoreNotifySignalList (&gEfiEventBeforeExitBootServicesGuid);
>
> Isn't this supposed to be after disabling the timer?
>
> Thanks,
> Tom
>
> > +
> >     //
> >     // Disable Timer
> >     //



-- 
-Dionna Glaze, PhD (she/her)


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#94773): https://edk2.groups.io/g/devel/message/94773
Mute This Topic: https://groups.io/mt/94144530/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
回复: [edk2-devel] [PATCH v7 3/7] MdeModulePkg: Notify BeforeExitBootServices in CoreExitBootServices
Posted by gaoliming via groups.io 3 years, 4 months ago
UEFI spec describes that the event presents the last opportunity to use firmware interfaces in the boot environment.

So, I agree that this event notification is placed before Disable Timer. 

Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>

Thanks
Liming
> -----邮件原件-----
> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Dionna Glaze
> via groups.io
> 发送时间: 2022年10月6日 4:59
> 收件人: Tom Lendacky <thomas.lendacky@amd.com>
> 抄送: devel@edk2.groups.io; Gerd Hoffmann <kraxel@redhat.com>; James
> Bottomley <jejb@linux.ibm.com>; Jiewen Yao <jiewen.yao@intel.com>; Ard
> Biesheuvel <ardb@kernel.org>; Min M. Xu <min.m.xu@intel.com>; Andrew
> Fish <afish@apple.com>; Michael D. Kinney <michael.d.kinney@intel.com>;
> Ray Ni <ray.ni@intel.com>
> 主题: Re: [edk2-devel] [PATCH v7 3/7] MdeModulePkg: Notify
> BeforeExitBootServices in CoreExitBootServices
> 
> The specification says that disabling the timer should happen right
> after. Ard told me it should still work this way.
> 
> On Wed, Oct 5, 2022 at 1:50 PM Tom Lendacky <thomas.lendacky@amd.com>
> wrote:
> >
> > On 10/5/22 15:33, Dionna Glaze wrote:
> > > Location of notification is has been specified in UEFI v2.9.
> > >
> > > Cc: Gerd Hoffmann <kraxel@redhat.com>
> > > Cc: James Bottomley <jejb@linux.ibm.com>
> > > Cc: Jiewen Yao <jiewen.yao@intel.com>
> > > Cc: Tom Lendacky <thomas.lendacky@amd.com>
> > > Cc: Ard Biesheuvel <ardb@kernel.org>
> > > Cc: "Min M. Xu" <min.m.xu@intel.com>
> > > Cc: Andrew Fish <afish@apple.com>
> > > Cc: "Michael D. Kinney" <michael.d.kinney@intel.com>
> > > Cc: Ray Ni <ray.ni@intel.com>
> > >
> > > Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
> > > ---
> > >   MdeModulePkg/Core/Dxe/DxeMain.inf       | 1 +
> > >   MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c | 6 ++++++
> > >   2 files changed, 7 insertions(+)
> > >
> > > diff --git a/MdeModulePkg/Core/Dxe/DxeMain.inf
> b/MdeModulePkg/Core/Dxe/DxeMain.inf
> > > index e4bca89577..35d5bf0dee 100644
> > > --- a/MdeModulePkg/Core/Dxe/DxeMain.inf
> > > +++ b/MdeModulePkg/Core/Dxe/DxeMain.inf
> > > @@ -100,6 +100,7 @@
> > >     gEfiEventVirtualAddressChangeGuid             ## CONSUMES
> ## Event
> > >     ## CONSUMES   ## Event
> > >     ## PRODUCES   ## Event
> > > +  gEfiEventBeforeExitBootServicesGuid
> > >     gEfiEventExitBootServicesGuid
> > >     gEfiHobMemoryAllocModuleGuid                  ##
> SOMETIMES_CONSUMES   ## HOB
> > >     gEfiFirmwareFileSystem2Guid                   ## CONSUMES
> ## GUID # Used to compare with FV's file system guid and get the FV's file
> system format
> > > diff --git a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
> b/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
> > > index 5733f0c8ec..4683016ed7 100644
> > > --- a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
> > > +++ b/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
> > > @@ -763,6 +763,12 @@ CoreExitBootServices (
> > >   {
> > >     EFI_STATUS  Status;
> > >
> > > +  //
> > > +  // Notify other drivers of their last chance to use boot services
> > > +  // before the memory map is terminated.
> > > +  //
> > > +  CoreNotifySignalList (&gEfiEventBeforeExitBootServicesGuid);
> >
> > Isn't this supposed to be after disabling the timer?
> >
> > Thanks,
> > Tom
> >
> > > +
> > >     //
> > >     // Disable Timer
> > >     //
> 
> 
> 
> --
> -Dionna Glaze, PhD (she/her)
> 
> 
> 
> 





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#94853): https://edk2.groups.io/g/devel/message/94853
Mute This Topic: https://groups.io/mt/94228200/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-