public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Zeng, Star" <star.zeng@intel.com>
To: Ruiyu Ni <ruiyu.ni@intel.com>, edk2-devel@lists.01.org
Cc: Michael D Kinney <michael.d.kinney@intel.com>,
	Liming Gao <liming.gao@intel.com>,
	star.zeng@intel.com
Subject: Re: [PATCH 10/10] MdeModulePkg/ResetSystemPei: Add reset notifications in PEI
Date: Thu, 8 Feb 2018 10:18:43 +0800	[thread overview]
Message-ID: <f878a136-960c-41ce-62de-7676c3e8a0be@intel.com> (raw)
In-Reply-To: <58e8cb1c-7a44-7ebd-7851-ef7c2de28fd3@intel.com>

On 2018/2/7 20:40, Zeng, Star wrote:
> On 2018/2/2 14:45, Ruiyu Ni wrote:
>> From: Bret Barkelew <brbarkel@microsoft.com>
>>
>> The Reset Notification protocol is added in UEFI spec to support
>> reset notification mechanism in the DXE phase.
>> This patch adds similar EDKII specific Reset Notification PPI to PEI
>> phase to provide the same support.
>>
>> Cc: Liming Gao <liming.gao@intel.com>
>> Cc: Michael D Kinney <michael.d.kinney@intel.com>
>> Cc: Star Zeng <star.zeng@intel.com>
>> Contributed-under: TianoCore Contribution Agreement 1.1
>> Signed-off-by: Bret Barkelew <Bret.Barkelew@microsoft.com>
>> Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
>> ---
>>   .../Ppi/PlatformSpecificResetNotification.h        | 31 
>> ++++++++++++++++++++++
>>   MdeModulePkg/MdeModulePkg.dec                      |  3 +++
>>   .../Universal/ResetSystemPei/ResetSystem.c         | 16 +++++++++++
>>   .../Universal/ResetSystemPei/ResetSystem.h         |  1 +
>>   .../Universal/ResetSystemPei/ResetSystemPei.inf    |  7 ++---
>>   5 files changed, 55 insertions(+), 3 deletions(-)
>>   create mode 100644 
>> MdeModulePkg/Include/Ppi/PlatformSpecificResetNotification.h
>>
>> diff --git 
>> a/MdeModulePkg/Include/Ppi/PlatformSpecificResetNotification.h 
>> b/MdeModulePkg/Include/Ppi/PlatformSpecificResetNotification.h
>> new file mode 100644
>> index 0000000000..ea53e24133
>> --- /dev/null
>> +++ b/MdeModulePkg/Include/Ppi/PlatformSpecificResetNotification.h
>> @@ -0,0 +1,31 @@
>> +/** @file
>> +  This PPI provides services to register a platform specific 
>> notification callback for
>> +  ResetSystem().  The registered handlers are processed after
>> +  EDKII_PLATFORM_SPECIFIC_RESET_FILTER_PPI notifications.
> 
> How about adding "and after EDKII_PLATFORM_SPECIFIC_RESET_HANDLER_PPI" 
> at the end of the sentence?
> 
> And also need enhance the comments in 
> MdeModulePkg\Include\Ppi\PlatformSpecificResetFilter.h to state it will 
> be processed before EDKII_PLATFORM_SPECIFIC_RESET_NOTIFICATION_PPI 
> instead of EDKII_PLATFORM_SPECIFIC_RESET_HANDLER_PPI.
> 
> And also need enhance the comments in 
> MdeModulePkg\Include\Ppi\PlatformSpecificResetHandler.h to state it will 
> be processed after EDKII_PLATFORM_SPECIFIC_RESET_NOTIFICATION_PPI 
> instead of EDKII_PLATFORM_SPECIFIC_RESET_FILTER_PPI.
> 
> 
> Thanks,
> Star

Please also update the comments for PcdMaximumPeiResetNotifies in 
MdeModulePkg.dec and MdeModulePkg.uni accordingly.


Thanks,
Star

> 
>> +
>> +  Copyright (c) 2017 Intel Corporation. All rights reserved.<BR>
>> +  Copyright (c) 2017 Microsoft 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 that accompanies this 
>> distribution.
>> +  The full text of the license may be found at
>> +  http://opensource.org/licenses/bsd-license.php.
>> +
>> +  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
>> +  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS 
>> OR IMPLIED.
>> +
>> +**/
>> +
>> +#ifndef _PLATFORM_SPECIFIC_RESET_NOTIFICATION_PPI_H_
>> +#define _PLATFORM_SPECIFIC_RESET_NOTIFICATION_PPI_H_
>> +
>> +#include <Protocol/ResetNotification.h>
>> +
>> +#define EDKII_PLATFORM_SPECIFIC_RESET_NOTIFICATION_PPI_GUID \
>> +  { 0xe09f355d, 0xdae8, 0x4910, { 0xb1, 0x4a, 0x92, 0x78, 0x0f, 0xdc, 
>> 0xf7, 0xcb } }
>> +
>> +typedef EFI_RESET_NOTIFICATION_PROTOCOL  
>> EDKII_PLATFORM_SPECIFIC_RESET_NOTIFICATION_PPI;
>> +
>> +extern EFI_GUID gEdkiiPlatformSpecificResetNotificationPpiGuid;
>> +
>> +#endif
>> diff --git a/MdeModulePkg/MdeModulePkg.dec 
>> b/MdeModulePkg/MdeModulePkg.dec
>> index 1b971d599f..297b02ffa9 100644
>> --- a/MdeModulePkg/MdeModulePkg.dec
>> +++ b/MdeModulePkg/MdeModulePkg.dec
>> @@ -444,6 +444,9 @@ [Ppis]
>>     ## Include/Ppi/PlatformSpecificResetFilter.h
>>     gEdkiiPlatformSpecificResetFilterPpiGuid = { 0x8c9f4de3, 0x7b90, 
>> 0x47ef, { 0x93, 0x8, 0x28, 0x7c, 0xec, 0xd6, 0x6d, 0xe8 } }
>> +  ## Include/Ppi/PlatformSpecificResetNotification.h
>> +  gEdkiiPlatformSpecificResetNotificationPpiGuid = { 0xe09f355d, 
>> 0xdae8, 0x4910, { 0xb1, 0x4a, 0x92, 0x78, 0xf, 0xdc, 0xf7, 0xcb } }
>> +
>>     ## Include/Ppi/PlatformSpecificResetHandler.h
>>     gEdkiiPlatformSpecificResetHandlerPpiGuid = { 0x75cf14ae, 0x3441, 
>> 0x49dc, { 0xaa, 0x10, 0xbb, 0x35, 0xa7, 0xba, 0x8b, 0xab } }
>> diff --git a/MdeModulePkg/Universal/ResetSystemPei/ResetSystem.c 
>> b/MdeModulePkg/Universal/ResetSystemPei/ResetSystem.c
>> index 720593de6a..4dfe303f77 100644
>> --- a/MdeModulePkg/Universal/ResetSystemPei/ResetSystem.c
>> +++ b/MdeModulePkg/Universal/ResetSystemPei/ResetSystem.c
>> @@ -25,6 +25,7 @@ EFI_PEI_RESET2_PPI mPpiReset2 = {
>>   EFI_GUID                *mProcessingOrder[] = {
>>     &gEdkiiPlatformSpecificResetFilterPpiGuid,
>> +  &gEdkiiPlatformSpecificResetNotificationPpiGuid,
>>     &gEdkiiPlatformSpecificResetHandlerPpiGuid
>>   };
>> @@ -36,6 +37,14 @@ RESET_FILTER_INSTANCE   mResetFilter = {
>>     &gEdkiiPlatformSpecificResetFilterPpiGuid
>>   };
>> +RESET_FILTER_INSTANCE   mResetNotification = {
>> +  {
>> +    RegisterResetNotify,
>> +    UnregisterResetNotify
>> +  },
>> +  &gEdkiiPlatformSpecificResetNotificationPpiGuid
>> +};
>> +
>>   RESET_FILTER_INSTANCE   mResetHandler = {
>>     {
>>       RegisterResetNotify,
>> @@ -55,6 +64,11 @@ EFI_PEI_PPI_DESCRIPTOR mPpiListReset[] = {
>>       &gEdkiiPlatformSpecificResetFilterPpiGuid,
>>       &mResetFilter.ResetFilter
>>     },
>> +  {
>> +    EFI_PEI_PPI_DESCRIPTOR_PPI,
>> +    &gEdkiiPlatformSpecificResetNotificationPpiGuid,
>> +    &mResetNotification.ResetFilter
>> +  },
>>     {
>>       EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST,
>>       &gEdkiiPlatformSpecificResetHandlerPpiGuid,
>> @@ -101,6 +115,7 @@ RegisterResetNotify (
>>     ResetFilter = (RESET_FILTER_INSTANCE *) This;
>>     ASSERT (CompareGuid (ResetFilter->Guid, 
>> &gEdkiiPlatformSpecificResetFilterPpiGuid) ||
>> +          CompareGuid (ResetFilter->Guid, 
>> &gEdkiiPlatformSpecificResetNotificationPpiGuid) ||
>>             CompareGuid (ResetFilter->Guid, 
>> &gEdkiiPlatformSpecificResetHandlerPpiGuid)
>>             );
>> @@ -187,6 +202,7 @@ UnregisterResetNotify (
>>     ResetFilter = (RESET_FILTER_INSTANCE *)This;
>>     ASSERT (CompareGuid (ResetFilter->Guid, 
>> &gEdkiiPlatformSpecificResetFilterPpiGuid) ||
>> +    CompareGuid (ResetFilter->Guid, 
>> &gEdkiiPlatformSpecificResetNotificationPpiGuid) ||
>>       CompareGuid (ResetFilter->Guid, 
>> &gEdkiiPlatformSpecificResetHandlerPpiGuid)
>>     );
>> diff --git a/MdeModulePkg/Universal/ResetSystemPei/ResetSystem.h 
>> b/MdeModulePkg/Universal/ResetSystemPei/ResetSystem.h
>> index 2fcc3592b6..b623a4c381 100644
>> --- a/MdeModulePkg/Universal/ResetSystemPei/ResetSystem.h
>> +++ b/MdeModulePkg/Universal/ResetSystemPei/ResetSystem.h
>> @@ -21,6 +21,7 @@
>>   #include <Ppi/Reset2.h>
>>   #include <Ppi/PlatformSpecificResetFilter.h>
>> +#include <Ppi/PlatformSpecificResetNotification.h>
>>   #include <Ppi/PlatformSpecificResetHandler.h>
>>   #include <Library/BaseLib.h>
>> diff --git a/MdeModulePkg/Universal/ResetSystemPei/ResetSystemPei.inf 
>> b/MdeModulePkg/Universal/ResetSystemPei/ResetSystemPei.inf
>> index 38fdd16ceb..a88e2018b7 100644
>> --- a/MdeModulePkg/Universal/ResetSystemPei/ResetSystemPei.inf
>> +++ b/MdeModulePkg/Universal/ResetSystemPei/ResetSystemPei.inf
>> @@ -48,9 +48,10 @@ [LibraryClasses]
>>     ReportStatusCodeLib
>>   [Ppis]
>> -  gEfiPeiReset2PpiGuid                       ## PRODUCES
>> -  gEdkiiPlatformSpecificResetFilterPpiGuid   ## PRODUCES
>> -  gEdkiiPlatformSpecificResetHandlerPpiGuid  ## PRODUCES
>> +  gEfiPeiReset2PpiGuid                           ## PRODUCES
>> +  gEdkiiPlatformSpecificResetFilterPpiGuid       ## PRODUCES
>> +  gEdkiiPlatformSpecificResetHandlerPpiGuid      ## PRODUCES
>> +  gEdkiiPlatformSpecificResetNotificationPpiGuid ## PRODUCES
>>   [Pcd]
>>     gEfiMdeModulePkgTokenSpaceGuid.PcdMaximumPeiResetNotifies
>>



      reply	other threads:[~2018-02-08  2:13 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-02  6:45 [PATCH 00/10] Formalize the reset system core design Ruiyu Ni
2018-02-02  6:45 ` [PATCH 01/10] MdePkg/PeiServicesLib: Add PeiServicesResetSystem2() Ruiyu Ni
2018-02-07 11:37   ` Zeng, Star
2018-02-02  6:45 ` [PATCH 02/10] MdeModulePkg/PeiMain: Always attempt to use Reset2 PPI first Ruiyu Ni
2018-02-07 11:37   ` Zeng, Star
2018-02-02  6:45 ` [PATCH 03/10] MdeModulePkg/PeiMain: Cleanup whitespace in Reset.c Ruiyu Ni
2018-02-07 11:39   ` Zeng, Star
2018-02-02  6:45 ` [PATCH 04/10] MdeModulePkg/ResetSystemRuntimeDxe: Add platform filter and handler Ruiyu Ni
2018-02-02 13:46   ` Laszlo Ersek
2018-02-06  2:56     ` Ni, Ruiyu
2018-02-07 11:44   ` Zeng, Star
2018-02-02  6:45 ` [PATCH 05/10] MdeModulePkg/ResetSystemRuntimeDxe: Add more debug message Ruiyu Ni
2018-02-07 12:04   ` Zeng, Star
2018-02-09  3:01     ` Ni, Ruiyu
2018-02-02  6:45 ` [PATCH 06/10] MdeModulePkg: Add ResetSystemLib instances that call core services Ruiyu Ni
2018-02-07 12:20   ` Zeng, Star
2018-02-09  3:00     ` Ni, Ruiyu
2018-02-02  6:45 ` [PATCH 07/10] MdeModulePkg: Add ResetUtility librray class and BASE instance Ruiyu Ni
2018-02-07 12:28   ` Zeng, Star
2018-02-08  1:36     ` Zeng, Star
2018-02-08  2:07       ` Zeng, Star
2018-02-02  6:45 ` [PATCH 08/10] MdePkg/UefiRuntimeLib: Support more module types Ruiyu Ni
2018-02-07 12:24   ` Zeng, Star
2018-02-09  3:06     ` Ni, Ruiyu
2018-02-02  6:45 ` [PATCH 09/10] MdeModulePkg: Add ResetSystemPei PEIM Ruiyu Ni
2018-02-07 12:35   ` Zeng, Star
2018-02-08  2:16     ` Zeng, Star
2018-02-09  3:12     ` Ni, Ruiyu
2018-02-02  6:45 ` [PATCH 10/10] MdeModulePkg/ResetSystemPei: Add reset notifications in PEI Ruiyu Ni
2018-02-07 12:40   ` Zeng, Star
2018-02-08  2:18     ` Zeng, Star [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f878a136-960c-41ce-62de-7676c3e8a0be@intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox