summaryrefslogtreecommitdiff
path: root/ArmPkg/Application/LinuxLoader/LinuxInternal.h
diff options
context:
space:
mode:
authoroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2011-09-22 22:57:03 +0000
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2011-09-22 22:57:03 +0000
commit75e4db2d3bb063e767f94c78259760755eedbaff (patch)
tree83cb961710b29777f1d1f4fcf3f0d3319060ef8a /ArmPkg/Application/LinuxLoader/LinuxInternal.h
parentd9325c8e4f858abe7b888b21df4bd0a34864492f (diff)
downloadedk2-platforms-75e4db2d3bb063e767f94c78259760755eedbaff.tar.xz
ArmPkg/Application/LinuxLoader: Create a Linux Loader EFI application
There are two variants of the Linux Loader EFI application: - the ATAG version 'LinuxAtagLoader.inf': expect to start an ATAG 'zImage' in the same directory as the EFI application - the FDT version 'LinuxFdtLoader.inf': load the FDT blob 'platform.dtb' and the FDT 'zImage' from the same directory as the EFI application. When these applications are started without any argument, a menu appears to the user to create/update a boot entry. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12410 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPkg/Application/LinuxLoader/LinuxInternal.h')
-rw-r--r--ArmPkg/Application/LinuxLoader/LinuxInternal.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/ArmPkg/Application/LinuxLoader/LinuxInternal.h b/ArmPkg/Application/LinuxLoader/LinuxInternal.h
new file mode 100644
index 0000000000..e486273520
--- /dev/null
+++ b/ArmPkg/Application/LinuxLoader/LinuxInternal.h
@@ -0,0 +1,49 @@
+/** @file
+*
+* Copyright (c) 2011, ARM Limited. All rights reserved.
+*
+* 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 __LOADER_INTERNAL_H
+#define __LOADER_INTERNAL_H
+
+#include <Uefi.h>
+#include <Library/BaseMemoryLib.h>
+#include <Library/BdsLib.h>
+#include <Library/DebugLib.h>
+#include <Library/DevicePathLib.h>
+#include <Library/MemoryAllocationLib.h>
+#include <Library/UefiBootServicesTableLib.h>
+#include <Library/UefiLib.h>
+
+#include <Protocol/LoadedImage.h>
+
+#define LINUX_KERNEL_NAME L"zImage"
+#define FDT_NAME L"platform.dtb"
+
+#define LINUX_LOADER_SIGNATURE SIGNATURE_32('l', 'i', 'l', 'o')
+
+typedef struct {
+ UINT32 Signature;
+ UINT16 CmdLineLength;
+ UINT16 InitrdPathListLength;
+
+ // These following fields have variable length:
+ //CHAR8* CmdLine;
+ //CHAR16* Initrd;
+} LINUX_LOADER_OPTIONAL_DATA;
+
+EFI_STATUS
+LinuxLoaderConfig (
+ IN EFI_LOADED_IMAGE_PROTOCOL *LoadedImage
+ );
+
+#endif