高通uefi的abl增加新的kernel cmdlin标签经验分享
a、在此先介绍一下abl中拉起bootimage的流程:
代码路径:
bootloader/edk2/QcomModulePkg/Application/LinuxLoader/LinuxLoader.c
函数头部:
/**
Linux Loader Application EntryPoint
@param[in] ImageHandle The firmware allocated handle for the EFI image.
@param[in] SystemTable A pointer to the EFI System Table.
@retval EFI_SUCCESS The entry point is executed successfully.
@retval other Some error occurs when executing this entry point.
**/
EFI_STATUS EFIAPI __attribute__ ( (no_sanitize ("safe-stack")))
LinuxLoaderEntry (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
这个函数主要是在加载bootimage和dtbimage及加载之前做一些检查,例如a/b分区检查,重启原因检查,是否有开机按键事件等,具体代码我就不一介绍,只介绍下这小段:
if (!BootIntoFastboot) {
BootInfo Info = {0};
Info.MultiSlotBoot = MultiSlot