From: "Gao, Zhichao" <zhichao.gao@intel.com>
To: "Bu, Daocheng" <daocheng.bu@intel.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Piwko, Maciej" <maciej.piwko@intel.com>,
"Oram, Isaac W" <isaac.w.oram@intel.com>,
"Gao, Liming" <liming.gao@intel.com>
Subject: Re: [edk2-platforms/devel-MinPlatform][PATCH 3/5] LewisburgPkg/DxeRuntimeResetSystemLib: Add a new API ResetSystem
Date: Mon, 22 Apr 2019 02:49:55 +0000 [thread overview]
Message-ID: <3CE959C139B4C44DBEA1810E3AA6F9000B7C37FA@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <A29041FBCC9BF846B87E1E5FB4E1C78A62FF75A1@SHSMSX103.ccr.corp.intel.com>
Hi,
I didn't receive any comments with this patch yet. Maybe you missed this email.
The new added function is only a few part of the ResetSystemRuntimeDxe to provide the reset function.
As I know, platforms always have their own ResetSystemLib instance and do not use the instance in MdeModulePkg.
While the platform contains a driver base on the new interface(the driver may be in the edk2 repo), the driver would not find the interface's implement and cause a link error.
I suggest all platform code should update it to avoid the link error if the platform is working with the edk2 master repo.
Thanks,
Zhichao
> -----Original Message-----
> From: Bu, Daocheng
> Sent: Monday, April 15, 2019 3:56 PM
> To: Gao, Zhichao <zhichao.gao@intel.com>; devel@edk2.groups.io
> Cc: Piwko, Maciej <maciej.piwko@intel.com>; Oram, Isaac W
> <isaac.w.oram@intel.com>; Gao, Liming <liming.gao@intel.com>
> Subject: RE: [edk2-platforms/devel-MinPlatform][PATCH 3/5]
> LewisburgPkg/DxeRuntimeResetSystemLib: Add a new API ResetSystem
>
>
> Hi Maciej,
>
> Please help review this code from PCH perspective.
> If you approve this change , please also help cherry pick this change to
> ServerSiliconPkg\Pch\SouthClusterLbg pkg @10nm trunk.
>
> Thanks,
> Amos
>
> UEFI FW, IAFW or System Firmware is more generic & accurate it's not BIOS
> anymore!
>
> -----Original Message-----
> From: Gao, Zhichao
> Sent: Monday, April 15, 2019 11:08 AM
> To: devel@edk2.groups.io
> Cc: Piwko, Maciej <maciej.piwko@intel.com>; Bu, Daocheng
> <daocheng.bu@intel.com>; Oram, Isaac W <isaac.w.oram@intel.com>; Gao,
> Liming <liming.gao@intel.com>
> Subject: [edk2-platforms/devel-MinPlatform][PATCH 3/5]
> LewisburgPkg/DxeRuntimeResetSystemLib: Add a new API ResetSystem
>
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1460
>
> Add a new API ResetSystem to this ResetSystemLib instance.
> It only adds the basic functions from ResetSystemRuntimeDxe.
> Lacking of this interface may cause link error, if some drivers use this new API
> and link to this library instance.
> Make the ResetPlatformSpecific's parameters same with the interface in
> Edk2 repo.
> Notes:
> This library API only provide a basic function of reset. If the consumers want
> full functions, they should use the instance in the MdeModulePkg and make
> sure the depex driver is dispatched.
>
> Cc: "Piwko, Maciej" <maciej.piwko@intel.com>
> Cc: "Bu, Daocheng" <daocheng.bu@intel.com>
> Cc: "Oram, Isaac W" <isaac.w.oram@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Signed-off-by: Zhichao Gao <zhichao.gao@intel.com>
> ---
> .../DxeRuntimeResetSystemLib/PchReset.c | 47 +++++++++++++++++--
> 1 file changed, 44 insertions(+), 3 deletions(-)
>
> diff --git
> a/Silicon/Intel/LewisburgPkg/Library/DxeRuntimeResetSystemLib/PchReset.
> c
> b/Silicon/Intel/LewisburgPkg/Library/DxeRuntimeResetSystemLib/PchReset.
> c
> index cdc0f19c17..673f42e72c 100644
> ---
> a/Silicon/Intel/LewisburgPkg/Library/DxeRuntimeResetSystemLib/PchReset.
> c
> +++
> b/Silicon/Intel/LewisburgPkg/Library/DxeRuntimeResetSystemLib/PchRes
> +++ et.c
> @@ -1,6 +1,6 @@
> /** @file
>
> -Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2018 - 2019, Intel 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 @@ -255,7 +255,6 @@
> ResetShutdown (
> /**
> Calling this function causes the system to enter a power state for platform
> specific.
>
> - @param[in] ResetStatus The status code for the reset.
> @param[in] DataSize The size of ResetData in bytes.
> @param[in] ResetData Optional element used to introduce a platform
> specific reset.
> The exact type of the reset is defined by the EFI_GUID that
> follows @@ -265,7 +264,6 @@ ResetShutdown ( VOID EFIAPI
> ResetPlatformSpecific (
> - IN EFI_STATUS ResetStatus,
> IN UINTN DataSize,
> IN VOID *ResetData OPTIONAL
> )
> @@ -306,6 +304,49 @@ EnterS3WithImmediateWake (
> PchReset (mPchResetInstance, (PCH_RESET_TYPE) EfiResetWarm); }
>
> +/**
> + The ResetSystem function resets the entire platform.
> +
> + @param[in] ResetType The type of reset to perform.
> + @param[in] ResetStatus The status code for the reset.
> + @param[in] DataSize The size, in bytes, of ResetData.
> + @param[in] ResetData For a ResetType of EfiResetCold, EfiResetWarm,
> or EfiResetShutdown
> + the data buffer starts with a Null-terminated string, optionally
> + followed by additional binary data. The string is a description
> + that the caller may use to further indicate the reason for the
> + system reset.
> +**/
> +VOID
> +EFIAPI
> +ResetSystem (
> + IN EFI_RESET_TYPE ResetType,
> + IN EFI_STATUS ResetStatus,
> + IN UINTN DataSize,
> + IN VOID *ResetData OPTIONAL
> + )
> +{
> + switch (ResetType) {
> + case EfiResetWarm:
> + ResetWarm ();
> + break;
> +
> + case EfiResetCold:
> + ResetCold ();
> + break;
> +
> + case EfiResetShutdown:
> + ResetShutdown ();
> + return ;
> +
> + case EfiResetPlatformSpecific:
> + ResetPlatformSpecific (DataSize, ResetData);
> + return;
> +
> + default:
> + return ;
> + }
> +}
> +
> /**
> <b>PchReset Runtime DXE Driver Entry Point</b>\n
> - <b>Introduction</b>\n
> --
> 2.21.0.windows.1
next prev parent reply other threads:[~2019-04-22 2:51 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-15 3:07 [edk2-platforms/devel-MinPlatform][PATCH 0/5] Add a new API ResetSystem for ResetSystemLib instances Gao, Zhichao
2019-04-15 3:07 ` [edk2-platforms/devel-MinPlatform][PATCH 1/5] KabylakeSiliconPkg/BaseResetSystemLib: Add a new API ResetSystem Gao, Zhichao
2019-04-15 9:03 ` Chiu, Chasel
2019-04-15 22:44 ` Gao, Zhichao
2019-04-16 1:54 ` Chiu, Chasel
2019-04-15 3:07 ` [edk2-platforms PATCH] Platform/ResetSystemLib: " Gao, Zhichao
2019-04-15 10:16 ` Leif Lindholm
2019-04-15 3:07 ` [edk2-platforms/devel-MinPlatform][PATCH 2/5] KabylakeSiliconPkg/DxeResetSystemLib: " Gao, Zhichao
2019-04-16 1:55 ` Chiu, Chasel
2019-04-15 3:07 ` [edk2-platforms/devel-MinPlatform][PATCH 3/5] LewisburgPkg/DxeRuntimeResetSystemLib: " Gao, Zhichao
2019-04-15 7:55 ` Bu, Daocheng
2019-04-22 2:49 ` Gao, Zhichao [this message]
2019-04-24 13:45 ` Piwko, Maciej
2019-04-24 14:27 ` Kwolek, Adam
2019-04-15 3:07 ` [edk2-platforms/devel-MinPlatform][PATCH 4/5] KabylakeSiliconPkg/PeiResetSystemLib: " Gao, Zhichao
2019-04-16 1:55 ` Chiu, Chasel
2019-04-15 3:07 ` [edk2-platforms/devel-MinPlatform][PATCH 5/5] KabylakeSiliconPkg/DxeRuntimeResetSystemLib: " Gao, Zhichao
2019-04-16 2:00 ` [edk2-devel] [edk2-platforms/devel-MinPlatform][PATCH 0/5] Add a new API ResetSystem for ResetSystemLib instances Kubacki, Michael A
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=3CE959C139B4C44DBEA1810E3AA6F9000B7C37FA@SHSMSX101.ccr.corp.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