mirror of https://github.com/acidanthera/audk.git
ArmPlatformPkg/Bds: Added support to pass parameters to EFI applications
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15452 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
90a44ec4d8
commit
06044819bb
|
@ -321,8 +321,8 @@ DefineDefaultBootEntries (
|
||||||
|
|
||||||
OptionalData = (UINT8*)BootArguments;
|
OptionalData = (UINT8*)BootArguments;
|
||||||
} else {
|
} else {
|
||||||
OptionalData = NULL;
|
OptionalData = (UINT8*)DefaultBootArgument;
|
||||||
OptionalDataSize = 0;
|
OptionalDataSize = CmdLineSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
BootOptionCreate (LOAD_OPTION_ACTIVE | LOAD_OPTION_CATEGORY_BOOT,
|
BootOptionCreate (LOAD_OPTION_ACTIVE | LOAD_OPTION_CATEGORY_BOOT,
|
||||||
|
|
|
@ -120,7 +120,8 @@ BootMenuAddBootOption (
|
||||||
BDS_SUPPORTED_DEVICE* SupportedBootDevice;
|
BDS_SUPPORTED_DEVICE* SupportedBootDevice;
|
||||||
ARM_BDS_LOADER_ARGUMENTS* BootArguments;
|
ARM_BDS_LOADER_ARGUMENTS* BootArguments;
|
||||||
CHAR16 BootDescription[BOOT_DEVICE_DESCRIPTION_MAX];
|
CHAR16 BootDescription[BOOT_DEVICE_DESCRIPTION_MAX];
|
||||||
CHAR8 CmdLine[BOOT_DEVICE_OPTION_MAX];
|
CHAR8 AsciiCmdLine[BOOT_DEVICE_OPTION_MAX];
|
||||||
|
CHAR16 CmdLine[BOOT_DEVICE_OPTION_MAX];
|
||||||
UINT32 Attributes;
|
UINT32 Attributes;
|
||||||
ARM_BDS_LOADER_TYPE BootType;
|
ARM_BDS_LOADER_TYPE BootType;
|
||||||
BDS_LOAD_OPTION_ENTRY *BdsLoadOptionEntry;
|
BDS_LOAD_OPTION_ENTRY *BdsLoadOptionEntry;
|
||||||
|
@ -188,13 +189,13 @@ BootMenuAddBootOption (
|
||||||
}
|
}
|
||||||
|
|
||||||
Print(L"Arguments to pass to the binary: ");
|
Print(L"Arguments to pass to the binary: ");
|
||||||
Status = GetHIInputAscii (CmdLine,BOOT_DEVICE_OPTION_MAX);
|
Status = GetHIInputAscii (AsciiCmdLine, BOOT_DEVICE_OPTION_MAX);
|
||||||
if (EFI_ERROR(Status)) {
|
if (EFI_ERROR(Status)) {
|
||||||
Status = EFI_ABORTED;
|
Status = EFI_ABORTED;
|
||||||
goto FREE_DEVICE_PATH;
|
goto FREE_DEVICE_PATH;
|
||||||
}
|
}
|
||||||
|
|
||||||
CmdLineSize = AsciiStrSize (CmdLine);
|
CmdLineSize = AsciiStrSize (AsciiCmdLine);
|
||||||
InitrdSize = GetDevicePathSize (InitrdPath);
|
InitrdSize = GetDevicePathSize (InitrdPath);
|
||||||
|
|
||||||
OptionalDataSize = sizeof(ARM_BDS_LOADER_ARGUMENTS) + CmdLineSize + InitrdSize;
|
OptionalDataSize = sizeof(ARM_BDS_LOADER_ARGUMENTS) + CmdLineSize + InitrdSize;
|
||||||
|
@ -207,8 +208,15 @@ BootMenuAddBootOption (
|
||||||
|
|
||||||
OptionalData = (UINT8*)BootArguments;
|
OptionalData = (UINT8*)BootArguments;
|
||||||
} else {
|
} else {
|
||||||
OptionalData = NULL;
|
Print (L"Arguments to pass to the EFI Application: ");
|
||||||
OptionalDataSize = 0;
|
Status = GetHIInputStr (CmdLine, BOOT_DEVICE_OPTION_MAX);
|
||||||
|
if (EFI_ERROR (Status)) {
|
||||||
|
Status = EFI_ABORTED;
|
||||||
|
goto EXIT;
|
||||||
|
}
|
||||||
|
|
||||||
|
OptionalData = (UINT8*)CmdLine;
|
||||||
|
OptionalDataSize = StrSize (CmdLine);
|
||||||
}
|
}
|
||||||
|
|
||||||
Print(L"Description for this new Entry: ");
|
Print(L"Description for this new Entry: ");
|
||||||
|
|
Loading…
Reference in New Issue