blob: 88d786f6931763cf7f72f4f51481688e428c1109 [file] [log] [blame]
Vishal Bhoj82c80712015-12-15 21:13:33 +05301/** @file
2*
3* Copyright (c) 2011-2013, ARM Limited. All rights reserved.
4*
5* This program and the accompanying materials
6* are licensed and made available under the terms and conditions of the BSD License
7* which accompanies this distribution. The full text of the license may be found at
8* http://opensource.org/licenses/bsd-license.php
9*
10* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12*
13**/
14
15#ifndef __LOADER_INTERNAL_H
16#define __LOADER_INTERNAL_H
17
18#include <Uefi.h>
19#include <Library/BaseMemoryLib.h>
20#include <Library/BdsLib.h>
21#include <Library/DebugLib.h>
22#include <Library/DevicePathLib.h>
23#include <Library/MemoryAllocationLib.h>
24#include <Library/UefiBootServicesTableLib.h>
25#include <Library/UefiLib.h>
26
27#include <Protocol/LoadedImage.h>
28#include <Protocol/DevicePathToText.h>
29
30#define LINUX_KERNEL_NAME L"zImage"
31#define FDT_NAME L"platform.dtb"
32
33#define LINUX_LOADER_SIGNATURE SIGNATURE_32('l', 'i', 'l', 'o')
34
35typedef struct {
36 UINT32 Signature;
37 UINT16 CmdLineLength;
38 UINT16 InitrdPathListLength;
39
40 // These following fields have variable length:
41 //CHAR8* CmdLine;
42 //CHAR16* Initrd;
43} LINUX_LOADER_OPTIONAL_DATA;
44
45EFI_STATUS
46LinuxLoaderConfig (
47 IN EFI_LOADED_IMAGE_PROTOCOL *LoadedImage
48 );
49
50#endif