[MinnowBoard] [edk2] Bug in DebugCommunicationLibUsb

Tian, Feng feng.tian at intel.com
Wed Apr 8 08:37:14 UTC 2015


Correct my words here:

The support of source level debug through usb at MinnowMax wasn’t formally claimed.

Thanks
Feng

From: Tian, Feng
Sent: Wednesday, April 08, 2015 16:24
To: edk2-devel at lists.sourceforge.net; elinux-minnowboard at lists.elinux.org
Cc: He, Tim; Wei, David; Lin, Jie; Tian, Feng
Subject: RE: [edk2] Bug in DebugCommunicationLibUsb

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<mailto:elinux-minnowboard at lists.elinux.org>; edk2-devel at lists.sourceforge.net<mailto: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/a7d996f9/attachment-0001.html>


More information about the elinux-MinnowBoard mailing list