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]
-=-=-=-=-=-=-=-=-=-=-=-
(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]
-=-=-=-=-=-=-=-=-=-=-=-
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]
-=-=-=-=-=-=-=-=-=-=-=-
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]
-=-=-=-=-=-=-=-=-=-=-=-
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]
-=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2026 Red Hat, Inc.