public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH 00/11] Add ResetPlatformSpecific() to ResetSystemLib
@ 2016-08-10  5:56 Ruiyu Ni
  2016-08-10  5:56 ` [PATCH 01/11] MdePkg/UefiSpec.h: Align function header of ResetSystem to UEFI Spec Ruiyu Ni
                   ` (10 more replies)
  0 siblings, 11 replies; 21+ messages in thread
From: Ruiyu Ni @ 2016-08-10  5:56 UTC (permalink / raw)
  To: edk2-devel

The patches add ResetPlatformSpecific() to ResetSystemLib library class
and all library instances.

The KbcResetDxe driver is removed from PcAtChipsetPkg.

Ruiyu Ni (11):
  MdePkg/UefiSpec.h: Align function header of ResetSystem to UEFI Spec
  MdeModulePkg: Add API ResetPlatformSpecific() to ResetSystemLib.h
  MdeModulePkg/BaseResetSystemLibNull: Implement ResetPlatformSpecific
  CorebootPayloadPkg/ResetSystemLib: Implement ResetPlatformSpecific
  OvmfPkg/ResetSystemLib: Implement ResetPlatformSpecific
  PcAtChipsetPkg/ResetSystemLib: Implement ResetPlatformSpecific
  QuarkSocPkg/ResetSystemLib: Implement ResetPlatformSpecific
  Vlv2TbltDevicePkg/ResetSystemLib: Implement ResetPlatformSpecific
  OvmfPkg: Use MdeModulePkg/ResetSystemRuntimeDxe
  PcAtChipsetPkg: Remove KbcResetDxe
  MdeModulePkg/ResetSystemRuntimeDxe: Support EfiResetPlatformSpecific

 .../Library/ResetSystemLib/ResetSystemLib.c        |  23 ++++-
 MdeModulePkg/Include/Library/ResetSystemLib.h      |  22 ++++-
 .../BaseResetSystemLibNull.c                       |  23 ++++-
 .../Universal/ResetSystemRuntimeDxe/ResetSystem.c  |  14 ++-
 MdePkg/Include/Uefi/UefiSpec.h                     |   8 +-
 OvmfPkg/Library/ResetSystemLib/ResetSystemLib.c    |  23 ++++-
 OvmfPkg/OvmfPkgIa32.dsc                            |   2 +-
 OvmfPkg/OvmfPkgIa32.fdf                            |   2 +-
 OvmfPkg/OvmfPkgIa32X64.dsc                         |   2 +-
 OvmfPkg/OvmfPkgIa32X64.fdf                         |   2 +-
 OvmfPkg/OvmfPkgX64.dsc                             |   2 +-
 OvmfPkg/OvmfPkgX64.fdf                             |   2 +-
 PcAtChipsetPkg/KbcResetDxe/KbcReset.uni            |  27 ------
 PcAtChipsetPkg/KbcResetDxe/KbcResetExtra.uni       |  25 -----
 PcAtChipsetPkg/KbcResetDxe/Reset.inf               |  50 ----------
 PcAtChipsetPkg/KbcResetDxe/ResetEntry.c            | 106 ---------------------
 .../Library/ResetSystemLib/ResetSystemLib.c        |  21 ++++
 PcAtChipsetPkg/PcAtChipsetPkg.dsc                  |   1 -
 .../Library/ResetSystemLib/ResetSystemLib.c        |  22 ++++-
 .../Library/ResetSystemLib/ResetSystemLib.c        |  23 ++++-
 20 files changed, 172 insertions(+), 228 deletions(-)
 delete mode 100644 PcAtChipsetPkg/KbcResetDxe/KbcReset.uni
 delete mode 100644 PcAtChipsetPkg/KbcResetDxe/KbcResetExtra.uni
 delete mode 100644 PcAtChipsetPkg/KbcResetDxe/Reset.inf
 delete mode 100644 PcAtChipsetPkg/KbcResetDxe/ResetEntry.c

-- 
2.9.0.windows.1



^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 01/11] MdePkg/UefiSpec.h: Align function header of ResetSystem to UEFI Spec
  2016-08-10  5:56 [PATCH 00/11] Add ResetPlatformSpecific() to ResetSystemLib Ruiyu Ni
@ 2016-08-10  5:56 ` Ruiyu Ni
  2016-08-16  4:49   ` Gao, Liming
  2016-08-10  5:56 ` [PATCH 02/11] MdeModulePkg: Add API ResetPlatformSpecific() to ResetSystemLib.h Ruiyu Ni
                   ` (9 subsequent siblings)
  10 siblings, 1 reply; 21+ messages in thread
From: Ruiyu Ni @ 2016-08-10  5:56 UTC (permalink / raw)
  To: edk2-devel; +Cc: Liming Gao

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
---
 MdePkg/Include/Uefi/UefiSpec.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/MdePkg/Include/Uefi/UefiSpec.h b/MdePkg/Include/Uefi/UefiSpec.h
index e8feed1..57cb4e8 100644
--- a/MdePkg/Include/Uefi/UefiSpec.h
+++ b/MdePkg/Include/Uefi/UefiSpec.h
@@ -1004,11 +1004,15 @@ EFI_STATUS
 
   @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 WatchdogData.
+  @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. ResetData is only
+                                valid if ResetStatus is something other than EFI_SUCCESS
+                                unless the ResetType is EfiResetPlatformSpecific
+                                where a minimum amount of ResetData is always required.
 **/
 typedef
 VOID
-- 
2.9.0.windows.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 02/11] MdeModulePkg: Add API ResetPlatformSpecific() to ResetSystemLib.h
  2016-08-10  5:56 [PATCH 00/11] Add ResetPlatformSpecific() to ResetSystemLib Ruiyu Ni
  2016-08-10  5:56 ` [PATCH 01/11] MdePkg/UefiSpec.h: Align function header of ResetSystem to UEFI Spec Ruiyu Ni
@ 2016-08-10  5:56 ` Ruiyu Ni
  2016-08-10  5:56 ` [PATCH 03/11] MdeModulePkg/BaseResetSystemLibNull: Implement ResetPlatformSpecific Ruiyu Ni
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Ruiyu Ni @ 2016-08-10  5:56 UTC (permalink / raw)
  To: edk2-devel; +Cc: Feng Tian, Amy Chan

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Amy Chan <amy.chan@intel.com>
---
 MdeModulePkg/Include/Library/ResetSystemLib.h | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/MdeModulePkg/Include/Library/ResetSystemLib.h b/MdeModulePkg/Include/Library/ResetSystemLib.h
index f952934..34f1131 100644
--- a/MdeModulePkg/Include/Library/ResetSystemLib.h
+++ b/MdeModulePkg/Include/Library/ResetSystemLib.h
@@ -2,7 +2,7 @@
   System reset Library Services.  This library class defines a set of
   methods that reset the whole system.
 
-Copyright (c) 2005 - 2010, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2005 - 2016, 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
@@ -64,5 +64,23 @@ EFIAPI
 EnterS3WithImmediateWake (
   VOID
   );
-  
+
+/**
+  This function causes a systemwide reset. The exact type of the reset is defined
+  by the EFI_GUID that follows the Null-terminated Unicode string passed into ResetData.
+  If the platform does not recognize the EFI_GUID in ResetData the platform must pick a
+  supported reset type to perform.The platform may optionally log the parameters from
+  any non-normal reset that occurs.
+
+  @param[in]  DataSize   The size, in bytes, of ResetData.
+  @param[in]  ResetData  The data buffer starts with a Null-terminated string, followed
+                         by the EFI_GUID.
+**/
+VOID
+EFIAPI
+ResetPlatformSpecific (
+  IN UINTN   DataSize,
+  IN VOID    *ResetData
+  );
+
 #endif
-- 
2.9.0.windows.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 03/11] MdeModulePkg/BaseResetSystemLibNull: Implement ResetPlatformSpecific
  2016-08-10  5:56 [PATCH 00/11] Add ResetPlatformSpecific() to ResetSystemLib Ruiyu Ni
  2016-08-10  5:56 ` [PATCH 01/11] MdePkg/UefiSpec.h: Align function header of ResetSystem to UEFI Spec Ruiyu Ni
  2016-08-10  5:56 ` [PATCH 02/11] MdeModulePkg: Add API ResetPlatformSpecific() to ResetSystemLib.h Ruiyu Ni
@ 2016-08-10  5:56 ` Ruiyu Ni
  2016-08-23  3:21   ` Tian, Feng
  2016-08-10  5:56 ` [PATCH 04/11] CorebootPayloadPkg/ResetSystemLib: " Ruiyu Ni
                   ` (7 subsequent siblings)
  10 siblings, 1 reply; 21+ messages in thread
From: Ruiyu Ni @ 2016-08-10  5:56 UTC (permalink / raw)
  To: edk2-devel; +Cc: Feng Tian, Amy Chan

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Amy Chan <amy.chan@intel.com>
---
 .../BaseResetSystemLibNull.c                       | 23 +++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.c b/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.c
index d21a774..b233254 100644
--- a/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.c
+++ b/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.c
@@ -1,7 +1,7 @@
 /** @file
   Null Reset System Library instance that only generates ASSERT() conditions.
 
-  Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2006 - 2016, 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
   which accompanies this distribution.  The full text of the license may be found at
@@ -77,3 +77,24 @@ EnterS3WithImmediateWake (
 {
   ASSERT (FALSE);
 }
+
+/**
+  This function causes a systemwide reset. The exact type of the reset is defined
+  by the EFI_GUID that follows the Null-terminated Unicode string passed into ResetData.
+  If the platform does not recognize the EFI_GUID in ResetData the platform must pick a
+  supported reset type to perform.The platform may optionally log the parameters from
+  any non-normal reset that occurs.
+
+  @param[in]  DataSize   The size, in bytes, of ResetData.
+  @param[in]  ResetData  The data buffer starts with a Null-terminated string, followed
+                         by the EFI_GUID.
+**/
+VOID
+EFIAPI
+ResetPlatformSpecific (
+  IN UINTN   DataSize,
+  IN VOID    *ResetData
+  )
+{
+  ResetCold ();
+}
-- 
2.9.0.windows.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 04/11] CorebootPayloadPkg/ResetSystemLib: Implement ResetPlatformSpecific
  2016-08-10  5:56 [PATCH 00/11] Add ResetPlatformSpecific() to ResetSystemLib Ruiyu Ni
                   ` (2 preceding siblings ...)
  2016-08-10  5:56 ` [PATCH 03/11] MdeModulePkg/BaseResetSystemLibNull: Implement ResetPlatformSpecific Ruiyu Ni
@ 2016-08-10  5:56 ` Ruiyu Ni
  2016-08-11 16:09   ` Ma, Maurice
  2016-08-10  5:56 ` [PATCH 05/11] OvmfPkg/ResetSystemLib: " Ruiyu Ni
                   ` (6 subsequent siblings)
  10 siblings, 1 reply; 21+ messages in thread
From: Ruiyu Ni @ 2016-08-10  5:56 UTC (permalink / raw)
  To: edk2-devel; +Cc: Maurice Ma, Prince Agyeman

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Maurice Ma <maurice.ma@intel.com>
Cc: Prince Agyeman <prince.agyeman@intel.com>
---
 .../Library/ResetSystemLib/ResetSystemLib.c        | 23 +++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.c b/CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.c
index 55f5609..f6621bf 100644
--- a/CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.c
+++ b/CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.c
@@ -1,7 +1,7 @@
 /** @file
   Reset System Library functions for coreboot
 
-  Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2014 - 2016, 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
   which accompanies this distribution.  The full text of the license may be found at
@@ -161,3 +161,24 @@ EnterS3WithImmediateWake (
   AcpiPmControl (5);
   ASSERT (FALSE);
 }
+
+/**
+  This function causes a systemwide reset. The exact type of the reset is defined
+  by the EFI_GUID that follows the Null-terminated Unicode string passed into ResetData.
+  If the platform does not recognize the EFI_GUID in ResetData the platform must pick a
+  supported reset type to perform.The platform may optionally log the parameters from
+  any non-normal reset that occurs.
+
+  @param[in]  DataSize   The size, in bytes, of ResetData.
+  @param[in]  ResetData  The data buffer starts with a Null-terminated string, followed
+                         by the EFI_GUID.
+**/
+VOID
+EFIAPI
+ResetPlatformSpecific (
+  IN UINTN   DataSize,
+  IN VOID    *ResetData
+  )
+{
+  ResetCold ();
+}
-- 
2.9.0.windows.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 05/11] OvmfPkg/ResetSystemLib: Implement ResetPlatformSpecific
  2016-08-10  5:56 [PATCH 00/11] Add ResetPlatformSpecific() to ResetSystemLib Ruiyu Ni
                   ` (3 preceding siblings ...)
  2016-08-10  5:56 ` [PATCH 04/11] CorebootPayloadPkg/ResetSystemLib: " Ruiyu Ni
@ 2016-08-10  5:56 ` Ruiyu Ni
  2016-08-10  5:56 ` [PATCH 06/11] PcAtChipsetPkg/ResetSystemLib: " Ruiyu Ni
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Ruiyu Ni @ 2016-08-10  5:56 UTC (permalink / raw)
  To: edk2-devel; +Cc: Jordan Justen, Laszlo Ersek

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
---
 OvmfPkg/Library/ResetSystemLib/ResetSystemLib.c | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.c b/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.c
index 399f547..3710415 100644
--- a/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.c
+++ b/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.c
@@ -1,7 +1,7 @@
 /** @file
   Reset System Library functions for OVMF
 
-  Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2006 - 2016, 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
   which accompanies this distribution.  The full text of the license may be found at
@@ -125,3 +125,24 @@ EnterS3WithImmediateWake (
   AcpiPmControl (1);
   ASSERT (FALSE);
 }
+
+/**
+  This function causes a systemwide reset. The exact type of the reset is defined
+  by the EFI_GUID that follows the Null-terminated Unicode string passed into ResetData.
+  If the platform does not recognize the EFI_GUID in ResetData the platform must pick a
+  supported reset type to perform.The platform may optionally log the parameters from
+  any non-normal reset that occurs.
+
+  @param[in]  DataSize   The size, in bytes, of ResetData.
+  @param[in]  ResetData  The data buffer starts with a Null-terminated string, followed
+                         by the EFI_GUID.
+**/
+VOID
+EFIAPI
+ResetPlatformSpecific (
+  IN UINTN   DataSize,
+  IN VOID    *ResetData
+  )
+{
+  ResetCold ();
+}
-- 
2.9.0.windows.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 06/11] PcAtChipsetPkg/ResetSystemLib: Implement ResetPlatformSpecific
  2016-08-10  5:56 [PATCH 00/11] Add ResetPlatformSpecific() to ResetSystemLib Ruiyu Ni
                   ` (4 preceding siblings ...)
  2016-08-10  5:56 ` [PATCH 05/11] OvmfPkg/ResetSystemLib: " Ruiyu Ni
@ 2016-08-10  5:56 ` Ruiyu Ni
  2016-08-10  5:56 ` [PATCH 07/11] QuarkSocPkg/ResetSystemLib: " Ruiyu Ni
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Ruiyu Ni @ 2016-08-10  5:56 UTC (permalink / raw)
  To: edk2-devel; +Cc: Feng Tian, Amy Chan

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Amy Chan <amy.chan@intel.com>
---
 .../Library/ResetSystemLib/ResetSystemLib.c         | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/PcAtChipsetPkg/Library/ResetSystemLib/ResetSystemLib.c b/PcAtChipsetPkg/Library/ResetSystemLib/ResetSystemLib.c
index b3b2efb..70f700a 100644
--- a/PcAtChipsetPkg/Library/ResetSystemLib/ResetSystemLib.c
+++ b/PcAtChipsetPkg/Library/ResetSystemLib/ResetSystemLib.c
@@ -84,3 +84,24 @@ EnterS3WithImmediateWake (
 {
   ASSERT (FALSE);
 }
+
+/**
+  This function causes a systemwide reset. The exact type of the reset is defined
+  by the EFI_GUID that follows the Null-terminated Unicode string passed into ResetData.
+  If the platform does not recognize the EFI_GUID in ResetData the platform must pick a
+  supported reset type to perform.The platform may optionally log the parameters from
+  any non-normal reset that occurs.
+
+  @param[in]  DataSize   The size, in bytes, of ResetData.
+  @param[in]  ResetData  The data buffer starts with a Null-terminated string, followed
+                         by the EFI_GUID.
+**/
+VOID
+EFIAPI
+ResetPlatformSpecific (
+  IN UINTN   DataSize,
+  IN VOID    *ResetData
+  )
+{
+  ResetCold ();
+}
-- 
2.9.0.windows.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 07/11] QuarkSocPkg/ResetSystemLib: Implement ResetPlatformSpecific
  2016-08-10  5:56 [PATCH 00/11] Add ResetPlatformSpecific() to ResetSystemLib Ruiyu Ni
                   ` (5 preceding siblings ...)
  2016-08-10  5:56 ` [PATCH 06/11] PcAtChipsetPkg/ResetSystemLib: " Ruiyu Ni
@ 2016-08-10  5:56 ` Ruiyu Ni
  2016-08-10 16:28   ` Kinney, Michael D
  2016-08-10  5:56 ` [PATCH 08/11] Vlv2TbltDevicePkg/ResetSystemLib: " Ruiyu Ni
                   ` (3 subsequent siblings)
  10 siblings, 1 reply; 21+ messages in thread
From: Ruiyu Ni @ 2016-08-10  5:56 UTC (permalink / raw)
  To: edk2-devel; +Cc: Michael D Kinney, Kelly Steele

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Kelly Steele <kelly.steele@intel.com>
---
 .../Library/ResetSystemLib/ResetSystemLib.c        | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/QuarkSocPkg/QuarkNorthCluster/Library/ResetSystemLib/ResetSystemLib.c b/QuarkSocPkg/QuarkNorthCluster/Library/ResetSystemLib/ResetSystemLib.c
index c2ad7f3..3aa0f6d 100644
--- a/QuarkSocPkg/QuarkNorthCluster/Library/ResetSystemLib/ResetSystemLib.c
+++ b/QuarkSocPkg/QuarkNorthCluster/Library/ResetSystemLib/ResetSystemLib.c
@@ -2,7 +2,7 @@
 System reset Library Services.  This library class provides a set of
 methods to reset whole system with manipulate QNC.
 
-Copyright (c) 2013-2015 Intel Corporation.
+Copyright (c) 2013-2016 Intel Corporation.
 
 This program and the accompanying materials
 are licensed and made available under the terms and conditions of the BSD License
@@ -320,3 +320,23 @@ VOID
   }
 }
 
+/**
+  This function causes a systemwide reset. The exact type of the reset is defined
+  by the EFI_GUID that follows the Null-terminated Unicode string passed into ResetData.
+  If the platform does not recognize the EFI_GUID in ResetData the platform must pick a
+  supported reset type to perform.The platform may optionally log the parameters from
+  any non-normal reset that occurs.
+
+  @param[in]  DataSize   The size, in bytes, of ResetData.
+  @param[in]  ResetData  The data buffer starts with a Null-terminated string, followed
+                         by the EFI_GUID.
+**/
+VOID
+EFIAPI
+ResetPlatformSpecific (
+  IN UINTN   DataSize,
+  IN VOID    *ResetData
+  )
+{
+  ResetCold ();
+}
-- 
2.9.0.windows.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 08/11] Vlv2TbltDevicePkg/ResetSystemLib: Implement ResetPlatformSpecific
  2016-08-10  5:56 [PATCH 00/11] Add ResetPlatformSpecific() to ResetSystemLib Ruiyu Ni
                   ` (6 preceding siblings ...)
  2016-08-10  5:56 ` [PATCH 07/11] QuarkSocPkg/ResetSystemLib: " Ruiyu Ni
@ 2016-08-10  5:56 ` Ruiyu Ni
  2016-08-11  2:22   ` Wei, David
  2016-08-10  5:56 ` [PATCH 09/11] OvmfPkg: Use MdeModulePkg/ResetSystemRuntimeDxe Ruiyu Ni
                   ` (2 subsequent siblings)
  10 siblings, 1 reply; 21+ messages in thread
From: Ruiyu Ni @ 2016-08-10  5:56 UTC (permalink / raw)
  To: edk2-devel; +Cc: David Wei

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: David Wei <david.wei@intel.com>
---
 .../Library/ResetSystemLib/ResetSystemLib.c        | 23 ++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

diff --git a/Vlv2TbltDevicePkg/Library/ResetSystemLib/ResetSystemLib.c b/Vlv2TbltDevicePkg/Library/ResetSystemLib/ResetSystemLib.c
index 1a6da83..77f1b8b 100644
--- a/Vlv2TbltDevicePkg/Library/ResetSystemLib/ResetSystemLib.c
+++ b/Vlv2TbltDevicePkg/Library/ResetSystemLib/ResetSystemLib.c
@@ -1,7 +1,6 @@
 /** @file
 
-Copyright (c) 2007  - 2014, Intel Corporation. All rights reserved.<BR>
-                                                                                   

+  Copyright (c) 2007 - 2016, 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                                     

@@ -176,3 +175,23 @@ EnterS3WithImmediateWake (
   ASSERT (FALSE);
 }
 
+/**
+  This function causes a systemwide reset. The exact type of the reset is defined
+  by the EFI_GUID that follows the Null-terminated Unicode string passed into ResetData.
+  If the platform does not recognize the EFI_GUID in ResetData the platform must pick a
+  supported reset type to perform.The platform may optionally log the parameters from
+  any non-normal reset that occurs.
+
+  @param[in]  DataSize   The size, in bytes, of ResetData.
+  @param[in]  ResetData  The data buffer starts with a Null-terminated string, followed
+                         by the EFI_GUID.
+**/
+VOID
+EFIAPI
+ResetPlatformSpecific (
+  IN UINTN   DataSize,
+  IN VOID    *ResetData
+  )
+{
+  ResetCold ();
+}
-- 
2.9.0.windows.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 09/11] OvmfPkg: Use MdeModulePkg/ResetSystemRuntimeDxe
  2016-08-10  5:56 [PATCH 00/11] Add ResetPlatformSpecific() to ResetSystemLib Ruiyu Ni
                   ` (7 preceding siblings ...)
  2016-08-10  5:56 ` [PATCH 08/11] Vlv2TbltDevicePkg/ResetSystemLib: " Ruiyu Ni
@ 2016-08-10  5:56 ` Ruiyu Ni
  2016-08-10  5:56 ` [PATCH 10/11] PcAtChipsetPkg: Remove KbcResetDxe Ruiyu Ni
  2016-08-10  5:56 ` [PATCH 11/11] MdeModulePkg/ResetSystemRuntimeDxe: Support EfiResetPlatformSpecific Ruiyu Ni
  10 siblings, 0 replies; 21+ messages in thread
From: Ruiyu Ni @ 2016-08-10  5:56 UTC (permalink / raw)
  To: edk2-devel; +Cc: Jordan Justen, Laszlo Ersek

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
---
 OvmfPkg/OvmfPkgIa32.dsc    | 2 +-
 OvmfPkg/OvmfPkgIa32.fdf    | 2 +-
 OvmfPkg/OvmfPkgIa32X64.dsc | 2 +-
 OvmfPkg/OvmfPkgIa32X64.fdf | 2 +-
 OvmfPkg/OvmfPkgX64.dsc     | 2 +-
 OvmfPkg/OvmfPkgX64.fdf     | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
index aeb87b9..fb14315 100644
--- a/OvmfPkg/OvmfPkgIa32.dsc
+++ b/OvmfPkg/OvmfPkgIa32.dsc
@@ -569,7 +569,7 @@ [Components]
     <LibraryClasses>
       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
   }
-  PcAtChipsetPkg/KbcResetDxe/Reset.inf
+  MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
   MdeModulePkg/Universal/Metronome/Metronome.inf
   PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
   MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
index b4b0a22..044300c 100644
--- a/OvmfPkg/OvmfPkgIa32.fdf
+++ b/OvmfPkg/OvmfPkgIa32.fdf
@@ -215,7 +215,7 @@ [FV.DXEFV]
 INF  OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
 INF  MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
 INF  MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
-INF  PcAtChipsetPkg/KbcResetDxe/Reset.inf
+INF  MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
 INF  MdeModulePkg/Universal/Metronome/Metronome.inf
 INF  PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
 
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
index 44da638..10701d5 100644
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
@@ -578,7 +578,7 @@ [Components.X64]
     <LibraryClasses>
       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
   }
-  PcAtChipsetPkg/KbcResetDxe/Reset.inf
+  MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
   MdeModulePkg/Universal/Metronome/Metronome.inf
   PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
   MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
index 552ab2a..e8c68e5 100644
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
@@ -215,7 +215,7 @@ [FV.DXEFV]
 INF  OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
 INF  MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
 INF  MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
-INF  PcAtChipsetPkg/KbcResetDxe/Reset.inf
+INF  MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
 INF  MdeModulePkg/Universal/Metronome/Metronome.inf
 INF  PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
 
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
index 89cd3a1..386cfea 100644
--- a/OvmfPkg/OvmfPkgX64.dsc
+++ b/OvmfPkg/OvmfPkgX64.dsc
@@ -576,7 +576,7 @@ [Components]
     <LibraryClasses>
       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
   }
-  PcAtChipsetPkg/KbcResetDxe/Reset.inf
+  MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
   MdeModulePkg/Universal/Metronome/Metronome.inf
   PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
   MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
index 28b98a9..8864b5a 100644
--- a/OvmfPkg/OvmfPkgX64.fdf
+++ b/OvmfPkg/OvmfPkgX64.fdf
@@ -215,7 +215,7 @@ [FV.DXEFV]
 INF  OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
 INF  MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
 INF  MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
-INF  PcAtChipsetPkg/KbcResetDxe/Reset.inf
+INF  MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
 INF  MdeModulePkg/Universal/Metronome/Metronome.inf
 INF  PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
 
-- 
2.9.0.windows.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 10/11] PcAtChipsetPkg: Remove KbcResetDxe
  2016-08-10  5:56 [PATCH 00/11] Add ResetPlatformSpecific() to ResetSystemLib Ruiyu Ni
                   ` (8 preceding siblings ...)
  2016-08-10  5:56 ` [PATCH 09/11] OvmfPkg: Use MdeModulePkg/ResetSystemRuntimeDxe Ruiyu Ni
@ 2016-08-10  5:56 ` Ruiyu Ni
  2016-08-10  5:56 ` [PATCH 11/11] MdeModulePkg/ResetSystemRuntimeDxe: Support EfiResetPlatformSpecific Ruiyu Ni
  10 siblings, 0 replies; 21+ messages in thread
From: Ruiyu Ni @ 2016-08-10  5:56 UTC (permalink / raw)
  To: edk2-devel; +Cc: Feng Tian, Amy Chan

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Amy Chan <amy.chan@intel.com>
---
 PcAtChipsetPkg/KbcResetDxe/KbcReset.uni      |  27 -------
 PcAtChipsetPkg/KbcResetDxe/KbcResetExtra.uni |  25 -------
 PcAtChipsetPkg/KbcResetDxe/Reset.inf         |  50 -------------
 PcAtChipsetPkg/KbcResetDxe/ResetEntry.c      | 106 ---------------------------
 PcAtChipsetPkg/PcAtChipsetPkg.dsc            |   1 -
 5 files changed, 209 deletions(-)
 delete mode 100644 PcAtChipsetPkg/KbcResetDxe/KbcReset.uni
 delete mode 100644 PcAtChipsetPkg/KbcResetDxe/KbcResetExtra.uni
 delete mode 100644 PcAtChipsetPkg/KbcResetDxe/Reset.inf
 delete mode 100644 PcAtChipsetPkg/KbcResetDxe/ResetEntry.c

diff --git a/PcAtChipsetPkg/KbcResetDxe/KbcReset.uni b/PcAtChipsetPkg/KbcResetDxe/KbcReset.uni
deleted file mode 100644
index 5535dac..0000000
--- a/PcAtChipsetPkg/KbcResetDxe/KbcReset.uni
+++ /dev/null
@@ -1,27 +0,0 @@
-// /** @file
-// This driver implements Reset Architectural Protocol.
-//
-// It should depend on the ResetSystemLib instance that is implemented based on KBC.
-//
-// Copyright (c) 2006 - 2014, 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
-// which 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.
-// 
-// Module Name:
-// Reset.inf
-// 
-// Abstract:
-//
-// **/
-
-
-#string STR_MODULE_ABSTRACT             #language en-US "This driver implements Reset Architectural Protocol"
-
-#string STR_MODULE_DESCRIPTION          #language en-US "It should depend on the ResetSystemLib instance that is implemented based on KBC."
-
diff --git a/PcAtChipsetPkg/KbcResetDxe/KbcResetExtra.uni b/PcAtChipsetPkg/KbcResetDxe/KbcResetExtra.uni
deleted file mode 100644
index 2ad684e..0000000
--- a/PcAtChipsetPkg/KbcResetDxe/KbcResetExtra.uni
+++ /dev/null
@@ -1,25 +0,0 @@
-// /** @file
-// KbcReset Localized Strings and Content
-//
-// Copyright (c) 2013 - 2014, 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
-// which 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.
-//
-// Module Name:
-// Reset.inf
-//
-// Abstract:
-//
-// **/
-
-#string STR_PROPERTIES_MODULE_NAME 
-#language en-US 
-"Keyboard Controller Reset DXE Driver"
-
-
diff --git a/PcAtChipsetPkg/KbcResetDxe/Reset.inf b/PcAtChipsetPkg/KbcResetDxe/Reset.inf
deleted file mode 100644
index b54b08c..0000000
--- a/PcAtChipsetPkg/KbcResetDxe/Reset.inf
+++ /dev/null
@@ -1,50 +0,0 @@
-## @file
-# This driver implements Reset Architectural Protocol.
-#
-# It should depend on the ResetSystemLib instance that is implemented based on KBC.
-#
-# Copyright (c) 2006 - 2014, 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         
-# which 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.             
-#
-#  Module Name:
-#    Reset.inf
-#
-#  Abstract:
-#
-##
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = KbcReset
-  MODULE_UNI_FILE                = KbcReset.uni
-  FILE_GUID                      = 6F0198AA-1F1D-426D-AE3E-39AB633FCC28
-  MODULE_TYPE                    = DXE_RUNTIME_DRIVER
-  VERSION_STRING                 = 1.0
-  ENTRY_POINT                    = InitializeReset
-
-[Packages]
-  MdePkg/MdePkg.dec
-  MdeModulePkg/MdeModulePkg.dec
-
-[LibraryClasses]
-  UefiDriverEntryPoint
-  DebugLib
-  UefiBootServicesTableLib
-  ResetSystemLib
-
-[Sources]
-  ResetEntry.c
-
-[Protocols]
-  gEfiResetArchProtocolGuid ## PRODUCES
-
-[Depex]
-  TRUE
-
-[UserExtensions.TianoCore."ExtraFiles"]
-  KbcResetExtra.uni
diff --git a/PcAtChipsetPkg/KbcResetDxe/ResetEntry.c b/PcAtChipsetPkg/KbcResetDxe/ResetEntry.c
deleted file mode 100644
index 03b4250..0000000
--- a/PcAtChipsetPkg/KbcResetDxe/ResetEntry.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/** @file
-  Driver entry for KbcReset driver.
-
-Copyright (c) 2009 - 2010, 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         
-which 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.             
-**/
-
-#include <PiDxe.h>
-
-#include <Library/DebugLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/ResetSystemLib.h>
-
-#include <Protocol/Reset.h>
-
-//
-// The handle onto which the Reset Architectural Protocol is installed
-//
-EFI_HANDLE  mResetHandle = NULL;
-
-/**
-  Reset the system.
-
-  @param ResetType       warm or cold
-  @param ResetStatus     possible cause of reset
-  @param DataSize        Size of ResetData in bytes
-  @param ResetData       Optional Unicode string
-
-**/
-VOID
-EFIAPI
-KbcResetSystem (
-  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 ();
-    break;
-  default:
-    return;
-  }
-
-  //
-  // Given we should have reset getting here would be bad
-  //
-  ASSERT (FALSE);
-}
-
-/**
-  Initialize the state information for the Reset Architectural Protocol.
-
-  @param ImageHandle     Handle of the loaded driver 
-  @param SystemTable     Pointer to the System Table
-
-  @retval EFI_SUCCESS           Thread can be successfully created
-  @retval EFI_OUT_OF_RESOURCES  Cannot allocate protocol data structure
-  @retval EFI_DEVICE_ERROR      Cannot create the timer service
-
-**/
-EFI_STATUS
-EFIAPI
-InitializeReset (
-  IN EFI_HANDLE        ImageHandle,
-  IN EFI_SYSTEM_TABLE  *SystemTable
-  )
-{
-  EFI_STATUS  Status;
-
-  //
-  // Make sure the Reset Architectural Protocol is not already installed in the system
-  //
-  ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gEfiResetArchProtocolGuid);
-
-  //
-  // Hook the runtime service table
-  //
-  SystemTable->RuntimeServices->ResetSystem = KbcResetSystem;
-
-  //
-  // Now install the Reset RT AP on a new handle
-  //
-  Status = gBS->InstallMultipleProtocolInterfaces (
-                  &mResetHandle,
-                  &gEfiResetArchProtocolGuid, NULL,
-                  NULL
-                  );
-  ASSERT_EFI_ERROR (Status);
-
-  return Status;
-}
diff --git a/PcAtChipsetPkg/PcAtChipsetPkg.dsc b/PcAtChipsetPkg/PcAtChipsetPkg.dsc
index 25bb894..b740f00 100644
--- a/PcAtChipsetPkg/PcAtChipsetPkg.dsc
+++ b/PcAtChipsetPkg/PcAtChipsetPkg.dsc
@@ -52,7 +52,6 @@ [Components]
   PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf
   PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
   PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf
-  PcAtChipsetPkg/KbcResetDxe/Reset.inf
   PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf
   PcAtChipsetPkg/Library/ResetSystemLib/ResetSystemLib.inf
   PcAtChipsetPkg/Library/BaseIoApicLib/BaseIoApicLib.inf
-- 
2.9.0.windows.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 11/11] MdeModulePkg/ResetSystemRuntimeDxe: Support EfiResetPlatformSpecific
  2016-08-10  5:56 [PATCH 00/11] Add ResetPlatformSpecific() to ResetSystemLib Ruiyu Ni
                   ` (9 preceding siblings ...)
  2016-08-10  5:56 ` [PATCH 10/11] PcAtChipsetPkg: Remove KbcResetDxe Ruiyu Ni
@ 2016-08-10  5:56 ` Ruiyu Ni
  2016-08-10 17:33   ` Jordan Justen
  10 siblings, 1 reply; 21+ messages in thread
From: Ruiyu Ni @ 2016-08-10  5:56 UTC (permalink / raw)
  To: edk2-devel; +Cc: Feng Tian, Amy Chan

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Amy Chan <amy.chan@intel.com>
---
 MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystem.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystem.c b/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystem.c
index aa1ca16..f61e65e 100644
--- a/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystem.c
+++ b/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystem.c
@@ -1,7 +1,7 @@
 /** @file
   Reset Architectural Protocol implementation
 
-  Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2006 - 2016, 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
@@ -86,11 +86,15 @@ DoS3 (
 
   @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 WatchdogData.
+  @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. ResetData is only
+                                valid if ResetStatus is something other than EFI_SUCCESS
+                                unless the ResetType is EfiResetPlatformSpecific
+                                where a minimum amount of ResetData is always required.
 **/
 VOID
 EFIAPI
@@ -144,6 +148,10 @@ ResetSystem (
     ResetShutdown ();
     return ;
 
+  case EfiResetPlatformSpecific:
+    ResetPlatformSpecific (DataSize, ResetData);
+    return;
+
   default:
     return ;
   }
-- 
2.9.0.windows.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH 07/11] QuarkSocPkg/ResetSystemLib: Implement ResetPlatformSpecific
  2016-08-10  5:56 ` [PATCH 07/11] QuarkSocPkg/ResetSystemLib: " Ruiyu Ni
@ 2016-08-10 16:28   ` Kinney, Michael D
  0 siblings, 0 replies; 21+ messages in thread
From: Kinney, Michael D @ 2016-08-10 16:28 UTC (permalink / raw)
  To: Ni, Ruiyu, edk2-devel@lists.01.org, Kinney, Michael D

Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>

> -----Original Message-----
> From: Ni, Ruiyu
> Sent: Tuesday, August 9, 2016 10:56 PM
> To: edk2-devel@lists.01.org
> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Steele, Kelly
> <kelly.steele@intel.com>
> Subject: [PATCH 07/11] QuarkSocPkg/ResetSystemLib: Implement ResetPlatformSpecific
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Kelly Steele <kelly.steele@intel.com>
> ---
>  .../Library/ResetSystemLib/ResetSystemLib.c        | 22 +++++++++++++++++++++-
>  1 file changed, 21 insertions(+), 1 deletion(-)
> 
> diff --git a/QuarkSocPkg/QuarkNorthCluster/Library/ResetSystemLib/ResetSystemLib.c
> b/QuarkSocPkg/QuarkNorthCluster/Library/ResetSystemLib/ResetSystemLib.c
> index c2ad7f3..3aa0f6d 100644
> --- a/QuarkSocPkg/QuarkNorthCluster/Library/ResetSystemLib/ResetSystemLib.c
> +++ b/QuarkSocPkg/QuarkNorthCluster/Library/ResetSystemLib/ResetSystemLib.c
> @@ -2,7 +2,7 @@
>  System reset Library Services.  This library class provides a set of
>  methods to reset whole system with manipulate QNC.
> 
> -Copyright (c) 2013-2015 Intel Corporation.
> +Copyright (c) 2013-2016 Intel Corporation.
> 
>  This program and the accompanying materials
>  are licensed and made available under the terms and conditions of the BSD License
> @@ -320,3 +320,23 @@ VOID
>    }
>  }
> 
> +/**
> +  This function causes a systemwide reset. The exact type of the reset is defined
> +  by the EFI_GUID that follows the Null-terminated Unicode string passed into
> ResetData.
> +  If the platform does not recognize the EFI_GUID in ResetData the platform must
> pick a
> +  supported reset type to perform.The platform may optionally log the parameters
> from
> +  any non-normal reset that occurs.
> +
> +  @param[in]  DataSize   The size, in bytes, of ResetData.
> +  @param[in]  ResetData  The data buffer starts with a Null-terminated string,
> followed
> +                         by the EFI_GUID.
> +**/
> +VOID
> +EFIAPI
> +ResetPlatformSpecific (
> +  IN UINTN   DataSize,
> +  IN VOID    *ResetData
> +  )
> +{
> +  ResetCold ();
> +}
> --
> 2.9.0.windows.1



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 11/11] MdeModulePkg/ResetSystemRuntimeDxe: Support EfiResetPlatformSpecific
  2016-08-10  5:56 ` [PATCH 11/11] MdeModulePkg/ResetSystemRuntimeDxe: Support EfiResetPlatformSpecific Ruiyu Ni
@ 2016-08-10 17:33   ` Jordan Justen
  2016-08-11  2:43     ` Ni, Ruiyu
  0 siblings, 1 reply; 21+ messages in thread
From: Jordan Justen @ 2016-08-10 17:33 UTC (permalink / raw)
  To: Ruiyu Ni, edk2-devel; +Cc: Feng Tian, Amy Chan

On 2016-08-09 22:56:11, Ruiyu Ni wrote:
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
> Cc: Feng Tian <feng.tian@intel.com>
> Cc: Amy Chan <amy.chan@intel.com>
> ---
>  MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystem.c | 14 +++++++++++---
>  1 file changed, 11 insertions(+), 3 deletions(-)
> 
> diff --git a/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystem.c b/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystem.c
> index aa1ca16..f61e65e 100644
> --- a/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystem.c
> +++ b/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystem.c
> @@ -1,7 +1,7 @@
>  /** @file
>    Reset Architectural Protocol implementation
>  
> -  Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2006 - 2016, 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
> @@ -86,11 +86,15 @@ DoS3 (
>  
>    @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 WatchdogData.
> +  @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. ResetData is only
> +                                valid if ResetStatus is something other than EFI_SUCCESS
> +                                unless the ResetType is EfiResetPlatformSpecific
> +                                where a minimum amount of ResetData is always required.

Most of the patches in this series have lines that are longer than 80
columns. Can you fix that?

I think you should move patch 11 before patch 09 "OvmfPkg: Use
MdeModulePkg/ResetSystemRuntimeDxe". I think this should allow reset
to continue working through the entire series for OVMF. (right?)

With those changes,

Series Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

>  **/
>  VOID
>  EFIAPI
> @@ -144,6 +148,10 @@ ResetSystem (
>      ResetShutdown ();
>      return ;
>  
> +  case EfiResetPlatformSpecific:
> +    ResetPlatformSpecific (DataSize, ResetData);
> +    return;
> +
>    default:
>      return ;
>    }
> -- 
> 2.9.0.windows.1
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 08/11] Vlv2TbltDevicePkg/ResetSystemLib: Implement ResetPlatformSpecific
  2016-08-10  5:56 ` [PATCH 08/11] Vlv2TbltDevicePkg/ResetSystemLib: " Ruiyu Ni
@ 2016-08-11  2:22   ` Wei, David
  0 siblings, 0 replies; 21+ messages in thread
From: Wei, David @ 2016-08-11  2:22 UTC (permalink / raw)
  To: Ni, Ruiyu, edk2-devel@lists.01.org; +Cc: Ni, Ruiyu

Reviewed-by: David Wei <david.wei@intel.com>

Thanks,
David  Wei                                 

-----Original Message-----
From: Ni, Ruiyu 
Sent: Wednesday, August 10, 2016 1:56 PM
To: edk2-devel@lists.01.org
Cc: Wei, David <david.wei@intel.com>
Subject: [PATCH 08/11] Vlv2TbltDevicePkg/ResetSystemLib: Implement ResetPlatformSpecific

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: David Wei <david.wei@intel.com>
---
 .../Library/ResetSystemLib/ResetSystemLib.c        | 23 ++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

diff --git a/Vlv2TbltDevicePkg/Library/ResetSystemLib/ResetSystemLib.c b/Vlv2TbltDevicePkg/Library/ResetSystemLib/ResetSystemLib.c
index 1a6da83..77f1b8b 100644
--- a/Vlv2TbltDevicePkg/Library/ResetSystemLib/ResetSystemLib.c
+++ b/Vlv2TbltDevicePkg/Library/ResetSystemLib/ResetSystemLib.c
@@ -1,7 +1,6 @@
 /** @file
 
-Copyright (c) 2007  - 2014, Intel Corporation. All rights reserved.<BR>
-                                                                                   

+  Copyright (c) 2007 - 2016, 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                                     

@@ -176,3 +175,23 @@ EnterS3WithImmediateWake (
   ASSERT (FALSE);
 }
 
+/**
+  This function causes a systemwide reset. The exact type of the reset is defined
+  by the EFI_GUID that follows the Null-terminated Unicode string passed into ResetData.
+  If the platform does not recognize the EFI_GUID in ResetData the platform must pick a
+  supported reset type to perform.The platform may optionally log the parameters from
+  any non-normal reset that occurs.
+
+  @param[in]  DataSize   The size, in bytes, of ResetData.
+  @param[in]  ResetData  The data buffer starts with a Null-terminated string, followed
+                         by the EFI_GUID.
+**/
+VOID
+EFIAPI
+ResetPlatformSpecific (
+  IN UINTN   DataSize,
+  IN VOID    *ResetData
+  )
+{
+  ResetCold ();
+}
-- 
2.9.0.windows.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH 11/11] MdeModulePkg/ResetSystemRuntimeDxe: Support EfiResetPlatformSpecific
  2016-08-10 17:33   ` Jordan Justen
@ 2016-08-11  2:43     ` Ni, Ruiyu
  2016-08-11  6:05       ` Jordan Justen
  0 siblings, 1 reply; 21+ messages in thread
From: Ni, Ruiyu @ 2016-08-11  2:43 UTC (permalink / raw)
  To: Justen, Jordan L, edk2-devel@lists.01.org; +Cc: Tian, Feng, Chan, Amy



Thanks/Ray

> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> Jordan Justen
> Sent: Thursday, August 11, 2016 1:33 AM
> To: Ni, Ruiyu <ruiyu.ni@intel.com>; edk2-devel@lists.01.org
> Cc: Tian, Feng <feng.tian@intel.com>; Chan, Amy <amy.chan@intel.com>
> Subject: Re: [edk2] [PATCH 11/11]
> MdeModulePkg/ResetSystemRuntimeDxe: Support EfiResetPlatformSpecific
> 
> On 2016-08-09 22:56:11, Ruiyu Ni wrote:
> > Contributed-under: TianoCore Contribution Agreement 1.0
> > Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
> > Cc: Feng Tian <feng.tian@intel.com>
> > Cc: Amy Chan <amy.chan@intel.com>
> > ---
> >  MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystem.c | 14
> > +++++++++++---
> >  1 file changed, 11 insertions(+), 3 deletions(-)
> >
> > diff --git
> > a/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystem.c
> > b/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystem.c
> > index aa1ca16..f61e65e 100644
> > --- a/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystem.c
> > +++
> b/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystem.c
> > @@ -1,7 +1,7 @@
> >  /** @file
> >    Reset Architectural Protocol implementation
> >
> > -  Copyright (c) 2006 - 2012, Intel Corporation. All rights
> > reserved.<BR>
> > +  Copyright (c) 2006 - 2016, 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 @@ -86,11 +86,15 @@ DoS3 (
> >
> >    @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 WatchdogData.
> > +  @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. ResetData is only
> > +                                valid if ResetStatus is something other than EFI_SUCCESS
> > +                                unless the ResetType is EfiResetPlatformSpecific
> > +                                where a minimum amount of ResetData is always
> required.
> 
> Most of the patches in this series have lines that are longer than 80 columns.
> Can you fix that?

Do we have rule to limit the line to 80 columns? I saw many files have long
lines.
Or I can change OvmfPkg changes to follow the 80 rule. What do you think?

> 
> I think you should move patch 11 before patch 09 "OvmfPkg: Use
> MdeModulePkg/ResetSystemRuntimeDxe". I think this should allow reset to
> continue working through the entire series for OVMF. (right?)

Reset works using my current order.
But I agree moving #11 before #9 can move ResetPlatformSpecific support
earilier, and group the ResetPlatformSpecific patches together. I will do that.

> 
> With those changes,
> 
> Series Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
> 
> >  **/
> >  VOID
> >  EFIAPI
> > @@ -144,6 +148,10 @@ ResetSystem (
> >      ResetShutdown ();
> >      return ;
> >
> > +  case EfiResetPlatformSpecific:
> > +    ResetPlatformSpecific (DataSize, ResetData);
> > +    return;
> > +
> >    default:
> >      return ;
> >    }
> > --
> > 2.9.0.windows.1
> >
> > _______________________________________________
> > edk2-devel mailing list
> > edk2-devel@lists.01.org
> > https://lists.01.org/mailman/listinfo/edk2-devel
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 11/11] MdeModulePkg/ResetSystemRuntimeDxe: Support EfiResetPlatformSpecific
  2016-08-11  2:43     ` Ni, Ruiyu
@ 2016-08-11  6:05       ` Jordan Justen
  0 siblings, 0 replies; 21+ messages in thread
From: Jordan Justen @ 2016-08-11  6:05 UTC (permalink / raw)
  To: Ni, Ruiyu, edk2-devel@lists.01.org; +Cc: Tian, Feng, Chan, Amy

On 2016-08-10 19:43:03, Ni, Ruiyu wrote:
> 
> > -----Original Message-----
> > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> > Jordan Justen
> > 
> > On 2016-08-09 22:56:11, Ruiyu Ni wrote:
> > > +                                indicate the reason for the system reset. ResetData is only
> > > +                                valid if ResetStatus is something other than EFI_SUCCESS
> > > +                                unless the ResetType is EfiResetPlatformSpecific
> > > +                                where a minimum amount of ResetData is always
> > required.
> > 
> > Most of the patches in this series have lines that are longer than 80 columns.
> > Can you fix that?
> 
> Do we have rule to limit the line to 80 columns? I saw many files have long
> lines.
> Or I can change OvmfPkg changes to follow the 80 rule. What do you think?

Yes, it is in the code style document. You should update all patches
for it. It looks like most of them will just be copy/paste.

> 
> > 
> > I think you should move patch 11 before patch 09 "OvmfPkg: Use
> > MdeModulePkg/ResetSystemRuntimeDxe". I think this should allow reset to
> > continue working through the entire series for OVMF. (right?)
> 
> Reset works using my current order.
> But I agree moving #11 before #9 can move ResetPlatformSpecific support
> earilier, and group the ResetPlatformSpecific patches together. I will do that.

Oh, I see. I guess this patch updates the ResetPlatformSpecific type,
so it probably won't be too important for OVMF. I think it might be a
little better earlier, but you can decide if you want to move it or
not.

-Jordan


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 04/11] CorebootPayloadPkg/ResetSystemLib: Implement ResetPlatformSpecific
  2016-08-10  5:56 ` [PATCH 04/11] CorebootPayloadPkg/ResetSystemLib: " Ruiyu Ni
@ 2016-08-11 16:09   ` Ma, Maurice
  0 siblings, 0 replies; 21+ messages in thread
From: Ma, Maurice @ 2016-08-11 16:09 UTC (permalink / raw)
  To: Ni, Ruiyu; +Cc: Agyeman, Prince, edk2-devel@lists.01.org

It looks good to me. 
Reviewed by: Maurice Ma <maurice.ma@intel.com>

Regards,
Maurice

-----Original Message-----
From: Ni, Ruiyu 
Sent: Tuesday, August 09, 2016 10:56 PM
To: edk2-devel@lists.01.org
Cc: Ma, Maurice; Agyeman, Prince
Subject: [PATCH 04/11] CorebootPayloadPkg/ResetSystemLib: Implement ResetPlatformSpecific

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Maurice Ma <maurice.ma@intel.com>
Cc: Prince Agyeman <prince.agyeman@intel.com>
---
 .../Library/ResetSystemLib/ResetSystemLib.c        | 23 +++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.c b/CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.c
index 55f5609..f6621bf 100644
--- a/CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.c
+++ b/CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.c
@@ -1,7 +1,7 @@
 /** @file
   Reset System Library functions for coreboot
 
-  Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2014 - 2016, 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
   which accompanies this distribution.  The full text of the license may be found at @@ -161,3 +161,24 @@ EnterS3WithImmediateWake (
   AcpiPmControl (5);
   ASSERT (FALSE);
 }
+
+/**
+  This function causes a systemwide reset. The exact type of the reset 
+is defined
+  by the EFI_GUID that follows the Null-terminated Unicode string passed into ResetData.
+  If the platform does not recognize the EFI_GUID in ResetData the 
+platform must pick a
+  supported reset type to perform.The platform may optionally log the 
+parameters from
+  any non-normal reset that occurs.
+
+  @param[in]  DataSize   The size, in bytes, of ResetData.
+  @param[in]  ResetData  The data buffer starts with a Null-terminated string, followed
+                         by the EFI_GUID.
+**/
+VOID
+EFIAPI
+ResetPlatformSpecific (
+  IN UINTN   DataSize,
+  IN VOID    *ResetData
+  )
+{
+  ResetCold ();
+}
--
2.9.0.windows.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH 01/11] MdePkg/UefiSpec.h: Align function header of ResetSystem to UEFI Spec
  2016-08-10  5:56 ` [PATCH 01/11] MdePkg/UefiSpec.h: Align function header of ResetSystem to UEFI Spec Ruiyu Ni
@ 2016-08-16  4:49   ` Gao, Liming
  0 siblings, 0 replies; 21+ messages in thread
From: Gao, Liming @ 2016-08-16  4:49 UTC (permalink / raw)
  To: Ni, Ruiyu, edk2-devel@lists.01.org

Reviewed-by: Liming Gao <liming.gao@intel.com>

> -----Original Message-----
> From: Ni, Ruiyu
> Sent: Wednesday, August 10, 2016 1:56 PM
> To: edk2-devel@lists.01.org
> Cc: Gao, Liming <liming.gao@intel.com>
> Subject: [PATCH 01/11] MdePkg/UefiSpec.h: Align function header of
> ResetSystem to UEFI Spec
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> ---
>  MdePkg/Include/Uefi/UefiSpec.h | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/MdePkg/Include/Uefi/UefiSpec.h
> b/MdePkg/Include/Uefi/UefiSpec.h
> index e8feed1..57cb4e8 100644
> --- a/MdePkg/Include/Uefi/UefiSpec.h
> +++ b/MdePkg/Include/Uefi/UefiSpec.h
> @@ -1004,11 +1004,15 @@ EFI_STATUS
> 
>    @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 WatchdogData.
> +  @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. ResetData is only
> +                                valid if ResetStatus is something other than EFI_SUCCESS
> +                                unless the ResetType is EfiResetPlatformSpecific
> +                                where a minimum amount of ResetData is always required.
>  **/
>  typedef
>  VOID
> --
> 2.9.0.windows.1



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 03/11] MdeModulePkg/BaseResetSystemLibNull: Implement ResetPlatformSpecific
  2016-08-10  5:56 ` [PATCH 03/11] MdeModulePkg/BaseResetSystemLibNull: Implement ResetPlatformSpecific Ruiyu Ni
@ 2016-08-23  3:21   ` Tian, Feng
  2016-08-23  4:56     ` Ni, Ruiyu
  0 siblings, 1 reply; 21+ messages in thread
From: Tian, Feng @ 2016-08-23  3:21 UTC (permalink / raw)
  To: Ni, Ruiyu, edk2-devel@lists.01.org; +Cc: Chan, Amy, Tian, Feng

Do you need directly assert in ResetPlatformSpecific() for this NULL instance? Other series look good to me

Reviewed-by: Feng Tian <feng.tian@intel.com>

Thanks
Feng

-----Original Message-----
From: Ni, Ruiyu 
Sent: Wednesday, August 10, 2016 1:56 PM
To: edk2-devel@lists.01.org
Cc: Tian, Feng <feng.tian@intel.com>; Chan, Amy <amy.chan@intel.com>
Subject: [PATCH 03/11] MdeModulePkg/BaseResetSystemLibNull: Implement ResetPlatformSpecific

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Amy Chan <amy.chan@intel.com>
---
 .../BaseResetSystemLibNull.c                       | 23 +++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.c b/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.c
index d21a774..b233254 100644
--- a/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.c
+++ b/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull
+++ .c
@@ -1,7 +1,7 @@
 /** @file
   Null Reset System Library instance that only generates ASSERT() conditions.
 
-  Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2006 - 2016, 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
   which accompanies this distribution.  The full text of the license may be found at @@ -77,3 +77,24 @@ EnterS3WithImmediateWake (  {
   ASSERT (FALSE);
 }
+
+/**
+  This function causes a systemwide reset. The exact type of the reset 
+is defined
+  by the EFI_GUID that follows the Null-terminated Unicode string passed into ResetData.
+  If the platform does not recognize the EFI_GUID in ResetData the 
+platform must pick a
+  supported reset type to perform.The platform may optionally log the 
+parameters from
+  any non-normal reset that occurs.
+
+  @param[in]  DataSize   The size, in bytes, of ResetData.
+  @param[in]  ResetData  The data buffer starts with a Null-terminated string, followed
+                         by the EFI_GUID.
+**/
+VOID
+EFIAPI
+ResetPlatformSpecific (
+  IN UINTN   DataSize,
+  IN VOID    *ResetData
+  )
+{
+  ResetCold ();
+}
--
2.9.0.windows.1



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 03/11] MdeModulePkg/BaseResetSystemLibNull: Implement ResetPlatformSpecific
  2016-08-23  3:21   ` Tian, Feng
@ 2016-08-23  4:56     ` Ni, Ruiyu
  0 siblings, 0 replies; 21+ messages in thread
From: Ni, Ruiyu @ 2016-08-23  4:56 UTC (permalink / raw)
  To: Tian, Feng, edk2-devel@lists.01.org; +Cc: Chan, Amy

Feng,
The spec says " If the platform does not recognize the EFI_GUID in ResetData
 the platform must pick a  supported reset type to perform".

For the NULL instance of ResetSystemLib, I treat it as an implementation for a
Certain platform, then it's ok to let it pick a supported reset type to perform.

Thanks/Ray

> -----Original Message-----
> From: Tian, Feng
> Sent: Tuesday, August 23, 2016 11:22 AM
> To: Ni, Ruiyu <ruiyu.ni@intel.com>; edk2-devel@lists.01.org
> Cc: Chan, Amy <amy.chan@intel.com>; Tian, Feng <feng.tian@intel.com>
> Subject: RE: [PATCH 03/11] MdeModulePkg/BaseResetSystemLibNull:
> Implement ResetPlatformSpecific
> 
> Do you need directly assert in ResetPlatformSpecific() for this NULL instance?
> Other series look good to me
> 
> Reviewed-by: Feng Tian <feng.tian@intel.com>
> 
> Thanks
> Feng
> 
> -----Original Message-----
> From: Ni, Ruiyu
> Sent: Wednesday, August 10, 2016 1:56 PM
> To: edk2-devel@lists.01.org
> Cc: Tian, Feng <feng.tian@intel.com>; Chan, Amy <amy.chan@intel.com>
> Subject: [PATCH 03/11] MdeModulePkg/BaseResetSystemLibNull:
> Implement ResetPlatformSpecific
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
> Cc: Feng Tian <feng.tian@intel.com>
> Cc: Amy Chan <amy.chan@intel.com>
> ---
>  .../BaseResetSystemLibNull.c                       | 23 +++++++++++++++++++++-
>  1 file changed, 22 insertions(+), 1 deletion(-)
> 
> diff --git
> a/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNul
> l.c
> b/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNul
> l.c
> index d21a774..b233254 100644
> ---
> a/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNul
> l.c
> +++
> b/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNul
> l
> +++ .c
> @@ -1,7 +1,7 @@
>  /** @file
>    Null Reset System Library instance that only generates ASSERT() conditions.
> 
> -  Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2006 - 2016, 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
>    which accompanies this distribution.  The full text of the license may be
> found at @@ -77,3 +77,24 @@ EnterS3WithImmediateWake (  {
>    ASSERT (FALSE);
>  }
> +
> +/**
> +  This function causes a systemwide reset. The exact type of the reset
> +is defined
> +  by the EFI_GUID that follows the Null-terminated Unicode string passed
> into ResetData.
> +  If the platform does not recognize the EFI_GUID in ResetData the
> +platform must pick a
> +  supported reset type to perform.The platform may optionally log the
> +parameters from
> +  any non-normal reset that occurs.
> +
> +  @param[in]  DataSize   The size, in bytes, of ResetData.
> +  @param[in]  ResetData  The data buffer starts with a Null-terminated
> string, followed
> +                         by the EFI_GUID.
> +**/
> +VOID
> +EFIAPI
> +ResetPlatformSpecific (
> +  IN UINTN   DataSize,
> +  IN VOID    *ResetData
> +  )
> +{
> +  ResetCold ();
> +}
> --
> 2.9.0.windows.1



^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2016-08-23  4:56 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-10  5:56 [PATCH 00/11] Add ResetPlatformSpecific() to ResetSystemLib Ruiyu Ni
2016-08-10  5:56 ` [PATCH 01/11] MdePkg/UefiSpec.h: Align function header of ResetSystem to UEFI Spec Ruiyu Ni
2016-08-16  4:49   ` Gao, Liming
2016-08-10  5:56 ` [PATCH 02/11] MdeModulePkg: Add API ResetPlatformSpecific() to ResetSystemLib.h Ruiyu Ni
2016-08-10  5:56 ` [PATCH 03/11] MdeModulePkg/BaseResetSystemLibNull: Implement ResetPlatformSpecific Ruiyu Ni
2016-08-23  3:21   ` Tian, Feng
2016-08-23  4:56     ` Ni, Ruiyu
2016-08-10  5:56 ` [PATCH 04/11] CorebootPayloadPkg/ResetSystemLib: " Ruiyu Ni
2016-08-11 16:09   ` Ma, Maurice
2016-08-10  5:56 ` [PATCH 05/11] OvmfPkg/ResetSystemLib: " Ruiyu Ni
2016-08-10  5:56 ` [PATCH 06/11] PcAtChipsetPkg/ResetSystemLib: " Ruiyu Ni
2016-08-10  5:56 ` [PATCH 07/11] QuarkSocPkg/ResetSystemLib: " Ruiyu Ni
2016-08-10 16:28   ` Kinney, Michael D
2016-08-10  5:56 ` [PATCH 08/11] Vlv2TbltDevicePkg/ResetSystemLib: " Ruiyu Ni
2016-08-11  2:22   ` Wei, David
2016-08-10  5:56 ` [PATCH 09/11] OvmfPkg: Use MdeModulePkg/ResetSystemRuntimeDxe Ruiyu Ni
2016-08-10  5:56 ` [PATCH 10/11] PcAtChipsetPkg: Remove KbcResetDxe Ruiyu Ni
2016-08-10  5:56 ` [PATCH 11/11] MdeModulePkg/ResetSystemRuntimeDxe: Support EfiResetPlatformSpecific Ruiyu Ni
2016-08-10 17:33   ` Jordan Justen
2016-08-11  2:43     ` Ni, Ruiyu
2016-08-11  6:05       ` Jordan Justen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox