Hello, I hope this is the correct mailing list for my request. If not sorry.
I use OVMF-X64-r15214 with qemu version 1.1.2 (Debian 1.1.2+dfsg-6a+deb7u2). It works great for my first tests. I now want to use the DEBUG() call to have some debug traces. My program is very simple. I use gnu-efi to build it. #include <efi.h> #include <efilib.h> EFI_STATUS EFIAPI efi_main (EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable) { InitializeLib(ImageHandle, SystemTable); Print(L"a\n"); DEBUG(( D_INFO, (CHAR8 *)"D_INFO\r\n")); Print(L"b\n"); DEBUG(( D_ERROR, (CHAR8 *)"D_ERROR\r\n")); Print(L"c\n"); return EFI_SUCCESS; } I start qemu using: qemu-system-x86_64 -bios OVMF-X64-r15214/OVMF.fd \ -boot c -m 128 -hda 'disk.img' \ -serial file:serial.log In the qemu graphical window I see 2 lines: a b In the serial.log file I have: [...] Shell> fs0: FS0:\> usb1 a b D_ERROR The first call to DEBUG() with D_INFO is not displayed. I guess it is because of the lines in /usr/include/efi/efidebug.h // // Current Debug level of the system, value of EFIDebug // //#define EFI_DBUG_MASK (D_ERROR | D_WARN | D_LOAD | D_BLKIO | D_INIT) #define EFI_DBUG_MASK (D_ERROR) The problem is that right after the "D_ERROR" is logged I get a crash of the virtual machine with: qemu: fatal: Trying to execute code outside RAM or ROM at 0x00000000000b0000 RAX=0000000000000000 RBX=0000000080000000 RCX=0000000000000000 RDX=0000000000000018 RSI=0000000000000005 RDI=0000000007dd0c30 RBP=0000000007f94560 RSP=0000000007f94518 R8 =0000000000000000 R9 =0000000007f93f5c R10=00000000000003f8 R11=0000000000000040 R12=0000000000000005 R13=0000000000000000 R14=0000000000000000 R15=0000000000000000 RIP=00000000000affae RFL=00000202 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0 ES =0008 0000000000000000 ffffffff 00cf9300 DPL=0 DS [-WA] CS =0028 0000000000000000 ffffffff 00af9b00 DPL=0 CS64 [-RA] SS =0008 0000000000000000 ffffffff 00cf9300 DPL=0 DS [-WA] DS =0008 0000000000000000 ffffffff 00cf9300 DPL=0 DS [-WA] FS =0008 0000000000000000 ffffffff 00cf9300 DPL=0 DS [-WA] GS =0008 0000000000000000 ffffffff 00cf9300 DPL=0 DS [-WA] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT TR =0000 0000000000000000 0000ffff 00008b00 DPL=0 TSS64-busy GDT= 0000000007f1ed98 0000003f IDT= 000000000747f018 00000fff CR0=80000033 CR2=0000000000000000 CR3=0000000007f33000 CR4=00000668 DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 DR6=00000000ffff0ff0 DR7=0000000000000400 CCS=0000000000000000 CCD=0000000000000000 CCO=ADDB EFER=0000000000000500 FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80 FPR0=0000000000000000 0000 FPR1=0000000000000000 0000 FPR2=0000000000000000 0000 FPR3=0000000000000000 0000 FPR4=0000000000000000 0000 FPR5=0000000000000000 0000 FPR6=0000000000000000 0000 FPR7=0000000000000000 0000 XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000 XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000 XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000 XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000 XMM08=00000000000000000000000000000000 XMM09=00000000000000000000000000000000 XMM10=00000000000000000000000000000000 XMM11=00000000000000000000000000000000 XMM12=00000000000000000000000000000000 XMM13=00000000000000000000000000000000 XMM14=00000000000000000000000000000000 XMM15=00000000000000000000000000000000 I also tried to start qemu using "-debugcon file:debug.log -global isa-debugcon.iobase=0x402" as indicated in [1] but I get the same crash and not log or debug at all. Is it a bug in OVMF-X64-r15214 or in qemu version 1.1.2? Do I need to initialize something before I can call DEBUG()? Thanks [1] https://github.com/tianocore/edk2-OvmfPkg -- Dr. Ludovic Rousseau ------------------------------------------------------------------------------ "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel