summaryrefslogtreecommitdiff
path: root/ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.c
diff options
context:
space:
mode:
Diffstat (limited to 'ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.c')
-rw-r--r--ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.c b/ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.c
index 4134c8b..2597afa 100644
--- a/ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.c
+++ b/ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.c
@@ -24,7 +24,7 @@
/**
Library constructor. This function does nothing, but this library may depend
on other libraries that do have a non-trivial constructor, which the
- BaseToools fail to account for if a library has no constructor at all.
+ BaseTools fail to account for if a library has no constructor at all.
**/
RETURN_STATUS
EFIAPI
@@ -71,13 +71,16 @@ ResetWarm (
{
ARM_MONITOR_ARGS Args;
- Args.Arg0 = ARM_SMC_ID_PSCI_SYSTEM_RESET2_AARCH64;
+ Args.Arg0 = ARM_SMC_ID_PSCI_FEATURES;
+ Args.Arg1 = ARM_SMC_ID_PSCI_SYSTEM_RESET2_AARCH64;
// Is SYSTEM_RESET2 supported?
ArmMonitorCall (&Args);
if (Args.Arg0 == ARM_SMC_PSCI_RET_SUCCESS) {
// Send PSCI SYSTEM_RESET2 command
Args.Arg0 = ARM_SMC_ID_PSCI_SYSTEM_RESET2_AARCH64;
+ Args.Arg1 = 0; // Reset type
+ // cookie does not matter with reset type 0
ArmMonitorCall (&Args);
} else {