summaryrefslogtreecommitdiffstats
path: root/ArmPlatformPkg/Include
diff options
context:
space:
mode:
authorHarry Liebel <Harry.Liebel@arm.com>2014-10-27 10:52:11 +0000
committeroliviermartin <oliviermartin@Edk2>2014-10-27 10:52:11 +0000
commitced216f8b994bbc5a9a7a377668bf8f5a0d782e2 (patch)
tree769cf4bd43347e451ae208864f5845b505cf3c24 /ArmPlatformPkg/Include
parent53ae06f50dea91865edfacde1edc70c9e76b90d2 (diff)
downloadedk2-ced216f8b994bbc5a9a7a377668bf8f5a0d782e2.tar.gz
edk2-ced216f8b994bbc5a9a7a377668bf8f5a0d782e2.tar.bz2
edk2-ced216f8b994bbc5a9a7a377668bf8f5a0d782e2.zip
ArmPlatformPkg/ArmShellCmdRunAxf: Added 'runaxf' cmd to shell
Use the command to load and start a ARM Executable File from mass storage. This is basically just an ELF file. The program is copied to memory and the Entrypoint is called. Control is not expected to return back to the Shell. This has only been tested on AArch64 with a limited set of AXF binaries. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Harry Liebel <Harry.Liebel@arm.com> Reviewed-By: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16247 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPlatformPkg/Include')
-rw-r--r--ArmPlatformPkg/Include/Library/ArmShellCmdLib.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/ArmPlatformPkg/Include/Library/ArmShellCmdLib.h b/ArmPlatformPkg/Include/Library/ArmShellCmdLib.h
new file mode 100644
index 0000000000..eb31cd4053
--- /dev/null
+++ b/ArmPlatformPkg/Include/Library/ArmShellCmdLib.h
@@ -0,0 +1,57 @@
+/** @file
+*
+* Definitions for the Dynamic Shell command library
+*
+* Copyright (C) 2014, ARM Ltd
+*
+* This program and the accompanying materials are licensed and made available
+* under the terms and conditions of the BSD License which accompanies this
+* distribution. The full text of the license may be found at
+* http://opensource.org/licenses/bsd-license.php
+*
+* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
+* WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+*
+**/
+
+#ifndef _ARM_SHELL_CMD_LIB_H_
+#define _ARM_SHELL_CMD_LIB_H_
+
+/**
+
+ Initialize and Install EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL for RunAxf command.
+
+ @param[in] ImageHandle Handle the protocol should be attached to.
+
+ @retval EFI_SUCCESS The command has been installed successfully.
+
+ @retval EFI_UNSUPPORTED Help for the command failed to initialise.
+
+ @return Status code returned by InstallProtocolInterface
+ Boot Service function.
+
+**/
+EFI_STATUS
+ShellDynCmdRunAxfInstall (
+ IN EFI_HANDLE ImageHandle
+ );
+
+/**
+
+ Uninstall the RunAxf Command
+
+ @param[in] ImageHandle Handle of the device where the protocol should have
+ been installed.
+
+ @retval EFI_SUCCESS The device has been un-initialized successfully.
+
+ @return Status code returned by UninstallProtocolInterface
+ Boot Service function.
+
+**/
+EFI_STATUS
+ShellDynCmdRunAxfUninstall (
+ IN EFI_HANDLE ImageHandle
+ );
+
+#endif // _ARM_SHELL_CMD_LIB_H_