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
This commit is contained in:
49
ArmPkg/Application/LinuxLoader/LinuxInternal.h
Normal file
49
ArmPkg/Application/LinuxLoader/LinuxInternal.h
Normal file
@@ -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
|
Reference in New Issue
Block a user