2014-05-20 4:00 GMT+02:00 Fan, Jeff <jeff....@intel.com>:
> X64 Exception Type - 000000000000000E     means Page Fault exception
> RIP  - 0000000006BA58DE                                 means in 
> MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe. 
> (ImageBase=0000000006B9F000)
> CR2 - FFFFFFFFFFFFFFF0                                     means Page Fault 
> exception occurred at address 0xFFFFFFFFFFFFFFF0
>
> So, the code in ConsplitterDxe try to access 0xFFFFFFFFFFFFFFF0 that is 
> invalid address without page table entry.  Maybe Some memory is crashed.
>
> In general, DEBUG does not involve ConsplitterDxe. But Print() does involve 
> ConspliteterDxe to print message on console devices.
>
> You may try comment all Print() and only test DEBUG to see if it could work 
> well.
>
>        // 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");

With the Print() calls commented out I do not see any log displayed in
the serial console. The "D_ERROR" message is no more displayed.

But I still have a crash of qemu:
qemu: fatal: Trying to execute code outside RAM or ROM at 0x00000000000b0000

RAX=0000000000000000 RBX=0000000080000000 RCX=0000000000000000
RDX=0000000000000007
RSI=000000000000000e RDI=0000000007dd0c30 RBP=0000000007f94560
RSP=0000000007f94518
R8 =0000000000000000 R9 =0000000007fb95df R10=0000000007f94690
R11=0000000006eb2f30
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

$ qemu -version
QEMU emulator version 1.1.2 (Debian 1.1.2+dfsg-6a+deb7u3), Copyright
(c) 2003-2008 Fabrice Bellard


Using my own build OVMF (edk2 revision 15538) I do not get any display
in the serial console and the qemu is consuming 100% CPU untill I kill
it.


If I uncomment the 1st Print() call I have:
    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");

And the serial output is:
FS0:\> debug1.efi
a
!!!! X64 Exception Type - 000000000000000E     CPU Apic ID - 00000000 !!!!
RIP  - 0000000006BA58DE, CS  - 0000000000000028, RFLAGS - 0000000000000287
ExceptionData - 0000000000000000
RAX  - FFFFFFFFFFFFFFF0, RCX - 0000000000000000, RDX - 0000000000000007
RBX  - 0000000080000000, RSP - 0000000007F6A4F0, RBP - 0000000007F6A530
RSI  - 000000000000000E, RDI - 0000000006BAA790
R8   - 0000000000000000, R9  - 0000000007F69EA7, R10 - 00000000069A169D
R11  - 0000000000000040, R12 - 0000000000000005, R13 - 0000000000000000
R14  - 0000000000000000, R15 - 0000000000000000
DS   - 0000000000000008, ES  - 0000000000000008, FS  - 0000000000000008
GS   - 0000000000000008, SS  - 0000000000000008
CR0  - 0000000080000033, CR2 - FFFFFFFFFFFFFFF0, CR3 - 0000000007F09000
CR4  - 0000000000000668, CR8 - 0000000000000000
DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
DR3  - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
GDTR - 0000000007EF2D98 000000000000003F, LDTR - 0000000000000000
IDTR - 0000000007C1E018 0000000000000FFF,   TR - 0000000000000000
FXSAVE_STATE - 0000000007F6A150
!!!! Find PE image
/home/lroussea/Documents/UEFI/edk2/Build/OvmfX64/DEBUG_GCC47/X64/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe/DEBUG/ConSplitterDxe.dll
(ImageBase=0000000006B9F000, EntryPoint=0000000006B9F2AF) !!!!

Attached is a gzip compressed version of my
/home/lroussea/Documents/UEFI/edk2/Build/OvmfX64/DEBUG_GCC47/X64/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe/DEBUG/ConSplitterDxe.dll
file. I hope that is OK for the mailing list.

Thanks

-- 
 Dr. Ludovic Rousseau

Attachment: ConSplitterDxe.dll.gz
Description: GNU Zip compressed data

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their 
applications. Written by three acclaimed leaders in the field, 
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to