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