diff options
Diffstat (limited to 'ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.c')
-rw-r--r-- | ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.c | 7 |
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 {
|