diff options
author | Ryan Harkin <ryan.harkin@linaro.org> | 2013-05-23 16:12:24 +0100 |
---|---|---|
committer | Ryan Harkin <ryan.harkin@linaro.org> | 2013-05-23 16:12:24 +0100 |
commit | 7a7e2ccf801e9025296645edb6ed4b2d20229ebc (patch) | |
tree | 08e1f97d5aaa1746ac63a4a8920b1999bc8e1479 | |
parent | 5e1464553e7f232e6951340c6105ffbfce92852a (diff) | |
parent | ecae5d211de99208a68068d9d21e86dac626807e (diff) |
Merge branch 'linaro-topic-menu' into linaro-tracking-2013.05linaro-uefi-2013.05-rc5
-rw-r--r-- | ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.c | 9 | ||||
-rw-r--r-- | ArmPlatformPkg/Bds/BootMenu.c | 20 |
2 files changed, 25 insertions, 4 deletions
diff --git a/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.c b/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.c index f858317550..d2ec52cad9 100644 --- a/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.c +++ b/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.c @@ -49,12 +49,13 @@ 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);
+ break;
}
ASSERT(FALSE);
diff --git a/ArmPlatformPkg/Bds/BootMenu.c b/ArmPlatformPkg/Bds/BootMenu.c index 2280e8c3cb..94ec9f66d9 100644 --- a/ArmPlatformPkg/Bds/BootMenu.c +++ b/ArmPlatformPkg/Bds/BootMenu.c @@ -696,12 +696,32 @@ BootShell ( return Status;
}
+EFI_STATUS +Reboot ( + IN LIST_ENTRY *BootOptionsList + ) +{ + gRT->ResetSystem(EfiResetCold, EFI_SUCCESS, 0, NULL); + return EFI_UNSUPPORTED; +} + +EFI_STATUS +Shutdown ( + IN LIST_ENTRY *BootOptionsList + ) +{ + gRT->ResetSystem(EfiResetShutdown, EFI_SUCCESS, 0, NULL); + return EFI_UNSUPPORTED; +} + struct BOOT_MAIN_ENTRY {
CONST CHAR16* Description;
EFI_STATUS (*Callback) (IN LIST_ENTRY *BootOptionsList);
} BootMainEntries[] = {
{ L"Boot Manager", BootMenuManager },
{ L"Shell", BootShell }, + { L"Reboot", Reboot }, + { L"Shutdown", Shutdown }, };
|