diff --git a/DuetPkg/DxeIpl/DxeInit.c b/DuetPkg/DxeIpl/DxeInit.c index 2b046c171c..9cce964ae2 100644 --- a/DuetPkg/DxeIpl/DxeInit.c +++ b/DuetPkg/DxeIpl/DxeInit.c @@ -135,7 +135,8 @@ Returns: VOID *MemoryTopOnDescriptor; VOID *MemoryDescriptor; VOID *NvStorageBase; - + + PrintString("Enter DxeIpl ...\n"); /* ClearScreen(); PrintString("handoff:\n"); diff --git a/DuetPkg/EfiLdr/EfiLdr.inf b/DuetPkg/EfiLdr/EfiLdr.inf index 5e9b676ed9..1e17775144 100644 --- a/DuetPkg/EfiLdr/EfiLdr.inf +++ b/DuetPkg/EfiLdr/EfiLdr.inf @@ -57,7 +57,7 @@ [BuildOptions.common] #MSFT:*_*_IA32_DLINK_FLAGS = /out:"$(BIN_DIR)\SecMain.exe" /base:0x10000000 /pdb:"$(BIN_DIR)\SecMain.pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib" /LIBPATH:"$(VCINSTALLDIR)\PlatformSdk\Lib" /NOLOGO /SUBSYSTEM:CONSOLE /NODEFAULTLIB /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:I386 /LTCG Kernel32.lib MSVCRTD.lib Gdi32.lib User32.lib Winmm.lib - MSFT:*_*_IA32_CC_FLAGS = /nologo /W4 /WX /Gy /c /D UNICODE /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /EHs-c- /GF /Gs8192 /Zi /Gm /D _CRT_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_DEPRECATE + MSFT:*_*_IA32_CC_FLAGS = /nologo /W4 /WX /Gy /c /D UNICODE /D EFI32 /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /EHs-c- /GF /Gs8192 /Zi /Gm /D _CRT_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_DEPRECATE MSFT:*_*_IA32_PP_FLAGS = /nologo /E /TC /FI$(DEST_DIR_DEBUG)/AutoGen.h MSFT:*_*_IA32_ASM_FLAGS = /nologo /W3 /WX /c /coff /Cx /Zd /W0 /Zi MSFT:*_*_IA32_ASMLINK_FLAGS = /link /nologo /tiny diff --git a/DuetPkg/EfiLdr/EfiLoader.c b/DuetPkg/EfiLdr/EfiLoader.c index c8c749ba4d..dcca41d0d2 100644 --- a/DuetPkg/EfiLdr/EfiLoader.c +++ b/DuetPkg/EfiLdr/EfiLoader.c @@ -148,6 +148,7 @@ EfiLoader ( AsciiSPrint (PrintBuffer, 256, "Decompress DxeIpl image, Image Address=0x%x! Offset=0x%x\n", (UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset), EFILDRImage->Offset); + PrintString (PrintBuffer); Status = TianoGetInfo ( (VOID *)(UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset), @@ -192,6 +193,9 @@ EfiLoader ( PrintString (PrintBuffer); SystemHang(); } + AsciiSPrint (PrintBuffer, 256, "DxeIpl PE image is successed loaded at 0x%x, entry=0x%x\n", + (UINTN)DxeIplImage.ImageBasePage, (UINTN)DxeIplImage.EntryPoint); + PrintString (PrintBuffer); // PrintString("Image.NoPages = "); // PrintValue(Image.NoPages); @@ -208,6 +212,10 @@ PrintHeader ('C'); // // Decompress the image // + AsciiSPrint (PrintBuffer, 256, "Decompress DXEMain FV image, Image Address=0x%x! Offset=0x%x\n", + (UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset), + EFILDRImage->Offset); + PrintString (PrintBuffer); Status = TianoGetInfo ( (VOID *)(UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset), @@ -216,6 +224,8 @@ PrintHeader ('C'); &ScratchSize ); if (EFI_ERROR (Status)) { + AsciiSPrint (PrintBuffer, 256, "Fail to get decompress information for DXEMain FV image!\n"); + PrintString (PrintBuffer); SystemHang(); } @@ -243,6 +253,9 @@ PrintHeader ('C'); if (EFI_ERROR (Status)) { SystemHang(); } + AsciiSPrint (PrintBuffer, 256, "DxeCore PE image is successed loaded at 0x%x, entry=0x%x\n", + (UINTN)DxeCoreImage.ImageBasePage, (UINTN)DxeCoreImage.EntryPoint); + PrintString (PrintBuffer); PrintHeader ('E'); @@ -282,6 +295,9 @@ PrintHeader ('E'); Handoff.DxeCoreImageSize = DxeCoreImage.NoPages * EFI_PAGE_SIZE; Handoff.DxeCoreEntryPoint = (VOID *)(UINTN)DxeCoreImage.EntryPoint; + AsciiSPrint (PrintBuffer, 256, "Transfer to DxeIpl ...Address=0x%x\n", (UINTN)DxeIplImage.EntryPoint); + PrintString (PrintBuffer); + EfiMainEntrypoint = (EFI_MAIN_ENTRYPOINT)(UINTN)DxeIplImage.EntryPoint; EfiMainEntrypoint (&Handoff); } diff --git a/DuetPkg/Library/DuetBdsLib/BdsPlatform.c b/DuetPkg/Library/DuetBdsLib/BdsPlatform.c index b7b58ac0d0..71e9b5db50 100644 --- a/DuetPkg/Library/DuetBdsLib/BdsPlatform.c +++ b/DuetPkg/Library/DuetBdsLib/BdsPlatform.c @@ -1080,7 +1080,12 @@ Returns: // from the graphic lib // if (QuietBoot) { - EnableQuietBootEx (&gEfiDefaultBmpLogoGuid, mBdsImageHandle); + Status = EnableQuietBootEx (&gEfiDefaultBmpLogoGuid, mBdsImageHandle); + if (EFI_ERROR (Status)) { + DisableQuietBoot (); + return; + } + // // Perform system diagnostic //