LibResetSystem was performing a cold reboot for both reboot and
shutdown.

This patch updates LibResetSystem to pass SYS_CFG_SHUTDOWN to the
microcontroller when called wit EfiResetShutdown.

Signed-off-by: Ryan Harkin <ryan.har...@linaro.org>
---
 .../Library/ResetSystemLib/ResetSystemLib.c        |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.c 
b/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.c
index f858317..f32b533 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.c
+++ b/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.c
@@ -49,12 +49,19 @@ LibResetSystem (
   case EfiResetWarm:
     // Map a warm reset into a cold reset
   case EfiResetCold:
-  case EfiResetShutdown:
     // Send the REBOOT function to the platform microcontroller
     ArmPlatformSysConfigSet (SYS_CFG_REBOOT, 0);
 
     // We should never be here
     while(1);
+    break;
+  case EfiResetShutdown:
+    // Send the SHUTDOWN function to the platform microcontroller
+    ArmPlatformSysConfigSet (SYS_CFG_SHUTDOWN, 0);
+
+    // We should never be here
+    while(1);
+    break;
   }
 
   ASSERT(FALSE);
-- 
1.7.9.5


------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to