[MinnowBoard] Bug in DebugCommunicationLibUsb

Anteja Vuk-Maček anteja.vukmacek at gmail.com
Wed Apr 8 07:53:41 UTC 2015


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/7a3b1320/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PlatformPkg.fdf
Type: application/vnd.fdf
Size: 42966 bytes
Desc: not available
URL: <http://lists.elinux.org/pipermail/elinux-minnowboard/attachments/20150408/7a3b1320/attachment-0001.fdf>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PlatformPkgIA32.dsc
Type: application/octet-stream
Size: 65265 bytes
Desc: not available
URL: <http://lists.elinux.org/pipermail/elinux-minnowboard/attachments/20150408/7a3b1320/attachment-0001.obj>


More information about the elinux-MinnowBoard mailing list