diff options
-rw-r--r-- | ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.c | 19 | ||||
-rw-r--r-- | ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.inf | 3 |
2 files changed, 10 insertions, 12 deletions
diff --git a/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.c b/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.c index 88d075a..a471eb2 100644 --- a/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.c +++ b/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.c @@ -19,9 +19,9 @@ #include <PiDxe.h> #include <Library/BaseLib.h> -#include <Library/PcdLib.h> #include <Library/DebugLib.h> #include <Library/EfiResetSystemLib.h> +#include <Library/ArmPlatformSysConfigLib.h> #include <ArmPlatform.h> @@ -45,23 +45,20 @@ LibResetSystem ( IN CHAR16 *ResetData OPTIONAL ) { - if (ResetData != NULL) { - DEBUG ((EFI_D_ERROR, "%s", ResetData)); - } - switch (ResetType) { case EfiResetWarm: // Map a warm reset into a cold reset case EfiResetCold: case EfiResetShutdown: - default: - CpuDeadLoop (); - break; + // Send the REBOOT function to the platform microcontroller + ArmPlatformSysConfigSet (SYS_CFG_REBOOT, 0); + + // We should never be here + while(1); } - // If the reset didn't work, return an error. - ASSERT (FALSE); - return EFI_DEVICE_ERROR; + ASSERT(FALSE); + return EFI_UNSUPPORTED; } /** diff --git a/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.inf b/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.inf index 23d4715..3965e21 100644 --- a/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.inf +++ b/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.inf @@ -27,8 +27,9 @@ [Packages] MdePkg/MdePkg.dec EmbeddedPkg/EmbeddedPkg.dec - ArmPlatformPkg/ArmVExpressPkg/ArmVExpressPkg.dec + ArmPlatformPkg/ArmPlatformPkg.dec [LibraryClasses] DebugLib BaseLib + ArmPlatformSysConfigLib |