[MinnowBoard] [edk2] Bug in DebugCommunicationLibUsb
Tian, Feng
feng.tian at intel.com
Wed Apr 8 08:24:12 UTC 2015
Hi,
The support of source level debug through usb wasn’t formally claimed, which means platform integrator needs extra work to enable this feature rather than simply switching to source level debug usb instance.
If you are interested in this, you can do such work by yourself.
From the log you shared, it’s more like wrong pcd settings. Did you follow “UDK Debugger user manual 2.2.4” to check whether the below PCDs settings are matching with the real?
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbEhciPciAddress
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbEhciMemorySpaceBase
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbDebugPortMemorySpaceBase
and are you sure you are inserting the Ajays 2.0 debug device at right usb port?
thanks
Feng
From: Anteja Vuk-Maček [mailto:anteja.vukmacek at gmail.com]
Sent: Wednesday, April 08, 2015 15:54
To: elinux-minnowboard at lists.elinux.org; edk2-devel at lists.sourceforge.net
Subject: [edk2] Bug in DebugCommunicationLibUsb
Hi ,
I'm want to do source level debugging on target ( minnowMax board ) with ajays 2.0 debug device but I can't build firmware image with SourceLevelDebugPkg which will work correctly.
For source level debugging I use:
* UDK debuger tool and UDK debuger tool user manuel (https://firmware.intel.com/develop/intel-uefi-tools-and-utilities/intel-uefi-development-kit-debugger-tool )
* WinDbg and usb2dbg.sys --> version 6.3.9600.17298
* Development tree for building firmwares versions: 0.76, 0.77, 0.78
Logs:
* version minnowmax 0.76
* when debug cable is not plug in and Udk debuger tool is not started
>>>>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 0x000FFFDE8A0 EntryPoint=0x000FFFDEB00 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 0x000FFFE03A0 EntryPoint=0x000FFFE0600 DebugAgentPei.efi
PROGRESS CODE: V3020002 I0
POSTCODE=<F5BD>
Install PPI: 3CD652B4-6D33-4DCE-89DB-83DF9766FCCA
Register PPI Notify: F894643D-C449-42D1-8EA8-85BDD8C65BDE
TimerFrequency = 0x369E99
TimerStartValue = 0x0
TimerEndValue = 0xFFFFFF
UsbDbg: Start EHCI debug port initialization!
USB Debugging__Function:InitializeUsbDebugHardware__Need to reset the host controller.USB Debugging__Function:InitializeUsbDebugHardware__Reset the host controller
PDB = c:\minmax076\Build\Vlv2TbltDevicePkg\DEBUG_VS2008x86\IA32\SourceLevelDebugPkg\DebugAgentPei\DebugAgentPei\DEBUG\DebugAgentPei.pdb
PROGRESS CODE: V3020003 I0
Loading PEIM at 0x000FFFE7CA0 EntryPoint=0x000FFFE7F00 PchEarlyInitPeim.efi
PROGRESS CODE: V3020002 I0
POSTCODE=<45FF>
PROGRESS CODE: V3020003 I0
Loading PEIM at 0x000FFFEB7A0 EntryPoint=0x000FFFEBA00 MemoryInit.efi
PROGRESS CODE: V3020002 I0
POSTCODE=<43B3>
Reg_EFF_DualCH_EN = 0x200301C0.
Buffer size brefore add 1673, after adjust 1680.
MRC Parameters not valid. status is 8000000E
MmioConf0[0xFED0E220], MmioPadval[0xFED0E228]
Gpio_S5_5 value is 0x3
Determine the memory size is [2GB]
DRAM_Speed is 1, EccEnabled = 1
MemoryInit for Minnow2
tCL = 11
tRP_tRCD = 11
tWR = 12
tWTR = 6
tRRD = 6
tRTP = 6
tFAW = 32
PROGRESS CODE: V51001 I0
POSTCODE=<0024>
PROGRESS CODE: V51002 I0
POSTCODE=<0025>
PROGRESS CODE: V51003 I0
POSTCODE=<0027>
Configuring Memory...
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
Current function is DisableRank2RankSwitching
Current function is MMRC_RcvnTrain
ReceiveEnable: ch 0
ReceiveEnableEntryHooks: ch 0
DecodeAndExeRegAssignment: ch 0
CPGC_Setup: ch 0 rk 0
CPGC_S_SetupSeq: ch 0
GetSetDataSignal - RCVN_MIN: ch 0
GetSetDataSignal - DELAYS_RCVN_DEL: ch 0
GetSetDataSignal - RCVN_MIN: ch 0
GetSetDataSignal - DELAYS_RCVN_DEL: ch 0
GetSetDataSignal - RCVN_MIN: ch 0
GetSetDataSignal - DELAYS_RCVN_DEL: ch 0
GetSetDataSignal - RCVN_MIN: ch 0
GetSetDataSignal - DELAYS_RCVN_DEL: ch 0
GetSetDataSignal - RCVN_MIN: ch 0
GetSetDataSignal - DELAYS_RCVN_DEL: ch 0
GetSetDataSignal - RCVN_MIN: ch 0
GetSetDataSignal - DELAYS_RCVN_DEL: ch 0
GetSetDataSignal - RCVN_MIN: ch 0
GetSetDataSignal - DELAYS_RCVN_DEL: ch 0
GetSetDataSignal - RCVN_MIN: ch 0
GetSetDataSignal - DELAYS_RCVN_DEL: ch 0
JedecCmd - JEDEC_PRECHARGEALL: ch 0 rk 0
GetSetDataSignal - strob 0: ch 0 rk 0
GetSetDataSignal - strob 1: ch 0 rk 0
GetSetDataSignal - strob 2: ch 0 rk 0
GetSetDataSignal - strob 3: ch 0 rk 0
GetSetDataSigna
* when debug cable is plug in and and Udk debuger tool is started
>>>>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 0x000FFFDE8A0 EntryPoint=0x000FFFDEB00 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 0x000FFFE03A0 EntryPoint=0x000FFFE0600 DebugAgentPei.efi
PROGRESS CODE: V3020002 I0
POSTCODE=<F5BD>
Install PPI: 3CD652B4-6D33-4DCE-89DB-83DF9766FCCA
Register PPI Notify: F894643D-C449-42D1-8EA8-85BDD8C65BDE
TimerFrequency = 0x369E99
TimerStartValue = 0x0
TimerEndValue = 0xFFFFFF
UsbDbg: Start EHCI debug port initialization!
USB Debugging__Function:InitializeUsbDebugHardware__Need to reset the host controller.USB Debugging__Function:InitializeUsbDebugHardware__Reset the host controller
USB Debugging__Function:InitializeUsbDebugHardware__Reset the debug port.
USB Debugging__Function:InitializeUsbDebugHardware__Enable Usb Debug Port Capability.
PDB = c:\minmax076\Build\Vlv2TbltDevicePkg\DEBUG_VS2008x86\IA32\SourceLevelDebugPkg\DebugAgentPei\DebugAgentPei\DEBUG\DebugAgentPei.pdb
USB Debugging__Function:InitializeUsbDebugHardware__Reset the debug port.
USB Debugging__Function:InitializeUsbDebugHardware__Enable Usb Debug Port Capability.
USB Debugging__Function:InitializeUsbDebugHardware__Reset the debug port.
USB Debugging__Function:InitializeUsbDebugHardware__Enable Usb Debug Port Capability.
USB Debugging__Function:InitializeUsbDebugHardware__Reset the debug port.
USB Debugging__Function:InitializeUsbDebugHardware__Enable Usb Debug Port Capability.
USB Debugging__Function:InitializeUsbDebugHardware__Reset the debug port.
USB Debugging__Function:InitializeUsbDebugHardware__Enable Usb Debug Port Capability.
USB Debugging__Function:InitializeUsbDebugHardware__Reset the debug port.
USB Debugging__Function:InitializeUsbDebugHardware__Enable Usb Debug Port Capability.
USB Debugging__Function:InitializeUsbDebugHardware__Reset the debug port.
USB Debugging__Function:InitializeUsbDebugHardware__Enable Usb Debug Port Capability.
* verzion minnowMax 0.78 ( when is debug cable is plug in )
>>>>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: Failed, please check if USB debug cable is plugged into EHCI debug port correctly!
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
Current function is DisableRank2RankSwitching
Current function is MMRC_RcvnTrain
Current function is MMRC_WrLvlFineTrain
Current function is MMRC_WrLvlCoarseTrain
Current function is MMRC_RdVrefTrain
I try to do source level debugging on three version, because I think maybe is some improvement but it is same in source level debugging.
Problem: I'm think that in DebugComunicationLibUsb library is some kind of bug. May somebody look DebugCommunicationLibUsb library and try to do source level debugging with usb. Why firmware stoped in MemoryInit ?
P.S I send in attacment PlatformPkg.fdf and PlatformPkgIA32 from Vlv2TbltDevicePkg package. In PlatformPkg.fdf I increase FV Recovery and decrease FV Recovery2. May somebody look this files and tell me if I do something wrong ?
Best regards,
Anteja Vuk-Maček
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.elinux.org/pipermail/elinux-minnowboard/attachments/20150408/71381d44/attachment-0001.html>
More information about the elinux-MinnowBoard
mailing list