\r
#include <Guid/LinuxEfiInitrdMedia.h>\r
\r
-#define FDT_ADDITIONAL_ENTRIES_SIZE 0x400\r
+#define FDT_ADDITIONAL_ENTRIES_SIZE 0x400\r
\r
typedef struct {\r
- MEMMAP_DEVICE_PATH Node1;\r
- EFI_DEVICE_PATH_PROTOCOL End;\r
+ MEMMAP_DEVICE_PATH Node1;\r
+ EFI_DEVICE_PATH_PROTOCOL End;\r
} MEMORY_DEVICE_PATH;\r
\r
typedef struct {\r
- VENDOR_DEVICE_PATH VendorMediaNode;\r
- EFI_DEVICE_PATH_PROTOCOL EndNode;\r
+ VENDOR_DEVICE_PATH VendorMediaNode;\r
+ EFI_DEVICE_PATH_PROTOCOL EndNode;\r
} RAMDISK_DEVICE_PATH;\r
\r
-STATIC ANDROID_BOOTIMG_PROTOCOL *mAndroidBootImg;\r
-STATIC VOID *mRamdiskData = NULL;\r
-STATIC UINTN mRamdiskSize = 0;\r
-STATIC EFI_HANDLE mRamDiskLoadFileHandle = NULL;\r
+STATIC ANDROID_BOOTIMG_PROTOCOL *mAndroidBootImg;\r
+STATIC VOID *mRamdiskData = NULL;\r
+STATIC UINTN mRamdiskSize = 0;\r
+STATIC EFI_HANDLE mRamDiskLoadFileHandle = NULL;\r
\r
-STATIC CONST MEMORY_DEVICE_PATH mMemoryDevicePathTemplate =\r
+STATIC CONST MEMORY_DEVICE_PATH mMemoryDevicePathTemplate =\r
{\r
{\r
{\r
} // End\r
};\r
\r
-STATIC CONST RAMDISK_DEVICE_PATH mRamdiskDevicePath =\r
+STATIC CONST RAMDISK_DEVICE_PATH mRamdiskDevicePath =\r
{\r
{\r
{\r
MEDIA_DEVICE_PATH,\r
MEDIA_VENDOR_DP,\r
- { sizeof (VENDOR_DEVICE_PATH), 0 }\r
+ { sizeof (VENDOR_DEVICE_PATH), 0 }\r
},\r
LINUX_EFI_INITRD_MEDIA_GUID\r
},\r
EFI_STATUS\r
EFIAPI\r
AndroidBootImgLoadFile2 (\r
- IN EFI_LOAD_FILE2_PROTOCOL *This,\r
- IN EFI_DEVICE_PATH_PROTOCOL *FilePath,\r
- IN BOOLEAN BootPolicy,\r
- IN OUT UINTN *BufferSize,\r
- IN VOID *Buffer OPTIONAL\r
+ IN EFI_LOAD_FILE2_PROTOCOL *This,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *FilePath,\r
+ IN BOOLEAN BootPolicy,\r
+ IN OUT UINTN *BufferSize,\r
+ IN VOID *Buffer OPTIONAL\r
)\r
\r
{\r
// Verify if the valid parameters\r
- if (This == NULL ||\r
- BufferSize == NULL ||\r
- FilePath == NULL ||\r
- !IsDevicePathValid (FilePath, 0)) {\r
+ if ((This == NULL) ||\r
+ (BufferSize == NULL) ||\r
+ (FilePath == NULL) ||\r
+ !IsDevicePathValid (FilePath, 0))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
if (mRamdiskSize == 0) {\r
return EFI_NOT_FOUND;\r
}\r
- if (Buffer == NULL || *BufferSize < mRamdiskSize) {\r
+\r
+ if ((Buffer == NULL) || (*BufferSize < mRamdiskSize)) {\r
*BufferSize = mRamdiskSize;\r
return EFI_BUFFER_TOO_SMALL;\r
}\r
\r
EFI_STATUS\r
AndroidBootImgGetImgSize (\r
- IN VOID *BootImg,\r
- OUT UINTN *ImgSize\r
+ IN VOID *BootImg,\r
+ OUT UINTN *ImgSize\r
)\r
{\r
- ANDROID_BOOTIMG_HEADER *Header;\r
+ ANDROID_BOOTIMG_HEADER *Header;\r
\r
- Header = (ANDROID_BOOTIMG_HEADER *) BootImg;\r
+ Header = (ANDROID_BOOTIMG_HEADER *)BootImg;\r
\r
- if (AsciiStrnCmp ((CONST CHAR8 *)Header->BootMagic, ANDROID_BOOT_MAGIC,\r
- ANDROID_BOOT_MAGIC_LENGTH) != 0) {\r
+ if (AsciiStrnCmp (\r
+ (CONST CHAR8 *)Header->BootMagic,\r
+ ANDROID_BOOT_MAGIC,\r
+ ANDROID_BOOT_MAGIC_LENGTH\r
+ ) != 0)\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
\r
EFI_STATUS\r
AndroidBootImgGetKernelInfo (\r
- IN VOID *BootImg,\r
+ IN VOID *BootImg,\r
OUT VOID **Kernel,\r
- OUT UINTN *KernelSize\r
+ OUT UINTN *KernelSize\r
)\r
{\r
- ANDROID_BOOTIMG_HEADER *Header;\r
+ ANDROID_BOOTIMG_HEADER *Header;\r
\r
- Header = (ANDROID_BOOTIMG_HEADER *) BootImg;\r
+ Header = (ANDROID_BOOTIMG_HEADER *)BootImg;\r
\r
- if (AsciiStrnCmp ((CONST CHAR8 *)Header->BootMagic, ANDROID_BOOT_MAGIC,\r
- ANDROID_BOOT_MAGIC_LENGTH) != 0) {\r
+ if (AsciiStrnCmp (\r
+ (CONST CHAR8 *)Header->BootMagic,\r
+ ANDROID_BOOT_MAGIC,\r
+ ANDROID_BOOT_MAGIC_LENGTH\r
+ ) != 0)\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
ASSERT (IS_VALID_ANDROID_PAGE_SIZE (Header->PageSize));\r
\r
*KernelSize = Header->KernelSize;\r
- *Kernel = (VOID *)((UINTN)BootImg + Header->PageSize);\r
+ *Kernel = (VOID *)((UINTN)BootImg + Header->PageSize);\r
return EFI_SUCCESS;\r
}\r
\r
EFI_STATUS\r
AndroidBootImgGetRamdiskInfo (\r
- IN VOID *BootImg,\r
+ IN VOID *BootImg,\r
OUT VOID **Ramdisk,\r
- OUT UINTN *RamdiskSize\r
+ OUT UINTN *RamdiskSize\r
)\r
{\r
- ANDROID_BOOTIMG_HEADER *Header;\r
+ ANDROID_BOOTIMG_HEADER *Header;\r
\r
Header = (ANDROID_BOOTIMG_HEADER *)BootImg;\r
\r
- if (AsciiStrnCmp ((CONST CHAR8 *)Header->BootMagic, ANDROID_BOOT_MAGIC,\r
- ANDROID_BOOT_MAGIC_LENGTH) != 0) {\r
+ if (AsciiStrnCmp (\r
+ (CONST CHAR8 *)Header->BootMagic,\r
+ ANDROID_BOOT_MAGIC,\r
+ ANDROID_BOOT_MAGIC_LENGTH\r
+ ) != 0)\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
+ Header->PageSize\r
+ ALIGN_VALUE (Header->KernelSize, Header->PageSize));\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
\r
EFI_STATUS\r
AndroidBootImgGetSecondBootLoaderInfo (\r
- IN VOID *BootImg,\r
+ IN VOID *BootImg,\r
OUT VOID **Second,\r
- OUT UINTN *SecondSize\r
+ OUT UINTN *SecondSize\r
)\r
{\r
- ANDROID_BOOTIMG_HEADER *Header;\r
+ ANDROID_BOOTIMG_HEADER *Header;\r
\r
Header = (ANDROID_BOOTIMG_HEADER *)BootImg;\r
\r
- if (AsciiStrnCmp ((CONST CHAR8 *)Header->BootMagic, ANDROID_BOOT_MAGIC,\r
- ANDROID_BOOT_MAGIC_LENGTH) != 0) {\r
+ if (AsciiStrnCmp (\r
+ (CONST CHAR8 *)Header->BootMagic,\r
+ ANDROID_BOOT_MAGIC,\r
+ ANDROID_BOOT_MAGIC_LENGTH\r
+ ) != 0)\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
+ ALIGN_VALUE (Header->KernelSize, Header->PageSize)\r
+ ALIGN_VALUE (Header->RamdiskSize, Header->PageSize));\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
\r
EFI_STATUS\r
AndroidBootImgGetKernelArgs (\r
- IN VOID *BootImg,\r
- OUT CHAR8 *KernelArgs\r
+ IN VOID *BootImg,\r
+ OUT CHAR8 *KernelArgs\r
)\r
{\r
- ANDROID_BOOTIMG_HEADER *Header;\r
+ ANDROID_BOOTIMG_HEADER *Header;\r
\r
- Header = (ANDROID_BOOTIMG_HEADER *) BootImg;\r
- AsciiStrnCpyS (KernelArgs, ANDROID_BOOTIMG_KERNEL_ARGS_SIZE, Header->KernelArgs,\r
- ANDROID_BOOTIMG_KERNEL_ARGS_SIZE);\r
+ Header = (ANDROID_BOOTIMG_HEADER *)BootImg;\r
+ AsciiStrnCpyS (\r
+ KernelArgs,\r
+ ANDROID_BOOTIMG_KERNEL_ARGS_SIZE,\r
+ Header->KernelArgs,\r
+ ANDROID_BOOTIMG_KERNEL_ARGS_SIZE\r
+ );\r
\r
return EFI_SUCCESS;\r
}\r
\r
EFI_STATUS\r
AndroidBootImgGetFdt (\r
- IN VOID *BootImg,\r
- IN VOID **FdtBase\r
+ IN VOID *BootImg,\r
+ IN VOID **FdtBase\r
)\r
{\r
- UINTN SecondLoaderSize;\r
- EFI_STATUS Status;\r
+ UINTN SecondLoaderSize;\r
+ EFI_STATUS Status;\r
\r
/* Check whether FDT is located in second boot region as some vendor do so,\r
* because second loader is never used as far as I know. */\r
BootImg,\r
FdtBase,\r
&SecondLoaderSize\r
- );\r
+ );\r
return Status;\r
}\r
\r
EFI_STATUS\r
AndroidBootImgUpdateArgs (\r
- IN VOID *BootImg,\r
- OUT VOID *KernelArgs\r
+ IN VOID *BootImg,\r
+ OUT VOID *KernelArgs\r
)\r
{\r
- CHAR8 ImageKernelArgs[ANDROID_BOOTIMG_KERNEL_ARGS_SIZE];\r
- EFI_STATUS Status;\r
+ CHAR8 ImageKernelArgs[ANDROID_BOOTIMG_KERNEL_ARGS_SIZE];\r
+ EFI_STATUS Status;\r
\r
// Get kernel arguments from Android boot image\r
Status = AndroidBootImgGetKernelArgs (BootImg, ImageKernelArgs);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
- AsciiStrToUnicodeStrS (ImageKernelArgs, KernelArgs,\r
- ANDROID_BOOTIMG_KERNEL_ARGS_SIZE >> 1);\r
+\r
+ AsciiStrToUnicodeStrS (\r
+ ImageKernelArgs,\r
+ KernelArgs,\r
+ ANDROID_BOOTIMG_KERNEL_ARGS_SIZE >> 1\r
+ );\r
// Append platform kernel arguments\r
- if(mAndroidBootImg->AppendArgs) {\r
- Status = mAndroidBootImg->AppendArgs (KernelArgs,\r
- ANDROID_BOOTIMG_KERNEL_ARGS_SIZE);\r
+ if (mAndroidBootImg->AppendArgs) {\r
+ Status = mAndroidBootImg->AppendArgs (\r
+ KernelArgs,\r
+ ANDROID_BOOTIMG_KERNEL_ARGS_SIZE\r
+ );\r
}\r
+\r
return Status;\r
}\r
\r
EFI_STATUS\r
AndroidBootImgInstallLoadFile2 (\r
- IN VOID *RamdiskData,\r
- IN UINTN RamdiskSize\r
+ IN VOID *RamdiskData,\r
+ IN UINTN RamdiskSize\r
)\r
{\r
mRamDiskLoadFileHandle = NULL;\r
- mRamdiskData = RamdiskData;\r
- mRamdiskSize = RamdiskSize;\r
+ mRamdiskData = RamdiskData;\r
+ mRamdiskSize = RamdiskSize;\r
return gBS->InstallMultipleProtocolInterfaces (\r
&mRamDiskLoadFileHandle,\r
&gEfiLoadFile2ProtocolGuid,\r
VOID\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
- Status = EFI_SUCCESS;\r
+ Status = EFI_SUCCESS;\r
mRamdiskData = NULL;\r
mRamdiskSize = 0;\r
if (mRamDiskLoadFileHandle != NULL) {\r
);\r
mRamDiskLoadFileHandle = NULL;\r
}\r
+\r
return Status;\r
}\r
\r
-BOOLEAN AndroidBootImgAcpiSupported (\r
+BOOLEAN\r
+AndroidBootImgAcpiSupported (\r
VOID\r
)\r
{\r
EFI_STATUS Status;\r
- VOID *AcpiTable;\r
+ VOID *AcpiTable;\r
\r
Status = EfiGetSystemConfigurationTable (&gEfiAcpiTableGuid, &AcpiTable);\r
return !EFI_ERROR (Status);\r
\r
EFI_STATUS\r
AndroidBootImgLocateFdt (\r
- IN VOID *BootImg,\r
- IN VOID **FdtBase\r
+ IN VOID *BootImg,\r
+ IN VOID **FdtBase\r
)\r
{\r
- INTN Err;\r
- EFI_STATUS Status;\r
+ INTN Err;\r
+ EFI_STATUS Status;\r
\r
Status = EfiGetSystemConfigurationTable (&gFdtTableGuid, FdtBase);\r
if (!EFI_ERROR (Status)) {\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
Err = fdt_check_header (*FdtBase);\r
if (Err != 0) {\r
- DEBUG ((DEBUG_ERROR, "ERROR: Device Tree header not valid (Err:%d)\n",\r
- Err));\r
+ DEBUG ((\r
+ DEBUG_ERROR,\r
+ "ERROR: Device Tree header not valid (Err:%d)\n",\r
+ Err\r
+ ));\r
return EFI_INVALID_PARAMETER;\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
\r
INTN\r
AndroidBootImgGetChosenNode (\r
- IN INTN UpdatedFdtBase\r
+ IN INTN UpdatedFdtBase\r
)\r
{\r
- INTN ChosenNode;\r
+ INTN ChosenNode;\r
\r
ChosenNode = fdt_subnode_offset ((CONST VOID *)UpdatedFdtBase, 0, "chosen");\r
if (ChosenNode < 0) {\r
- ChosenNode = fdt_add_subnode((VOID *)UpdatedFdtBase, 0, "chosen");\r
- if (ChosenNode < 0) {\r
- DEBUG ((DEBUG_ERROR, "Fail to find fdt node chosen!\n"));\r
- return 0;\r
+ ChosenNode = fdt_add_subnode ((VOID *)UpdatedFdtBase, 0, "chosen");\r
+ if (ChosenNode < 0) {\r
+ DEBUG ((DEBUG_ERROR, "Fail to find fdt node chosen!\n"));\r
+ return 0;\r
}\r
}\r
+\r
return ChosenNode;\r
}\r
\r
EFI_STATUS\r
AndroidBootImgSetProperty64 (\r
- IN INTN UpdatedFdtBase,\r
- IN INTN ChosenNode,\r
- IN CHAR8 *PropertyName,\r
- IN UINT64 Val\r
+ IN INTN UpdatedFdtBase,\r
+ IN INTN ChosenNode,\r
+ IN CHAR8 *PropertyName,\r
+ IN UINT64 Val\r
)\r
{\r
- INTN Err;\r
- struct fdt_property *Property;\r
- int Len;\r
-\r
- Property = fdt_get_property_w((VOID *)UpdatedFdtBase, ChosenNode,\r
- PropertyName, &Len);\r
- if (NULL == Property && Len == -FDT_ERR_NOTFOUND) {\r
- Val = cpu_to_fdt64(Val);\r
- Err = fdt_appendprop ((VOID *)UpdatedFdtBase, ChosenNode,\r
- PropertyName, &Val, sizeof (UINT64));\r
+ INTN Err;\r
+ struct fdt_property *Property;\r
+ int Len;\r
+\r
+ Property = fdt_get_property_w (\r
+ (VOID *)UpdatedFdtBase,\r
+ ChosenNode,\r
+ PropertyName,\r
+ &Len\r
+ );\r
+ if ((NULL == Property) && (Len == -FDT_ERR_NOTFOUND)) {\r
+ Val = cpu_to_fdt64 (Val);\r
+ Err = fdt_appendprop (\r
+ (VOID *)UpdatedFdtBase,\r
+ ChosenNode,\r
+ PropertyName,\r
+ &Val,\r
+ sizeof (UINT64)\r
+ );\r
if (Err) {\r
DEBUG ((DEBUG_ERROR, "fdt_appendprop() fail: %a\n", fdt_strerror (Err)));\r
return EFI_INVALID_PARAMETER;\r
}\r
} else if (Property != NULL) {\r
- Err = fdt_setprop_u64((VOID *)UpdatedFdtBase, ChosenNode,\r
- PropertyName, Val);\r
+ Err = fdt_setprop_u64 (\r
+ (VOID *)UpdatedFdtBase,\r
+ ChosenNode,\r
+ PropertyName,\r
+ Val\r
+ );\r
if (Err) {\r
DEBUG ((DEBUG_ERROR, "fdt_setprop_u64() fail: %a\n", fdt_strerror (Err)));\r
return EFI_INVALID_PARAMETER;\r
DEBUG ((DEBUG_ERROR, "Failed to set fdt Property %a\n", PropertyName));\r
return EFI_INVALID_PARAMETER;\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
\r
EFI_STATUS\r
AndroidBootImgUpdateFdt (\r
- IN VOID *BootImg,\r
- IN VOID *FdtBase,\r
- IN VOID *RamdiskData,\r
- IN UINTN RamdiskSize\r
+ IN VOID *BootImg,\r
+ IN VOID *FdtBase,\r
+ IN VOID *RamdiskData,\r
+ IN UINTN RamdiskSize\r
)\r
{\r
- INTN ChosenNode, Err, NewFdtSize;\r
- EFI_STATUS Status;\r
- EFI_PHYSICAL_ADDRESS UpdatedFdtBase, NewFdtBase;\r
+ INTN ChosenNode, Err, NewFdtSize;\r
+ EFI_STATUS Status;\r
+ EFI_PHYSICAL_ADDRESS UpdatedFdtBase, NewFdtBase;\r
\r
NewFdtSize = (UINTN)fdt_totalsize (FdtBase)\r
+ FDT_ADDITIONAL_ENTRIES_SIZE;\r
- Status = gBS->AllocatePages (AllocateAnyPages, EfiBootServicesData,\r
- EFI_SIZE_TO_PAGES (NewFdtSize), &UpdatedFdtBase);\r
+ Status = gBS->AllocatePages (\r
+ AllocateAnyPages,\r
+ EfiBootServicesData,\r
+ EFI_SIZE_TO_PAGES (NewFdtSize),\r
+ &UpdatedFdtBase\r
+ );\r
if (EFI_ERROR (Status)) {\r
- DEBUG ((DEBUG_WARN, "Warning: Failed to reallocate FDT, err %d.\n",\r
- Status));\r
+ DEBUG ((\r
+ DEBUG_WARN,\r
+ "Warning: Failed to reallocate FDT, err %d.\n",\r
+ Status\r
+ ));\r
return Status;\r
}\r
\r
// Load the Original FDT tree into the new region\r
- Err = fdt_open_into(FdtBase, (VOID*)(INTN)UpdatedFdtBase, NewFdtSize);\r
+ Err = fdt_open_into (FdtBase, (VOID *)(INTN)UpdatedFdtBase, NewFdtSize);\r
if (Err) {\r
DEBUG ((DEBUG_ERROR, "fdt_open_into(): %a\n", fdt_strerror (Err)));\r
Status = EFI_INVALID_PARAMETER;\r
goto Fdt_Exit;\r
}\r
} else {\r
- ChosenNode = AndroidBootImgGetChosenNode(UpdatedFdtBase);\r
+ ChosenNode = AndroidBootImgGetChosenNode (UpdatedFdtBase);\r
if (!ChosenNode) {\r
goto Fdt_Exit;\r
}\r
\r
- Status = AndroidBootImgSetProperty64 (UpdatedFdtBase, ChosenNode,\r
- "linux,initrd-start",\r
- (UINTN)RamdiskData);\r
+ Status = AndroidBootImgSetProperty64 (\r
+ UpdatedFdtBase,\r
+ ChosenNode,\r
+ "linux,initrd-start",\r
+ (UINTN)RamdiskData\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto Fdt_Exit;\r
}\r
\r
- Status = AndroidBootImgSetProperty64 (UpdatedFdtBase, ChosenNode,\r
- "linux,initrd-end",\r
- (UINTN)RamdiskData + RamdiskSize);\r
+ Status = AndroidBootImgSetProperty64 (\r
+ UpdatedFdtBase,\r
+ ChosenNode,\r
+ "linux,initrd-end",\r
+ (UINTN)RamdiskData + RamdiskSize\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto Fdt_Exit;\r
}\r
} else {\r
NewFdtBase = UpdatedFdtBase;\r
}\r
+\r
Status = gBS->InstallConfigurationTable (\r
&gFdtTableGuid,\r
(VOID *)(UINTN)NewFdtBase\r
\r
EFI_STATUS\r
AndroidBootImgBoot (\r
- IN VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Buffer,\r
+ IN UINTN BufferSize\r
)\r
{\r
- EFI_STATUS Status;\r
- VOID *Kernel;\r
- UINTN KernelSize;\r
- MEMORY_DEVICE_PATH KernelDevicePath;\r
- EFI_HANDLE ImageHandle;\r
- VOID *NewKernelArg;\r
- EFI_LOADED_IMAGE_PROTOCOL *ImageInfo;\r
- VOID *RamdiskData;\r
- UINTN RamdiskSize;\r
- IN VOID *FdtBase;\r
+ EFI_STATUS Status;\r
+ VOID *Kernel;\r
+ UINTN KernelSize;\r
+ MEMORY_DEVICE_PATH KernelDevicePath;\r
+ EFI_HANDLE ImageHandle;\r
+ VOID *NewKernelArg;\r
+ EFI_LOADED_IMAGE_PROTOCOL *ImageInfo;\r
+ VOID *RamdiskData;\r
+ UINTN RamdiskSize;\r
+ IN VOID *FdtBase;\r
\r
NewKernelArg = NULL;\r
- ImageHandle = NULL;\r
+ ImageHandle = NULL;\r
\r
- Status = gBS->LocateProtocol (&gAndroidBootImgProtocolGuid, NULL,\r
- (VOID **) &mAndroidBootImg);\r
+ Status = gBS->LocateProtocol (\r
+ &gAndroidBootImgProtocolGuid,\r
+ NULL,\r
+ (VOID **)&mAndroidBootImg\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto Exit;\r
}\r
\r
Status = AndroidBootImgGetKernelInfo (\r
- Buffer,\r
- &Kernel,\r
- &KernelSize\r
- );\r
+ Buffer,\r
+ &Kernel,\r
+ &KernelSize\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto Exit;\r
}\r
}\r
\r
Status = AndroidBootImgGetRamdiskInfo (\r
- Buffer,\r
- &RamdiskData,\r
- &RamdiskSize\r
- );\r
+ Buffer,\r
+ &RamdiskData,\r
+ &RamdiskSize\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto Exit;\r
}\r
\r
KernelDevicePath = mMemoryDevicePathTemplate;\r
\r
- KernelDevicePath.Node1.StartingAddress = (EFI_PHYSICAL_ADDRESS)(UINTN) Kernel;\r
- KernelDevicePath.Node1.EndingAddress = (EFI_PHYSICAL_ADDRESS)(UINTN) Kernel\r
+ KernelDevicePath.Node1.StartingAddress = (EFI_PHYSICAL_ADDRESS)(UINTN)Kernel;\r
+ KernelDevicePath.Node1.EndingAddress = (EFI_PHYSICAL_ADDRESS)(UINTN)Kernel\r
+ KernelSize;\r
\r
- Status = gBS->LoadImage (TRUE, gImageHandle,\r
- (EFI_DEVICE_PATH *)&KernelDevicePath,\r
- (VOID*)(UINTN)Kernel, KernelSize, &ImageHandle);\r
+ Status = gBS->LoadImage (\r
+ TRUE,\r
+ gImageHandle,\r
+ (EFI_DEVICE_PATH *)&KernelDevicePath,\r
+ (VOID *)(UINTN)Kernel,\r
+ KernelSize,\r
+ &ImageHandle\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto Exit;\r
}\r
\r
// Set kernel arguments\r
- Status = gBS->HandleProtocol (ImageHandle, &gEfiLoadedImageProtocolGuid,\r
- (VOID **) &ImageInfo);\r
+ Status = gBS->HandleProtocol (\r
+ ImageHandle,\r
+ &gEfiLoadedImageProtocolGuid,\r
+ (VOID **)&ImageInfo\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto Exit;\r
}\r
- ImageInfo->LoadOptions = NewKernelArg;\r
+\r
+ ImageInfo->LoadOptions = NewKernelArg;\r
ImageInfo->LoadOptionsSize = StrLen (NewKernelArg) * sizeof (CHAR16);\r
\r
// Before calling the image, enable the Watchdog Timer for the 5 Minute period\r
gBS->SetWatchdogTimer (0, 0x10000, 0, NULL);\r
\r
Exit:\r
- //Unload image as it will not be used anymore\r
+ // Unload image as it will not be used anymore\r
if (ImageHandle != NULL) {\r
gBS->UnloadImage (ImageHandle);\r
ImageHandle = NULL;\r
}\r
+\r
if (EFI_ERROR (Status)) {\r
if (NewKernelArg != NULL) {\r
FreePool (NewKernelArg);\r
NewKernelArg = NULL;\r
}\r
}\r
+\r
AndroidBootImgUninstallLoadFile2 ();\r
return Status;\r
}\r