From: "Chiu, Chasel" <chasel.chiu@intel.com>
To: "Gao, Zhichao" <zhichao.gao@intel.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Kubacki, Michael A" <michael.a.kubacki@intel.com>
Subject: Re: [edk2-platforms/devel-MinPlatform][PATCH 1/5] KabylakeSiliconPkg/BaseResetSystemLib: Add a new API ResetSystem
Date: Tue, 16 Apr 2019 01:54:59 +0000 [thread overview]
Message-ID: <3C3EFB470A303B4AB093197B6777CCEC502EB943@PGSMSX111.gar.corp.intel.com> (raw)
In-Reply-To: <20190415030739.14328-2-zhichao.gao@intel.com>
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>
> -----Original Message-----
> From: Gao, Zhichao
> Sent: Monday, April 15, 2019 11:08 AM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel <chasel.chiu@intel.com>; Kubacki, Michael A
> <michael.a.kubacki@intel.com>
> Subject: [edk2-platforms/devel-MinPlatform][PATCH 1/5]
> KabylakeSiliconPkg/BaseResetSystemLib: 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: Chasel Chiu <chasel.chiu@intel.com>
> Cc: Michael A Kubacki <michael.a.kubacki@intel.com>
> Signed-off-by: Zhichao Gao <zhichao.gao@intel.com>
> ---
> .../BaseResetSystemLib/BaseResetSystemLib.c | 47 +++++++++++++++++--
> 1 file changed, 44 insertions(+), 3 deletions(-)
>
> diff --git
> a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/BaseResetSystemLib/BaseReset
> SystemLib.c
> b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/BaseResetSystemLib/BaseRese
> tSystemLib.c
> index ec1a69e4de..0d5c27401d 100644
> ---
> a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/BaseResetSystemLib/BaseReset
> SystemLib.c
> +++ b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/BaseResetSystemLib/Ba
> +++ seResetSystemLib.c
> @@ -1,7 +1,7 @@
> /** @file
> System reset library services.
>
> -Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2017 - 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 @@ -108,7 +108,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 @@ -118,7 +117,6 @@ ResetShutdown ( VOID EFIAPI
> ResetPlatformSpecific (
> - IN EFI_STATUS ResetStatus,
> IN UINTN DataSize,
> IN VOID *ResetData OPTIONAL
> )
> @@ -142,6 +140,49 @@ EnterS3WithImmediateWake (
> ASSERT (FALSE);
> }
>
> +/**
> + 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 ;
> + }
> +}
> +
> /**
> The library constructuor.
>
> --
> 2.21.0.windows.1
next prev parent reply other threads:[~2019-04-16 1:55 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 [this message]
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
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=3C3EFB470A303B4AB093197B6777CCEC502EB943@PGSMSX111.gar.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