- if ((BootType == BDS_LOADER_KERNEL_LINUX_ATAG) || (BootType == BDS_LOADER_KERNEL_LINUX_FDT)) {\r
- InitrdPath = EfiDevicePathFromTextProtocol->ConvertTextToDevicePath ((CHAR16*)PcdGetPtr(PcdDefaultBootInitrdPath));\r
- InitrdSize = GetDevicePathSize (InitrdPath);\r
-\r
- OptionalDataSize = sizeof(ARM_BDS_LOADER_ARGUMENTS) + CmdLineAsciiSize + InitrdSize;\r
- BootArguments = (ARM_BDS_LOADER_ARGUMENTS*)AllocatePool (OptionalDataSize);\r
- if (BootArguments == NULL) {\r
- return EFI_OUT_OF_RESOURCES;\r
- }\r
- BootArguments->LinuxArguments.CmdLineSize = CmdLineAsciiSize;\r
- BootArguments->LinuxArguments.InitrdSize = InitrdSize;\r
-\r
- CopyMem ((VOID*)(BootArguments + 1), AsciiDefaultBootArgument, CmdLineAsciiSize);\r
- CopyMem ((VOID*)((UINTN)(BootArguments + 1) + CmdLineAsciiSize), InitrdPath, InitrdSize);\r
-\r
- OptionalData = (UINT8*)BootArguments;\r
- } else {\r
- OptionalData = (UINT8*)DefaultBootArgument;\r
- OptionalDataSize = CmdLineSize;\r
- }\r
-\r