[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [edk2] OVMF broken under Xen (in PCI initialisation)



On Tue, Apr 26, 2016 at 10:31:22AM +0100, Andrew Cooper wrote:
> 
> > I tried to make RootBridgeIoConfiguration() return EFI_UNSUPPORTED
> > (see the attachment), and those asserts were gone. However, the system
> > stuck somewhere after loading shell.efi. Here are the messages from the
> > debug log:
> >
> > BdsLibConnectAll
> > Select Item: 0xE
> > Memory  Previous  Current    Next
> >  Type    Pages     Pages     Pages
> > ======  ========  ========  ========
> >   0A    00000004  00000001  00000004
> >   09    00000008  00000011  00000015
> >   00    00000004  00000001  00000004
> >   06    00000024  00000057  0000006C
> >   05    00000030  00000063  0000007B
> >   03    00000180  0000048D  000005B0
> >   04    00000F00  00000B65  00000F00
> > Booting EFI Internal Shell
> > InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3EA580C0
> > Loading driver at 0x0003E03F000 EntryPoint=0x0003E03F240 Shell.efi
> > InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3EA58B98
> > InstallProtocolInterface: 387477C2-69C7-11D2-8E39-00A0C969723B 3EA54320
> > InstallProtocolInterface: 752F3136-4E16-4FDC-A22A-E5F46812F4CA 3EA53CD8
> > InstallProtocolInterface: 6302D008-7F9B-4F30-87AC-60C9FEF5DA4E 3E16B580
> >
> > I couldn't find out where it stuck unless there is a way to attach gdb
> > to Xen HVM for source level debugging :-(
> 
> You can use gdbsx (from tools/debugger/gdbsx in the Xen tree) which acts
> like gdbserver.  (It is very rough around the edges, but does function.)
> 
Thanks for the hint!
Now I got the backtrace:

Program received signal SIGINT, Interrupt.
0x000000003f539cd2 in CpuSleep ()
(gdb) bt
#0  0x000000003f539cd2 in CpuSleep ()
#1  0x000000003f5359fc in IdleLoopEventCallback (Event=0x3eea8dd8, Context=0x0) 
at /home/linux/git/edk2/UefiCpuPkg/CpuDxe/CpuDxe.c:852
#2  0x000000003f66a9b2 in CoreDispatchEventNotifies (Priority=16) at 
/home/linux/git/edk2/MdeModulePkg/Core/Dxe/Event/Event.c:200
#3  0x000000003f66a007 in CoreRestoreTpl (NewTpl=4) at 
/home/linux/git/edk2/MdeModulePkg/Core/Dxe/Event/Tpl.c:131
#4  0x000000003f6581c3 in CoreReleaseLock (Lock=0x3f688d70) at 
/home/linux/git/edk2/MdeModulePkg/Core/Dxe/Library/Library.c:102
#5  0x000000003f66a78d in CoreReleaseEventLock () at 
/home/linux/git/edk2/MdeModulePkg/Core/Dxe/Event/Event.c:119
#6  0x000000003f66abf9 in CoreNotifySignalList (EventGroup=0x3f404ad0) at 
/home/linux/git/edk2/MdeModulePkg/Core/Dxe/Event/Event.c:276
#7  0x000000003f66b08d in CoreSignalEvent (UserEvent=0x3f404a98) at 
/home/linux/git/edk2/MdeModulePkg/Core/Dxe/Event/Event.c:564
#8  0x000000003f66b2c4 in CoreWaitForEvent (NumberOfEvents=1, 
UserEvents=0x3e3e2060, UserIndex=0x3f64c848)
    at /home/linux/git/edk2/MdeModulePkg/Core/Dxe/Event/Event.c:705
#9  0x000000003e052317 in FileInterfaceStdInRead (This=0x3e16b700, 
BufferSize=0x3f64ca00, Buffer=0x3e8d3018)
    at /home/linux/git/edk2/ShellPkg/Application/Shell/FileHandleWrappers.c:422
#10 0x000000003e062372 in FileHandleRead (FileHandle=0x3e16b700, 
BufferSize=0x3f64ca00, Buffer=0x3e8d3018)
    at 
/home/linux/git/edk2/MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.c:179
#11 0x000000003e04374e in DoShellPrompt () at 
/home/linux/git/edk2/ShellPkg/Application/Shell/Shell.c:1278
#12 0x000000003e041d0e in UefiMain (ImageHandle=0x3ea58b18, 
SystemTable=0x3f5d9018) at 
/home/linux/git/edk2/ShellPkg/Application/Shell/Shell.c:634
#13 0x000000003e040492 in ProcessModuleEntryPointList (ImageHandle=0x3ea58b18, 
SystemTable=0x3f5d9018)
    at 
/home/linux/git/edk2/Build/OvmfX64/DEBUG_GCC48/X64/ShellPkg/Application/Shell/Shell/DEBUG/AutoGen.c:834
#14 0x000000003e03f2b1 in _ModuleEntryPoint (ImageHandle=0x3ea58b18, 
SystemTable=0x3f5d9018)
    at 
/home/linux/git/edk2/MdePkg/Library/UefiApplicationEntryPoint/ApplicationEntryPoint.c:65
#15 0x000000003f653791 in CoreStartImage (ImageHandle=0x3ea58b18, 
ExitDataSize=0x3f64cd38, ExitData=0x3f64cd30)
    at /home/linux/git/edk2/MdeModulePkg/Core/Dxe/Image/Image.c:1661
#16 0x000000003f442fbc in BdsLibBootViaBootOption (Option=0x3ea63718, 
DevicePath=0x3ea58018, ExitDataSize=0x3f64cd38, ExitData=0x3f64cd30)
    at 
/home/linux/git/edk2/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c:2436
#17 0x000000003f4130a3 in BdsBootDeviceSelect () at 
/home/linux/git/edk2/IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c:286
#18 0x000000003f413c1a in BdsEntry (This=0x3f45fe00) at 
/home/linux/git/edk2/IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c:659
#19 0x000000003f64e96a in DxeMain (HobStart=0x3f402018) at 
/home/linux/git/edk2/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c:518
#20 0x000000003f64d71d in ProcessModuleEntryPointList (HobStart=0x3b6ce000)
    at 
/home/linux/git/edk2/Build/OvmfX64/DEBUG_GCC48/X64/MdeModulePkg/Core/Dxe/DxeMain/DEBUG/AutoGen.c:414
#21 0x000000003f64d26d in _ModuleEntryPoint (HobStart=0x3b6ce000) at 
/home/linux/git/edk2/MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.c:54
#22 0x0000000000000000 in ?? ()
(gdb)

The shell was waiting for the keystroke so it actually worked as
expected. However, the shell UI didn't show in either serial console
or the vncviewer.

Gary Lin

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.