diff options
author | Kefeng Wang <kefeng.wang@linaro.org> | 2014-05-09 11:16:50 +0800 |
---|---|---|
committer | Leif Lindholm <leif.lindholm@linaro.org> | 2014-05-14 20:12:35 +0100 |
commit | a652c6ebdc9661c39ac605961832e82b9bc4f65f (patch) | |
tree | 4207a5a5010f4489bbd58b0701b767e72429d5e9 | |
parent | 0d781852aa13c9e806ff472ba8f3a5cfb31d1bd4 (diff) |
HisiPkg: D01: add UefiShell for stub kernel boot
Signed-off-by: Kefeng Wang <kefeng.wang@linaro.org>
-rw-r--r-- | HisiPkg/D01BoardPkg/Bds/BootMenu.c | 40 | ||||
-rw-r--r-- | HisiPkg/D01BoardPkg/D01BoardPkg.fdf | 1 |
2 files changed, 41 insertions, 0 deletions
diff --git a/HisiPkg/D01BoardPkg/Bds/BootMenu.c b/HisiPkg/D01BoardPkg/Bds/BootMenu.c index 16d9f4cfc..e265c130f 100644 --- a/HisiPkg/D01BoardPkg/Bds/BootMenu.c +++ b/HisiPkg/D01BoardPkg/Bds/BootMenu.c @@ -711,6 +711,43 @@ BootEBL ( return Status;
}
+ +EFI_STATUS +BootShell ( + IN LIST_ENTRY *BootOptionsList + ) +{ + EFI_STATUS Status; + + // Start EFI Shell + Status = BdsLoadApplication (mImageHandle, L"Shell", 0, NULL); + if (Status == EFI_NOT_FOUND) { + Print (L"Error: EFI Application not found.\n"); + } else if (EFI_ERROR(Status)) { + Print (L"Error: Status Code: 0x%X\n",(UINT32)Status); + } + + 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; +} + EFI_STATUS BootLinuxAtagLoader ( IN LIST_ENTRY *BootOptionsList @@ -775,6 +812,9 @@ struct BOOT_MAIN_ENTRY { } BootMainEntries[] = {
{ L"Boot Manager", BootMenuManager },
{ L"EBL", BootEBL }, + { L"Shell", BootShell }, + { L"Reboot", Reboot }, + { L"Shutdown", Shutdown }, { L"GO", BootGo }, };
diff --git a/HisiPkg/D01BoardPkg/D01BoardPkg.fdf b/HisiPkg/D01BoardPkg/D01BoardPkg.fdf index 9939562a6..8f9861690 100644 --- a/HisiPkg/D01BoardPkg/D01BoardPkg.fdf +++ b/HisiPkg/D01BoardPkg/D01BoardPkg.fdf @@ -203,6 +203,7 @@ READ_LOCK_STATUS = TRUE # UEFI application (Shell Embedded Boot Loader) # INF HisiPkg/D01BoardPkg/Application/Ebl/Ebl.inf + INF ShellBinPkg/UefiShell/UefiShell.inf # # Bds |