Booting a debug build of OVMF on QEMU, with PcdShadowPeimOnS3Boot and 
PcdShadowPeimOnBoot set to FALSE, i'm hitting the following assertion:

--[last lines of debug output]--
DXE IPL Entry

ASSERT_EFI_ERROR (Status = Invalid Parameter)
ASSERT /home/miki/vcs/git/edk2/MdeModulePkg/Core/Pei/Image/Image.c(603): !
EFI_ERROR (Status)
--[end]--

This is on Arch Linux (x86_64), package versions: qemu 2.4.1-1, gdb 
7.10-4.1 .

To disable shadowing, I made the following change:

diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
index 44b9c79..31f73bc 100644
--- a/OvmfPkg/OvmfPkgX64.dsc
+++ b/OvmfPkg/OvmfPkgX64.dsc
@@ -340,6 +340,11 @@
   gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
 !endif
 
+!if $(TARGET) == DEBUG
+  gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnS3Boot|FALSE
+  gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnBoot|FALSE
+!endif
+
 !ifndef $(USE_OLD_SHELL)
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 
0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 
0xB4, 0xD1 }
 !endif

For building the OVMF image, I used the following commands:

$ make -C BaseTools
$ . edksetup.sh BaseTools
$ build -a X64 -p OvmfPkg/OvmfPkgX64.dsc -b DEBUG -t GCC49 -n 8

To get debug output from QEMU, I used the following command:

$ qemu-system-x86_64 -monitor none -serial none -chardev 
stdio,id=biosdebug -device isa-debugcon,iobase=0x402,chardev=biosdebug -
bios Build/OvmfX64/DEBUG_GCC49/FV/OVMF.fd

Using GDB (with a custom Python script to load symbols), I got a fill 
backtrace.
I will try and post the full output from QEMU boot as well as the 
backtrace as replies to this message because many mail archives strip 
attachments.

Kind regards,

Alain

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to