Fix OsLoader handling of non-container images and remove PcdContainerBootEnabled (#1843)
* OsLoader: set default status to EFI_UNSUPPORTED when parsing a boot image This was set to EFI_SUCCESS which resulted in ParseBootImages() returning EFI_SUCCESS even if the boot image was not a container or a component. Thus, the boot would continue and fail at a later stage due to the LoadedImage structure not being populated correctly. Setting it to EFI_UNSUPPORTED will result in ParseBootImages() returning EFI_UNSUPPORTED if a non-supported boot image is provided and OsLoader will attempt to boot the next entry in the boot options list. Signed-off-by: Atharva Lele <atharva.lele@intel.com> * Remove PcdContainerBootEnabled PCD SBL requires boot images to be packaged as a container or a component Signed-off-by: Atharva Lele <atharva.lele@intel.com> --------- Signed-off-by: Atharva Lele <atharva.lele@intel.com>
This commit is contained in:
parent
c993c5faec
commit
1c807e51fa
|
@ -315,7 +315,6 @@
|
||||||
gPlatformCommonLibTokenSpaceGuid.PcdVerifiedBootEnabled | FALSE | BOOLEAN | 0x20000210
|
gPlatformCommonLibTokenSpaceGuid.PcdVerifiedBootEnabled | FALSE | BOOLEAN | 0x20000210
|
||||||
gPlatformCommonLibTokenSpaceGuid.PcdMeasuredBootEnabled | FALSE | BOOLEAN | 0x20000211
|
gPlatformCommonLibTokenSpaceGuid.PcdMeasuredBootEnabled | FALSE | BOOLEAN | 0x20000211
|
||||||
gPlatformCommonLibTokenSpaceGuid.PcdSourceDebugEnabled | FALSE | BOOLEAN | 0x20000212
|
gPlatformCommonLibTokenSpaceGuid.PcdSourceDebugEnabled | FALSE | BOOLEAN | 0x20000212
|
||||||
gPlatformCommonLibTokenSpaceGuid.PcdContainerBootEnabled | FALSE | BOOLEAN | 0x20000213
|
|
||||||
gPlatformCommonLibTokenSpaceGuid.PcdEmmcHs400SupportEnabled | TRUE | BOOLEAN | 0x20000214
|
gPlatformCommonLibTokenSpaceGuid.PcdEmmcHs400SupportEnabled | TRUE | BOOLEAN | 0x20000214
|
||||||
# This PCD will force to initialize SerialPort regardless of its initialized state
|
# This PCD will force to initialize SerialPort regardless of its initialized state
|
||||||
gPlatformCommonLibTokenSpaceGuid.PcdForceToInitSerialPort | FALSE | BOOLEAN | 0x20000216
|
gPlatformCommonLibTokenSpaceGuid.PcdForceToInitSerialPort | FALSE | BOOLEAN | 0x20000216
|
||||||
|
|
|
@ -332,7 +332,6 @@
|
||||||
gPayloadTokenSpaceGuid.PcdGrubBootCfgEnabled | $(ENABLE_GRUB_CONFIG)
|
gPayloadTokenSpaceGuid.PcdGrubBootCfgEnabled | $(ENABLE_GRUB_CONFIG)
|
||||||
gPlatformModuleTokenSpaceGuid.PcdSmbiosEnabled | $(ENABLE_SMBIOS)
|
gPlatformModuleTokenSpaceGuid.PcdSmbiosEnabled | $(ENABLE_SMBIOS)
|
||||||
gPlatformModuleTokenSpaceGuid.PcdLinuxPayloadEnabled | $(ENABLE_LINUX_PAYLOAD)
|
gPlatformModuleTokenSpaceGuid.PcdLinuxPayloadEnabled | $(ENABLE_LINUX_PAYLOAD)
|
||||||
gPlatformCommonLibTokenSpaceGuid.PcdContainerBootEnabled| $(ENABLE_CONTAINER_BOOT)
|
|
||||||
gPayloadTokenSpaceGuid.PcdCsmeUpdateEnabled | $(ENABLE_CSME_UPDATE)
|
gPayloadTokenSpaceGuid.PcdCsmeUpdateEnabled | $(ENABLE_CSME_UPDATE)
|
||||||
gPlatformModuleTokenSpaceGuid.PcdLegacyEfSegmentEnabled | $(ENABLE_LEGACY_EF_SEG)
|
gPlatformModuleTokenSpaceGuid.PcdLegacyEfSegmentEnabled | $(ENABLE_LEGACY_EF_SEG)
|
||||||
gPlatformCommonLibTokenSpaceGuid.PcdEmmcHs400SupportEnabled | $(ENABLE_EMMC_HS400)
|
gPlatformCommonLibTokenSpaceGuid.PcdEmmcHs400SupportEnabled | $(ENABLE_EMMC_HS400)
|
||||||
|
|
|
@ -168,7 +168,6 @@ class BaseBoard(object):
|
||||||
self.ENABLE_GRUB_CONFIG = 0
|
self.ENABLE_GRUB_CONFIG = 0
|
||||||
self.ENABLE_SMBIOS = 0
|
self.ENABLE_SMBIOS = 0
|
||||||
self.ENABLE_LINUX_PAYLOAD = 0
|
self.ENABLE_LINUX_PAYLOAD = 0
|
||||||
self.ENABLE_CONTAINER_BOOT = 1
|
|
||||||
self.ENABLE_CSME_UPDATE = 0
|
self.ENABLE_CSME_UPDATE = 0
|
||||||
self.ENABLE_EMMC_HS400 = 1
|
self.ENABLE_EMMC_HS400 = 1
|
||||||
self.ENABLE_DMA_PROTECTION = 0
|
self.ENABLE_DMA_PROTECTION = 0
|
||||||
|
|
|
@ -978,7 +978,7 @@ ParseBootImages (
|
||||||
EFI_STATUS Status;
|
EFI_STATUS Status;
|
||||||
UINT8 Type;
|
UINT8 Type;
|
||||||
|
|
||||||
Status = EFI_SUCCESS;
|
Status = EFI_UNSUPPORTED;
|
||||||
for (Type = 0; Type < LoadImageTypeMax; Type++) {
|
for (Type = 0; Type < LoadImageTypeMax; Type++) {
|
||||||
if (Type == LoadImageTypeMisc) {
|
if (Type == LoadImageTypeMisc) {
|
||||||
continue;
|
continue;
|
||||||
|
@ -991,11 +991,11 @@ ParseBootImages (
|
||||||
|
|
||||||
DEBUG ((DEBUG_INFO, "ParseBootImage ImageType-%d\n", Type));
|
DEBUG ((DEBUG_INFO, "ParseBootImage ImageType-%d\n", Type));
|
||||||
if ((LoadedImage->Flags & LOADED_IMAGE_CONTAINER) != 0) {
|
if ((LoadedImage->Flags & LOADED_IMAGE_CONTAINER) != 0) {
|
||||||
if (FeaturePcdGet (PcdContainerBootEnabled)) {
|
Status = ParseContainerImage (OsBootOption, LoadedImage);
|
||||||
Status = ParseContainerImage (OsBootOption, LoadedImage);
|
|
||||||
}
|
|
||||||
} else if ((LoadedImage->Flags & LOADED_IMAGE_COMPONENT) != 0) {
|
} else if ((LoadedImage->Flags & LOADED_IMAGE_COMPONENT) != 0) {
|
||||||
Status = ParseComponentImage (OsBootOption, LoadedImage);
|
Status = ParseComponentImage (OsBootOption, LoadedImage);
|
||||||
|
} else if ((LoadedImage->Flags & LOADED_IMAGE_LINUX) != 0) {
|
||||||
|
Status = EFI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
|
|
|
@ -112,7 +112,6 @@
|
||||||
gPlatformCommonLibTokenSpaceGuid.PcdFrameBufferMaxConsoleWidth
|
gPlatformCommonLibTokenSpaceGuid.PcdFrameBufferMaxConsoleWidth
|
||||||
gPlatformCommonLibTokenSpaceGuid.PcdFrameBufferMaxConsoleHeight
|
gPlatformCommonLibTokenSpaceGuid.PcdFrameBufferMaxConsoleHeight
|
||||||
gPayloadTokenSpaceGuid.PcdGrubBootCfgEnabled
|
gPayloadTokenSpaceGuid.PcdGrubBootCfgEnabled
|
||||||
gPlatformCommonLibTokenSpaceGuid.PcdContainerBootEnabled
|
|
||||||
gPlatformCommonLibTokenSpaceGuid.PcdMeasuredBootHashMask
|
gPlatformCommonLibTokenSpaceGuid.PcdMeasuredBootHashMask
|
||||||
gPayloadTokenSpaceGuid.PcdRtcmRsvdSize
|
gPayloadTokenSpaceGuid.PcdRtcmRsvdSize
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue