On 04/15/19 05:06, Zhichao Gao wrote:
> 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.
> Notes:
> This library API only provide a basic function of reset. Full
> function should use the instance in the MdeModulePkg and make
> sure the depex driver is dispatched.
>
> Cc: Jordan Justen <[email protected]>
> Cc: Laszlo Ersek <[email protected]>
> Cc: Ard Biesheuvel <[email protected]>
> Cc: Liming Gao <[email protected]>
> Signed-off-by: Zhichao Gao <[email protected]>
> ---
> .../Library/ResetSystemLib/ResetSystemLib.c | 43 +++++++++++++++++++
> 1 file changed, 43 insertions(+)
>
> diff --git a/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.c
> b/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.c
> index c2c7736aa8..c05a87ad51 100644
> --- a/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.c
> +++ b/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.c
> @@ -140,3 +140,46 @@ ResetPlatformSpecific (
> {
> ResetCold ();
> }
> +
> +/**
> + 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 ;
> + }
> +}
>
For patches 18/25 and 23/25]:
- please replace
return ;
with
return;
(there are two instances in both patches)
- with that update, for both patches:
Reviewed-by: Laszlo Ersek <[email protected]>
Thanks
Laszlo
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#39101): https://edk2.groups.io/g/devel/message/39101
Mute This Topic: https://groups.io/mt/31137354/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-