[MinnowBoard] [edk2] Bug in DebugCommunicationLibUsb
Tian, Feng
feng.tian at intel.com
Thu Apr 9 08:32:10 UTC 2015
Could you add the below debug message to the beginning of InitializeUsbDebugHardware() for further debugging?
DEBUG (( EFI_D_INFO, "UsbDbg: Handle = %08x, Base = %08x, Offset = %08x\n", Handle, Handle->UsbDebugPortMemoryBase, Handle->DebugPortOffset ));
Please stick to 0.78 version and set pcds to the first configuration you shared.
As you can connect usb debug device with WinDbg, we suspect some data structures may be corrupted after memory migration in MemoryInit.
Thanks
Feng
From: Anteja Vuk-Maček [mailto:anteja.vukmacek at gmail.com]
Sent: Thursday, April 09, 2015 14:35
To: Tian, Feng
Cc: edk2-devel at lists.sourceforge.net; elinux-minnowboard at lists.elinux.org; He, Tim; Wei, David; Lin, Jie
Subject: Re: [edk2] Bug in DebugCommunicationLibUsb
Hi,
I follow UDK Debugger user manual version 1.91 and my PCDs settings are matching with real because values for PCDs I see in procesor datasheet. Also, with success it connected to the UDK debugger tool+WinDbg andafter that firmware stoped and after in WinDbg I command go and than it stoped in MemoryInit. And I s
I try default PCD settings
( gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbEhciPciAddress |0x000E8000|UINT32|0x00000003 ( ehci -> 0.29.0 )
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbEhciMemorySpaceBase |0xd0000000|UINT32|0x00000002
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbDebugPortMemorySpaceBase |0xd0000000|UINT32|0x00000001 )
and WinDbg was connected and try debug but firmware stoped in MemoryInit.
When I try PCDs settings
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbEhciPciAddress |0x000E8000|UINT32|0x00000003 ( ehci -> 0.29.0 )
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbEhciMemorySpaceBase |0x00000000|UINT32|0x00000002
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbDebugPortMemorySpaceBase |0x00000000|UINT32|0x00000001
nothing was changed, and WinDbg was also connected on MinnowMax version 0.78 . But on MinnowMax version 0.76 firmware was connect to the WinDbg and stoped me in SEC phase and I got only this log >>>>SecStartup .
Log for MinnowMax version 0.78 :
>>>>SecStartup
Mono Status Code PEIM Loaded
Install PPI: 1F4C6F90-B06B-48D8-A201-BAE5F1CD7D56
Install PPI: AB294A92-EAF5-4CF3-AB2B-2D4BED4DB63D
Register PPI Notify: F894643D-C449-42D1-8EA8-85BDD8C65BDE
GGC: 0x00000210 GMSsize:0x00000002
I'm Minnow2!
CheckCfioPnpSettings: CFIO Pnp Settings Disabled
Setting BootMode to BOOT_WITH_FULL_CONFIGURATION
Setup MMIO size ...
Install PPI: E767BF7F-4DB6-5B34-1011-4FBE4CA7AFD2
PROGRESS CODE: V3020003 I0
Loading PEIM at 0x000FFFDEDA0 EntryPoint=0x000FFFDF000 SeCUma.efi
PROGRESS CODE: V3020002 I0
POSTCODE=<6543>
Install PPI: CBD86677-362F-4C04-9459-A741326E05CF
Info: SeC PPI load sucessfully
PROGRESS CODE: V3020003 I0
Loading PEIM at 0x000FFFE08A0 EntryPoint=0x000FFFE0B00 DebugAgentPei.efi
PROGRESS CODE: V3020002 I0
POSTCODE=<F5BD>
Install PPI: 3CD652B4-6D33-4DCE-89DB-83DF9766FCCA
Register PPI Notify: F894643D-C449-42D1-8EA8-85BDD8C65BDE
USB Debug Port: TimerFrequency = 0x369E99
USB Debug Port: TimerStartValue = 0x0
USB Debug Port: TimerEndValue = 0xFFFFFF
UsbDbg: Start EHCI debug port initialization!
UsbDbg: Need to reset the host controller. ControlStatus = 00000000
UsbDbg: Reset the host controller.
UsbDbg: Reset the debug port.
PDB = c:\minnowboard078\Build\Vlv2TbltDevicePkg\DEBUG_VS2008x86\IA32\SourceLevelDebugPkg\DebugAgentPei\DebugAgentPei\DEBUG\DebugAgentPei.pdb
PROGRESS CODE: V3020003 I0
Loading PEIM at 0x000FFFE7F20 EntryPoint=0x000FFFE8180 PchEarlyInitPeim.efi
PROGRESS CODE: V3020002 I0
POSTCODE=<45FF>
PROGRESS CODE: V3020003 I0
Loading PEIM at 0x000FFFEBA20 EntryPoint=0x000FFFEBC80 MemoryInit.efi
PROGRESS CODE: V3020002 I0
POSTCODE=<43B3>
Reg_EFF_DualCH_EN = 0x200301C0.
Buffer size brefore add 165B, after adjust 1668.
MRC Parameters not valid. status is 8000000E
Set MRC paramaters for MinnowBoard Max.
MmioConf0[0xFED0E220], MmioPadval[0xFED0E228]
Gpio_S5_5 value is 0x3
Determine the memory size is [2GB]
DRAM_Speed is 1066MHz!
DRAM_Speed is type 1, EccEnabled = 0
tCL = 7
tRP_tRCD = 7
tWR = 8
tWTR = 5
tRRD = 6
tRTP = 4
tFAW = 28
PROGRESS CODE: V51001 I0
POSTCODE=<0024>
PROGRESS CODE: V51002 I0
POSTCODE=<0025>
PROGRESS CODE: V51003 I0
POSTCODE=<0027>
Configuring Memory...
CheckMicrocodeRevision = 00000321, CpuId = 00030673
####: ConfigureMemory() Entry
Current function is McEnableHPET
Current function is ClearSelfRefresh
Current function is OemTrackInitComplete
Current function is ProgSFRVolSel
Current function is ProgDdrTimingControl
Current function is ProgBunit
Current function is ProgMpllSetup
Current function is ProgStaticDdrSetup
Current function is ProgStaticInitPerf
Current function is ProgStaticPwrClkGating
Current function is DUnitBlMode
Current function is ControlDDR3Reset
Current function is EnableVreg
Current function is ProgHmc
Current function is ProgReadWriteFifoPtr
Current function is ProgComp
Current function is SetIOBUFACT
Current function is ProgDdecodeBeforeJedec
Current function is PerformDDR3Reset
Current function is PreJedecInit
Current function is PerformJedecInit
Current function is SetDDRInitializationComplete
Current function is PerformJedecInit
CurrentUsbDbg: Need to reset the host controller. ControlStatus = 10FF00FF
UsbDbg: Reset the host controller.
Problem : May I got souce code of MemorInt.efi because firmware stoped in MemoryInit I want to know what's happening ? I try opened and got code in IDA but it wasn't readable.
May somebody tell me for PcdUsbEhciMemorySpaceBase and PcdUsbDebugPortMemorySpaceBase PCDs which value is correct ?
Best regards ,
Anteja Vuk-Maček
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.elinux.org/pipermail/elinux-minnowboard/attachments/20150409/7ed2e669/attachment-0001.html>
More information about the elinux-MinnowBoard
mailing list