Jun Nie fa74dd2217 EmbeddedPkg/AndroidBoot: boot android kernel from storage
Add an android kernel loader that could load kernel from storage
device.
This android boot image BDS add addtitional cmdline/dtb/ramfs
support besides kernel that is introduced by Android boot header.

This patch is derived from Haojian's code as below link.
https://patches.linaro.org/patch/94683/

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jun Nie <jun.nie@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-08-20 12:36:34 +01:00

48 lines
1.2 KiB
C

/** @file
Copyright (c) 2017, Linaro. All rights reserved.<BR>
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 __ANDROID_BOOTIMG_PROTOCOL_H__
#define __ANDROID_BOOTIMG_PROTOCOL_H__
//
// Protocol interface structure
//
typedef struct _ANDROID_BOOTIMG_PROTOCOL ANDROID_BOOTIMG_PROTOCOL;
//
// Function Prototypes
//
typedef
EFI_STATUS
(EFIAPI *ANDROID_BOOTIMG_APPEND_KERNEL_ARGS) (
IN CHAR16 *Args,
IN UINTN Size
);
typedef
EFI_STATUS
(EFIAPI *ANDROID_BOOTIMG_UPDATE_DTB) (
IN EFI_PHYSICAL_ADDRESS OrigDtbBase;
OUT EFI_PHYSICAL_ADDRESS *NewDtbBase;
);
struct _ANDROID_BOOTIMG_PROTOCOL {
ANDROID_BOOTIMG_APPEND_KERNEL_ARGS AppendArgs;
ANDROID_BOOTIMG_UPDATE_DTB UpdateDtb;
};
extern EFI_GUID gAndroidBootImgProtocolGuid;
#endif /* __ANDROID_BOOTIMG_PROTOCOL_H__ */