diff options
author | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-09-22 22:57:03 +0000 |
---|---|---|
committer | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-09-22 22:57:03 +0000 |
commit | 75e4db2d3bb063e767f94c78259760755eedbaff (patch) | |
tree | 83cb961710b29777f1d1f4fcf3f0d3319060ef8a /ArmPkg/Application/LinuxLoader/LinuxInternal.h | |
parent | d9325c8e4f858abe7b888b21df4bd0a34864492f (diff) | |
download | edk2-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.h | 49 |
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 |