From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id C62CA1A1E20 for ; Fri, 29 Jul 2016 00:51:08 -0700 (PDT) Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0E3F84E032; Fri, 29 Jul 2016 07:51:08 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-116-38.phx2.redhat.com [10.3.116.38]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u6T7p5jl016029; Fri, 29 Jul 2016 03:51:06 -0400 To: "Wei, David" , "Lu, ShifeiX A" References: <89954A0B46707A448411A627AD4EEE3437D7D51C@SHSMSX101.ccr.corp.intel.com> Cc: "edk2-devel@lists.01.org" From: Laszlo Ersek Message-ID: <52c28d1b-32d1-ffcc-228d-c88b12a784f1@redhat.com> Date: Fri, 29 Jul 2016 09:51:04 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <89954A0B46707A448411A627AD4EEE3437D7D51C@SHSMSX101.ccr.corp.intel.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Fri, 29 Jul 2016 07:51:08 +0000 (UTC) Subject: Re: [Patch] Vlv2TbltDevicePkg:Signal EndOfDxe Event. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Jul 2016 07:51:09 -0000 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit On 07/29/16 04:31, Wei, David wrote: > Reviewed-by: David Wei > > > > Thanks, > David Wei > > Intel SSG BIOS Team I recommend using the new EfiEventGroupSignal() function from UefiLib instead. Please refer to the following commits: ca8f50e88e03 MdePkg/UefiLib: move InternalEmptyFunction to UefiLib.c 772fb7cb13de MdePkg/UefiLib: introduce EfiEventGroupSignal ff55dd3befb4 IntelFrameworkPkg/FrameworkUefiLib: move InternalEmptyFunction to UefiLib.c 6212b9481d82 IntelFrameworkPkg/FrameworkUefiLib: implement EfiEventGroupSignal dfc9514794fc ArmVirtPkg/PlatformIntelBdsLib: rebase to EfiEventGroupSignal 36e8e6992d0c OvmfPkg/PlatformBdsLib: rebase to EfiEventGroupSignal Thanks Laszlo > -----Original Message----- > From: Lu, ShifeiX A > Sent: Friday, July 29, 2016 10:27 AM > To: edk2-devel@lists.01.org > Cc: Wei; Wei, David > Subject: [Patch] Vlv2TbltDevicePkg:Signal EndOfDxe Event. > > According to PI spec,EndOfDxe Event should be signaled > before DxeSmmReadyToLock protocol installation. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: lushifex > --- > .../Library/PlatformBdsLib/BdsPlatform.c | 37 +++++++++++++++++++++- > .../Library/PlatformBdsLib/PlatformBdsLib.inf | 3 +- > 2 files changed, 38 insertions(+), 2 deletions(-) > > diff --git a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c b/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c > index 195d734..5df3396 100644 > --- a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c > +++ b/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c > @@ -1,8 +1,8 @@ > /** @file > > - Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.
> + Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.
> > > This program and the accompanying materials are licensed and made available under > > the terms and conditions of the BSD License that accompanies this distribution. > > The full text of the license may be found at > > http://opensource.org/licenses/bsd-license.php. > > @@ -203,10 +203,29 @@ ShellImageCallback ( > { > BdsSetConsoleMode (TRUE); > DEBUG ((EFI_D_INFO, "BdsEntry ShellImageCallback \n")); > } > > +/** > + An empty function to pass error checking of CreateEventEx (). > + > + @param Event Event whose notification function is being invoked. > + @param Context Pointer to the notification function's context, > + which is implementation-dependent. > + > +**/ > +STATIC > +VOID > +EFIAPI > +EmptyCallbackFunction ( > + IN EFI_EVENT Event, > + IN VOID *Context > + ) > +{ > + return; > +} > + > // > // BDS Platform Functions > // > /** > Platform Bds init. Incude the platform firmware vendor, revision > @@ -223,12 +242,28 @@ PlatformBdsInit ( > VOID > ) > { > EFI_STATUS Status; > EFI_EVENT ShellImageEvent; > + EFI_EVENT EndOfDxeEvent; > EFI_GUID ShellEnvProtocol = SHELL_ENVIRONMENT_INTERFACE_PROTOCOL; > > + // > + // Signal EndOfDxe PI Event > + // > + Status = gBS->CreateEventEx ( > + EVT_NOTIFY_SIGNAL, > + TPL_CALLBACK, > + EmptyCallbackFunction, > + NULL, > + &gEfiEndOfDxeEventGroupGuid, > + &EndOfDxeEvent > + ); > + if (!EFI_ERROR (Status)) { > + gBS->SignalEvent (EndOfDxeEvent); > + } > + > #ifdef __GNUC__ > SerialPortWrite((UINT8 *)">>>>BdsEntry[GCC]\r\n", 19); > #else > SerialPortWrite((UINT8 *)">>>>BdsEntry\r\n", 14); > #endif > diff --git a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf b/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf > index 45578e8..c64bab9 100644 > --- a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf > +++ b/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf > @@ -1,9 +1,9 @@ > #/** @file > # Component name for module PlatformBootManagerLib > # > -# Copyright (c) 2008 - 2015, Intel Corporation. All rights reserved.
> +# Copyright (c) 2008 - 2016, Intel Corporation. All rights reserved.
> # > > # This program and the accompanying materials are licensed and made available under > > # the terms and conditions of the BSD License that accompanies this distribution. > > # The full text of the license may be found at > > # http://opensource.org/licenses/bsd-license.php. > > @@ -95,10 +95,11 @@ > gEfiMemoryTypeInformationGuid > gEfiCapsuleVendorGuid > gEfiGlobalVariableGuid > gEfiNormalSetupGuid > gEfiPartTypeSystemPartGuid > + gEfiEndOfDxeEventGroupGuid > > [Pcd] > gPlatformModuleTokenSpaceGuid.PcdFlashFvRecovery2Base > gPlatformModuleTokenSpaceGuid.PcdFlashFvMainBase > gPlatformModuleTokenSpaceGuid.PcdFlashFvRecoveryBase >