Re: [edk2-devel] [edk2-platforms PATCH] Platform/ResetSystemLib: Add a new API ResetSystem

2019-04-15 Thread Leif Lindholm
+Thomas for info

Zhichao - please update subject line to
Platform/ARM: Add a new API ResetSystem to VExpress ResetSystemLib
and drop the spaces before ;.

With that:
Reviewed-by: Leif Lindholm 


On Mon, Apr 15, 2019 at 11:07:35AM +0800, 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.
> 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: Ard Biesheuvel 
> Cc: Leif Lindholm 
> Cc: Michael D Kinney 
> Cc: Liming Gao 
> Signed-off-by: Zhichao Gao 
> ---
>  .../Library/ResetSystemLib/ResetSystemLib.c   | 44 +++
>  1 file changed, 44 insertions(+)
> 
> diff --git a/Platform/ARM/VExpressPkg/Library/ResetSystemLib/ResetSystemLib.c 
> b/Platform/ARM/VExpressPkg/Library/ResetSystemLib/ResetSystemLib.c
> index d2bc4a88fa..c4f4eedc45 100644
> --- a/Platform/ARM/VExpressPkg/Library/ResetSystemLib/ResetSystemLib.c
> +++ b/Platform/ARM/VExpressPkg/Library/ResetSystemLib/ResetSystemLib.c
> @@ -6,6 +6,7 @@
>Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
>Copyright (c) 2013, ARM Ltd. All rights reserved.
>Copyright (c) 2017, Linaro Ltd. All rights reserved.
> +  Copyright (c) 2019, Intel Corporation. All rights reserved.
>  
>This program and the accompanying materials
>are licensed and made available under the terms and conditions of the BSD 
> License
> @@ -109,3 +110,46 @@ ResetPlatformSpecific (
>  {
>ResetCold ();
>  }
> +
> +/**
> +  The ResetSystem function resets the entire platform.
> +
> +  @param[in] ResetType  The type of reset to perform.
> +  @param[in] ResetStatusThe 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 UINTNDataSize,
> +  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 ;
> +  }
> +}
> -- 
> 2.21.0.windows.1
> 

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#39073): https://edk2.groups.io/g/devel/message/39073
Mute This Topic: https://groups.io/mt/31137368/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms PATCH] Platform/ResetSystemLib: Add a new API ResetSystem

2019-04-14 Thread Gao, Zhichao
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: Ard Biesheuvel 
Cc: Leif Lindholm 
Cc: Michael D Kinney 
Cc: Liming Gao 
Signed-off-by: Zhichao Gao 
---
 .../Library/ResetSystemLib/ResetSystemLib.c   | 44 +++
 1 file changed, 44 insertions(+)

diff --git a/Platform/ARM/VExpressPkg/Library/ResetSystemLib/ResetSystemLib.c 
b/Platform/ARM/VExpressPkg/Library/ResetSystemLib/ResetSystemLib.c
index d2bc4a88fa..c4f4eedc45 100644
--- a/Platform/ARM/VExpressPkg/Library/ResetSystemLib/ResetSystemLib.c
+++ b/Platform/ARM/VExpressPkg/Library/ResetSystemLib/ResetSystemLib.c
@@ -6,6 +6,7 @@
   Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
   Copyright (c) 2013, ARM Ltd. All rights reserved.
   Copyright (c) 2017, Linaro Ltd. All rights reserved.
+  Copyright (c) 2019, Intel Corporation. All rights reserved.
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD 
License
@@ -109,3 +110,46 @@ ResetPlatformSpecific (
 {
   ResetCold ();
 }
+
+/**
+  The ResetSystem function resets the entire platform.
+
+  @param[in] ResetType  The type of reset to perform.
+  @param[in] ResetStatusThe 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 UINTNDataSize,
+  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 ;
+  }
+}
-- 
2.21.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#39049): https://edk2.groups.io/g/devel/message/39049
Mute This Topic: https://groups.io/mt/31137368/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-