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
>>
prev parent 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