American Megatrends, Inc.

AMIDebugRx

Copyright

Release Notes

© American Megatrends, Inc.


Copyright

American Megatrends, Inc.
5555 Oakbrook Parkway
Suite 200
Norcross, GA 30093 (USA)

Copyright (c) 1999-2012 American Megatrends, Inc. All Rights Reserved.

This publication contains proprietary information, which is protected by copyright. No part of this publication may be reproduced, transcribed, stored in a retrieval system, translated into any language or computer language, or transmitted in any form whatsoever without the prior written consent of the publisher, American Megatrends, Inc.

American Megatrends, Inc. retains the right to update, change, modify this publication at any time, without notice.

For Additional Information

Call American Megatrends BIOS Sales Department at 1-800-828-9264 for additional information.

Limitations of Liability

In no event shall American Megatrends be held liable for any loss, expenses, or damages of any kind whatsoever, whether direct, indirect, incidental, or consequential, arising from the design or use of this product or the support materials provided with the product.

Limited Warranty

No warranties are made, either expressed or implied, with regard to the contents of this work, its merchantability, or fitness for a particular use. American Megatrends assumes no responsibility for errors and omissions or for the uses made of the material contained herein or reader decisions based on such use.

Trademark and Copyright Acknowledgments

All product names used in this publication are for identification purposes only and are trademarks of their respective Companies.


AMI Debug Rx Release Notes

Component Information:

Component Name: AMI Debug Rx

Component Type: Emodule

Release Date: 09/28/2012

Source Control Label: 4.6.2_AMIDebugRx_2.04.0074

Source Control Location: $/Alaska/BIN/Modules/AMIDebugRx

Compatibility: This Module is compatible with 4.6.2_Debugger_2.04.0073version of Debugger Module. Not compatible with Older Labels of Debugger Module.

Tools Information:

Projects based on Aptio core version 4.6.3.7 or older, should use old DDK compiler.
Projects based on Aptio core version 4.6.4.0 or newer, should use new WDK 7.1.0 compiler.

(1) WDK CD image can be downloaded from:
http://www.microsoft.com/whdc/devtools/wdk/WDKpkg.mspx

To configure VeB to work with WDK 7.1.0(7600.16385.1):
Tools Directories:
<Aptio Tools>
C:\WinDDK\7600.16385.1\bin\x86
C:\WinDDK\7600.16385.1\bin\x86\x86

Env Variables:

CCX86DIR = C:\WinDDK\7600.16385.1\bin\x86\x86
CCX64DIR = C:\WinDDK\7600.16385.1\bin\x86\amd64

AMITools :

This Version of AMIDebugRx has been verified with

TOOLS : [4.5.5_TOOLS_40]

FwBuild : [FwBuild_1_23_0038]

Component Description:

AMI Debug Rx module. Supports Checkpoints Display in Debug Terminal but does not support other Debug messages and Console redirection.

Directory of AMIDebugRx module

Filename | Description
AMI Debug Rx.chm | Chm file containing the Release notes and other help structures.
AMIDebugRx.cif | Cif File for the AMIDebugRx module
AMIDebugRx.sdl | File containing the SDL tokens used by AMIDebugRx module
AMIDebugRx.mak | Make file for AMI Debug Rx module-part.
AMIDebugRx.sd | SD file for displaying data in Setup Screen.
AMIDebugRx.uni | UNI file containing strings used for Setup Display.
DebugRx.sdl | SDL file contains tokens related to Debug Rx
DebugRx.cif | Cif File for the DebugRx module part

Directory of AMIDebugRx\binaries\LIBS

Filename | Description
DbgrUsbCableSelectLib.cif | Cif file for DbgrUsbCableSelectLib module-part.
DbgrUsbCableSelectLib.mak | Make file for DbgrUsbCableSelectLib module-part.
DbgrUsbCableSelectLib.sdl | SDL tokens used in DbgrUsbCableSelectLib module-part.
PeiDbgStatusCodeLib.mak | Make file for PeiDbgStatusCodeLib module-part.
PeiDbgStatusCodeLib.sdl | SDL tokens used in PeiDbgStatusCodeLib module-part.
PeiDbgStatusCodeLibBin.cif | Cif file for PeiDbgStatusCodeLib module-part.
UsbCableSelect.c | DbgrUSbCableSelectLib Library source file.

Directory of AMIDebugRx\binaries\LIBS\DbgrX64Lib

Filename | Description
AsmDbgrx64Libs.h | File containing the Prototypes for the library functions
DbgrX64Lib.cif | Cif file for DbgrX64Lib module-part.
DbgrX64Lib.lib | Library containing debugger routines for x64.
DbgrX64Lib.mak | Make file for DbgrX64Lib module-part.
DbgrX64Lib.sdl | SDL tokens used in DbgrX64Lib module-part.

Directory of AMIDebugRx\binaries\LIBS\DebuggerLib

Filename | Description
DebuggerLib.cif | Cif file for DebuggerLib module-part.
DebuggerLib.lib | Library to send LdImage notifications to PEI AMI Debug Rx.
DebuggerLib_PI_1_1.lib | Library to send LdImage notifications to PEI AMI Debug Rx with PI_SPECIFICATION_VERSION = 0x1000A - PI 1.1.
DebuggerLibX64.lib | X64 Library to send LdImage notifications to PEI AMIDebug Rx.
DebuggerLibX64_PI_1_1.lib | X64 Library to send LdImage notifications to PEI AMIDebug Rx with PI_SPECIFICATION_VERSION = 0x1000A - PI 1.1.
DebuggerLib.mak | Make file for DebuggerLib module-part.
DebuggerLib.sdl | SDL tokens used in DebuggerLib module-part.

Directory of AMIDebugRx\binaries\LIBS\StatusCodeLib

Filename | Description
DbgrHelp.c | File containing globals for CAR base address and Size

Directory of AMIDebugRx\binaries\LIBS\StatusCodeLib\ia32

Filename | Description
AMIDbgPortStatusCodeDxe.obj | Initializes the DXE core and replaces the elinks for Status code depending on whether PEI AMI Debug Rx is enabled.
AMIDbgPortStatusCodePei.obj | Replaces the elinks for Status code depending on whether PEI AMI Debug Rx is enabled.
DummyAmiSerialIO.obj | AMI SerialIo Related Functions.
GetDbgInterfaceDxe.obj | Debug Interface related functions.
GetDbgInterfacePei.obj | Debug Interface related functions.
PeiDbgStatusCode.obj | PEI Debug Status code related Functions.
HostConStatus.obj | Status of Host Connected related functions.
StsCodeObjsIA32Rx.cif | Cif file for StatusCodeObjsIA32Rx (32-bit) module part.

Directory of AMIDebugRx\binaries\LIBS\StatusCodeLib\x64

Filename | Description
AMIDbgPortStatusCodeDxe.obj | Initializes the DXE core and replaces the elinks for Status code depending on whether PEI AMI Debug Rx is enabled.
AMIDbgPortStatusCodePei.obj | Replaces the elinks for Status code depending on whether PEI AMI Debug Rx is enabled.
DummyAmiSerialIO.obj | AMI SerialIo Related Functions.
GetDbgInterfaceDxe.obj | Debug Interface related functions.
PeiDbgStatusCode.obj | PEI Debug Status code related Functions.
HostConStatus.obj | Status of Host Connected related functions.
StsCodeObjsx64Rx.cif | Cif file for StatusCodeObjsx64Rx (64-bit) module part.

Directory of AMIDebugRx\binaries\PeiAMIDebugRx

Filename | Description
PeiDbgDbgr.cif | Cif file for PeiDbgDbgr module-part.
PeiDbgDbgr.dxs | Dependency file for PeiDbgDbgr module-part
PeiDbgDbgr.mak | Make file for PeiDbgDbgr module-part.
PeiDbgDbgr.sdl | SDL tokens used in PeiDbgDbgr module-part.
PeiDbgIDT.cif | Cif file for PeiDbgIDT module-part.
PeiDbgIDT.dxs | Dependency file for PeiDbgIDT module-part
PeiDbgIDT.mak | Make file for PeiDbgIDT module-part.
PeiDbgIDT.sdl | SDL tokens used in PeiDbgIDT module-part.
PeiDbgMain.cif | Cif file for PeiDbgMain module-part.
PeiDbgMain.sdl | SDL tokens used in PeiDbgMain module-part.
PeiDbgPort.c | Calls the chipset elink and calls the initialization routines of debug port.
PeiDbgPort.cif | Cif file for PeiDbgPort module-part.
PeiDbgPort.dxs | Dependency file for PeiDbgPort module-part
PeiDbgPort.mak | Make file for PeiDbgPort module-part.
PeiDbgPort.sdl | SDL tokens used in PeiDbgPort module-part.
PeiDbgPortUSB.obj | Debug Port Related Functions.
PeiDbgXport.cif | Cif file for PeiDbgXport module-part.
PeiDbgXport.dxs | Dependency file for PeiDbgXport module-part
PeiDbgXport.mak | Make file for PeiDbgXport module-part.
PeiDbgXport.sdl | SDL tokens used in PeiDbgXport module-part.
PeiAMIDebugRx.cif | Cif file for PeiAMIDebugRx module-part.
PeiAMIDebugRx.sdl | SDL tokens used in PeiAMIDebugRx module-part.

Directory of AMIDebugRx\binaries\PeiAMIDebugRx\DBGR

Filename | Description
DbgrHdr.c | File containing the globals for CAR base address & size. Also the code which makes use of this so that it can be integrated as it is Debugger eModule of binary.
mindbgr.obj | PEI AMI Debug Rx file Used for redirection only case.

Directory of AMIDebugRx\binaries\PeiAMIDebugRx\IDT

Filename | Description
emptyidt.obj | Empty SetupIDT for Redirection Only Case.

Directory of AMIDebugRx\binaries\PeiAMIDebugRx\INC

Filename | Description
AMIpeidebug.h | Contains 32-bit PEI AMI Debug Rx Prototypes.
EHCI.h | EHCI controller related declarations and #defines.
AMIpeidebugX64.h | Contains 64-bit PEI AMI Debug Rx Prototypes.
INC.cif | Cif file for INC module-part.
misc.h | Generic Misc Header file.

Directory of AMIDebugRx\binaries\PeiAMIDebugRx\MAIN

Filename | Description
PeiDbgMain.ffs | PEIDbgMain FFS (Firmware filesystem) File.
PeiDbgMain_PI_1_1.ffs | PEIDbgMain FFS (Firmware filesystem) File for PI 1.1.

Directory of AMIDebugRx\binaries\PeiAMIDebugRx\PeiDebugSupport

Filename | Description
AmiDebugPort.obj | Debug Port Related Functions.
CopyDbgXPortUsb.obj | Copies the Xport Debug Port Data.
DbgrHelp.c | File containing the globals for CAR base address & size.
EmptyNotify.obj | File containing the empty NotifyEndofPei.
DebugPortUSB.obj | Debug Port Related Functions for USB.
Emptyrelocdbgidt.obj | Contains empty routines for redirection only case.
emptyX64idt.obj | File containing the empty functions to x64IDT settings
PeiDbgSupportX64.obj | File containing the sources to load the PeiDbgr x64 modules to memory and init the x64 IDT.
PeiDbgSupportX64_PI_1_1.obj | File containing the sources to load the PeiDbgr x64 modules to memory and init the x64 IDT for PI 1.1.
PeiDebugSupport.cif | Cif file for PeiDebugSupport module-part.
PeiDebugSupport.dxs | Dependencies file for PeiDebugSupport module-part.
PeiDebugSupport.mak | Make file for PeiDebugSupport module-part.
PeiDebugSupport.obj | Install the PEIM. Initialize listeners; publish the PPI and HOB for PEI and DXE use respectively.
PeiDebugSupport_PI_1_1.obj | Install the PEIM. Initialize listeners; publish the PPI and HOB for PEI and DXE use respectively for PI 1.1.
PeiDebugSupport.sdl | SDL tokens used in PeiDebugSupport module-part.
relocdbg.obj | Relocates the debugger to memory once memory is detected.
relocdbg_PI_1_1.obj | Relocates the debugger to memory once memory is detected for PI 1.1.

Directory of AMIDebugRx\binaries\PeiAMIDebugRx\x64\DBGR

Filename | Description
mindbgr.obj | File Containing empty debugger routines for Redirection.
PeiDbgDbgrx64.cif | Cif file for PeiDbgDbgrx64 module-part.
PeiDbgDbgrx64.dxs | Dependencies file for PeiDbgDbgrx64 module-part.
PeiDbgDbgrx64.mak | Make file for PeiDbgDbgrx64 module-part.
PeiDbgDbgrx64.sdl | SDL tokens used in PeiDbgDbgrx64 module-part.

Directory of AMIDebugRx\binaries\PeiAMIDebugRx\x64\XPORT

Filename | Description
PeiDbgXportx64.cif | Cif file for PeiXportx64 module-part.
PeiXportx64Redir.cif | Cif file for PeiXportx64 Redir module-part.
PeiDbgXportx64.dxs | Dependencies file for PeiXportx64 Redir module-part.
PeiDbgXportx64.mak | Make file for PeiDbgXportx64 module-part.
PeiDbgXportx64.sdl | SDL tokens used in PeiDbgXportx64 module-part.
XportHdr.c | File containing the globals for CAR base address & size. Also the code which makes use of this so that it can be integrated as it is Debugger eModule of binary.

Directory of AMIDebugRx\binaries\PeiAMIDebugRx\x64\XPORT\REDIR

Filename | Description
transport.obj | Transport Layer functions.
UsbDebugPort.obj | USBDebugPort functions.
usb_acc.obj | USB Access Routines.
usb_xp.obj | Transport Layer functions.
xp_layer.obj | Transport Layer Functions.

Directory of AMIDebugRx\binaries\PeiAMIDebugRx\XPORT

Filename | Description
PeiXportRedir.cif | Cif file for PeiXportRedir module-part.
PeiXportDbgr.cif | Cif file for PeiXportDbgr module-part.
XportHdr.c | File containing the globals for CAR base address & size. Also the code which makes use of this so that it can be integrated as it is Debugger eModule of binary.

Directory of AMIDebugRx\binaries\PeiAMIDebugRx\XPORT\REDIR

Filename | Description
transport.obj | Transport Layer functions.
UsbDebugPort.obj | USBDebugPort functions.
usb_acc.obj | USB Access Routines.
usb_xp.obj | Transport Layer functions.
xp_layer.obj | Transport Layer Functions.

Directory of AMIDebugRx\binaries\PeiAMIDebugRx\XPORT\DBGR

Filename | Description
transport.obj | Transport Layer functions.
UsbDebugPort.obj | USBDebugPort functions.
usb_acc.obj | USB Access Routines.
usb_xp.obj | Transport Layer functions.
xp_layer.obj | Transport Layer Functions.

Contents:

AMI Debug Rx does not require a Host Application, AMI Debug Rx Debug device (calamari) is capable of consuming the Checkpoints and displaying them.

Steps:

Host side:

1. Use the AMI Debug Rx Debug device provided by AMI.

2. Connect the Target and the Host systems with it.

Target Connection:

1. Include AMIDebugRx module.

2. Use the AMI Debug Rx Debug device in any USB port.

3. If the System/project supports PEI code caching, to reduce the boot time and it recommended using the following modules from the Code Cache region

PeiDbgPort.ffs,

PeiDbgDbgr.ffs,

PeiDbgXport.ffs and

PeiDebugSupport.ffs

New Fixes/Features:

1. EIP 80406 - Debugger support for Dynamic PCI express base token

2. EIP 84201 - AMIDebugRx\Debugger Target modules usage of the Port 80 must be controllable

3. Bug fix - Changes made to avoid build errors when dependant SDL tokens are not available in the project

4. Added notification for AMIDEBUG_RX_SUPPORT only without PeiDebugger_SUPPORT or without USB_DEBUG_TRANSPORT.

Features:

1. AMI Debug Rx is independent of USB Redirection and AMI Debug for UEFI Functionality.

2. Overcomes the need of Serial port and Checkpoint Cards.

3. Sends UEFI/User Progress Codes from target to AMI Debug Rx Debug device.

4. Separate console Progress Codes.

5. Ability to start from PEI Core to all other phases of EFI (Both x32 and x64).

6. Target Module for AMI Debug Rx.

7. Works with an AMI Debug Rx Debug device (or Calamari).

8. Can use the AMI Debug for UEFI porting.

9. Ability to boot without Debug Device and/or Host application.

10. AMI Debug Rx eModule in Sources.

11. DebugRx support in S3 Resume.

12. Ability to boot with USB Redirection enabled and AMIDebugRx device in checkpoint mode.

13. Compatible with PI_SPECIFICATION_VERSION 0.91\1.0\1.1\1.2

Errata & Known Issues:

1. With Windows 7 x64, after booting to OS, the Debug port is not being recognized by other USB devices.

Connectivity:

1. AMIDebugRX Device.

How to Check for Valid\Unlocked AMIDebugRx Device?

Before using the DebugRx device for debugging, the user must validate and check whether AMIDebugRx device is unlocked to be used for debugging purposes.

If the Dip-switch on AMIDebugRx device is set to “Debug” the message on the screen must say “AMI Debug Running” which means that the device has been unlocked for use with debugger, if the message reads “USB Host-to-Host” it means that the device is locked and cannot be used as a USB debug cable compatible with Debugger functionality.

[NOTE: If user desires to unlock the AMIDebugRx device, please get in touch with your AMI Contact for an unlock code based on the AMIDebugRx device’s serial number.]

Details on how to unlock the AMIDebugRx can be found in the AMIDebug Rx User Manual provided with the device.

Drivers for the AMIDebugRx Device:

In Checkpoint mode – VCOM drivers are provided with the AMIDebugRx device package.

In Debug Mode – [For Unlocked devices] - The driver can be found in the Debugger eModule under Debugger\DebuggerHost.zip (for use with Debugger\USB Redirection modules with Switch in Debug).

Limitations:

  1. Multiple USB Debug port support is unavailable, only one Debug port can be used in that case. (Applicable where Multiple USB Debug ports are available in some platforms)

Integration Guidelines – To enable AMIDebugRx Support in S3\S4:

To enable AMIDebugRx Support in a project while resuming from S3\S4

The following SDL Token must be enabled - AMI_DEBUG_RX_IN_S3_SUPPORT and

The following Elink must be added to the Project

ELINK

Name = "SBPeiDbgIsS3Hook,"

Parent = " PeiDbgIsS3Hook "

Token = "AMIDEBUG_RX_SUPPORT" "=" "1"

Token = "PeiDebugger_SUPPORT" "=" "1"

Token = "AMI_DEBUG_RX_IN_S3_SUPPORT" "=" "0"

InvokeOrder = ReplaceParent

End

AMIDebugRx support in S3 requires optimal Memory to be enabled hence, with AMI_DEBUG_RX_IN_S3_SUPPORT SDL token enabled,

AMIDebugRx increases the S3_BASE_MEMORY_SIZE to 0x100000 (or 1 MB) if projects require more memory, the cloned SDL token in DebugRx.sdl needs to be modified.

Revision History:

4.6.2_ AMIDebugRx _2.04.0073

Bug fix - Changes made to avoid build errors when dependant SDL tokens are not available in the project

Added notification for AMIDEBUG_RX_SUPPORT only without PeiDebugger_SUPPORT or without USB_DEBUG_TRANSPORT.

4.6.2_ AMIDebugRx _2.04.0071

EIP 80406 Debugger support for Dynamic PCI express base token

EIP 84201 AMIDebugRx\Debugger Target modules usage of the Port 80 must be controllable

4.6.2_ AMIDebugRx _2.03.0069

EIP 63446 Build Error with Core 4.6.5.1_2 and AMIDebugRx 2.02.0038 binaries

4.6.2_ AMIDebugRx _2.03.0066

EIP 64517 – Fix for Build error with: Core 4.6.5.1 + AMI DEBUG RX module.

EIP 62206 – Fix for with Debugger After DxeIPL system might hang in some projects.

4.6.2_ AMIDebugRx _2.02.0037

Fix for IsAMIDebugRxConnected() CSPLIB function to build and work correctly.

Fix for DebugRX/USBRedirection module to work with StatusCode module 16 and 17.

Fix for AMIDebugRx to work AMD based system in PI 1.1.

EIP 60365 - LoadFV not working for PI 1.1 BIOS when FV_MAIN_BASE SDL value changes

4.6.2_ AMIDebugRx _2.02.0036

Fix for IsAMIDebugRxConnected() CSPLIB function to build and work correctly.

Fix for DebugRX/USBRedirection module to work with StatusCode module 16 and 17.

Fix for AMIDebugRx to work AMD based system in PI 1.1.

4.6.2_AMIDebugRx_2.01.0032

AMIDebugRx\Debugger Support for PI_SPECIFICATION_VERSION 0.91\1.0\1.1.

Fix for AMIDebugRx in S3 resume hangs and displays Checkpoint 0x05 in some platforms.

4.6.2_AMI_Debug_Rx_2.01.0026

Added support to build AMI Debug Rx module with Latest WDK.

Added support to avoid Target System Reboot when USBRedirection is enabled at the target and AMIDebugRX device [2.3.2] is connected in Checkpoint mode.

Added new WDF drivers for AMIDebugRX Host App to work with Windows Vista and Windows 7.

Added support to improve S3 resume speed with AMIDebugRx Module according to new porting guide changes.

Updated the Host side validation of ConIn data request packet to avoid the conflict with checkpoint packets.

Increased the Boot Process Handshake wait time to ensure its happening.

4.6.2_AMI_Debug_Rx_1.32.0024

AMI DebugRx support in S3 Resume.

Ability to boot with USB Redirection enabled in checkpoint mode.

EIP 32379: Added support to build AMI Debug Rx module with Latest WDK.

EIP 35101: Fix for reporting the BIOS TAG correctly from the AMIDebugRx binaries Module.

EIP 32377 – Added new WDF drivers for AMIDebugRX Host App to work with Windows Vista and Windows 7.

4.6.2_AMI_Debug_Rx_1.31.0023

Support for IBEX PEK chipsets with RHM.

Ability to disable Debug Rx in S3 Resume (Default).

4.6.2_AMI_Debug_Rx_1.0.003

EIP 22248: Enabling DebugPort sequence needs change on AMIdebugger/USBredirection/AMIDebugRx .

Fix for Pei Checkpoints not appers in AMI Debug Rx.

EIP 22462/22502: Cosmeric issues.

4.6.2_AMI_Debug_Rx_1.0.002

EIP 21892 : Fix for Hang issue when it boots/enters in Setup.

EIP 21851 : Fix to overcome the octal issue by using the timestamp.h instead of timestamp.mak.

4.6.2_AMI_Debug_Rx_1.0

Initial Version with Checkpoint Display in Debug terminal as Debug Message.


Function by File Name

AMIBIOS Function Reference

By File Name

The following is a list of the source files.
For a list in alphabetical order, see In Alphabetical Order.

  • AMIDebugRx.mak
  • AMIDebugRx.sd
  • AMIpeidebug.h
  • AMIpeidebugX64.h
  • AsmDbgrx64Libs.h
  • DbgrHdr.c
  • DbgrHelp.c
  • DbgrUsbCableSelectLib.mak
  • DbgrX64Lib.mak
  • DebuggerLib.mak
  • EHCI.h
  • HostConStatus.c
  • misc.h
  • PeiDbgDbgr.mak
  • PeiDbgDbgrx64.mak
  • PeiDbgIDT.mak
  • PeiDbgPort.c
  • PeiDbgPort.mak
  • PeiDbgStatusCodeLib.mak
  • PeiDbgXport.mak
  • PeiDbgXportx64.mak
  • PeiDebugSupport.mak
  • UsbCableSelect.c
  • XportHdr.c
Built on 19:33:30 09/28/12


AMIDebugRx.mak

Description:
Make file for the USB Redirection component
Built on 19:33:29 09/28/12


AMIDebugRx.sd

Description:
This is the setup page which displays the message if AMI
        Debug Rx is Enabled or not.


AMIpeidebug.h

Description:
Contains 32 bit Pei Debugger prototypes


AMIpeidebugX64.h

Description:
Contains X64 Pei Debugger prototypes


AsmDbgrx64Libs.h

Description:
File containing the Prototypes for the library functions


DbgrHdr.c

Description:
File containing the globals for CAR base address & size.
        Also the code which make use of this so that it can be
        integrated as it is Debugger eModule of binary.

The following functions are used in the file: DbgrHdr.c.

Function | Description
Get_CAR_EndAddr | Internal Helper function.
Get_Code_EndAddr | Internal Helper function.
IsAddrValidInCAR | Internal Helper function.
IsAddrValidInCode | Internal Helper function.
IsDbgrInCAR | Internal Helper function.

The following data structures are used in the file: DbgrHdr.c.

Variable | Description
PeiDbgDataSection | The following global data structure is for relocation purpose in order to support debugging after the debugger data section is relocated. This second parameter of the data structure has to be updated by the debugger service PEIM to point to relocated data section into memory.The code section has this module has to relocated before the update of second parameter.


Get_CAR_EndAddr in the DbgrHdr.c

Function : Get_CAR_EndAddr

File: DbgrHdr.c
Description:
Internal Helper function.
Input:
none
Output:
CAR_End_Addr (UINTN)


Get_Code_EndAddr in the DbgrHdr.c

Function : Get_Code_EndAddr

File: DbgrHdr.c
Description:
Internal Helper function.
Input:
none
Output:
Code_End_Addr (UINTN)


IsAddrValidInCAR in the DbgrHdr.c

Function : IsAddrValidInCAR

File: DbgrHdr.c
Description:
Internal Helper function.
Input:
UINT64 Addr
Output:
1 - TRUE OR 0 - FALSE (INTN)


IsAddrValidInCode in the DbgrHdr.c

Function : IsAddrValidInCode

File: DbgrHdr.c
Description:
Internal Helper function.
Input:
UINT64 Addr
Output:
1 OR 0 (INTN)


IsDbgrInCAR in the DbgrHdr.c

Function : IsDbgrInCAR

File: DbgrHdr.c
Description:
Internal Helper function.
Input:
none
Output:
1 - yes or 0 - no (UINT32)


PeiDbgDataSection in the DbgrHdr.c

Variable : PeiDbgDataSection

File: DbgrHdr.c
Description:
The following global data structure is for relocation purpose
        in order to support debugging after the debugger data section
        is relocated. This second parameter of the data structure has
        to be updated by the debugger service PEIM to point to relocated
        data section into memory.The code section has this module
        has to relocated before the update of second parameter.


DbgrHelp.c

Description:
File containing the globals for CAR base address & size.

The following functions are used in the file: DbgrHelp.c.

Function | Description
IsAmiDbgrBaseValid | It is a function that helps to behave the status code redirection through debugger differently based in SDL tokens in different cases.
IsBsp |


IsAmiDbgrBaseValid in the DbgrHelp.c

Function : IsAmiDbgrBaseValid

File: DbgrHelp.c
Description:
It is a function that helps to behave the status
        code redirection through debugger differently
        based in SDL tokens in different cases.
Input:
void
Output:
UINT8


IsBsp in the DbgrHelp.c

Function : IsBsp

File: DbgrHelp.c
Description:
Input:
void
Output:
UINT8


DbgrUsbCableSelectLib.mak

Description:
Makefile of Debugger Usb Cable select lib


DbgrX64Lib.mak

Description:
Common library to support the porting of Debugger to
        support EFIx64


DebuggerLib.mak

Description:
Library to send Ld image notifications to PEI debugger


EHCI.h

Description:
EHCI controller related declarations and #defines.


HostConStatus.c

Description:
Checks whether the target is connected with host or not.

The following functions are used in the file: HostConStatus.c.

Function | Description
CheckForHostConnectedinPEI | checks whether the target is connected with host in PEI
GetEfiConfigurationTableLocal | Gets the efi configuration table
IsAMIDebugRxConnected | checks whether the target is connected with host or not.


CheckForHostConnectedinPEI in the HostConStatus.c

Function : CheckForHostConnectedinPEI

File: HostConStatus.c
Description:
checks whether the target is connected with host in PEI
Input:
void
Output:
BOOLEAN
TRUE: If host is connected
FALSE : If host is not connected


GetEfiConfigurationTableLocal in the HostConStatus.c

Function : GetEfiConfigurationTableLocal

File: HostConStatus.c
Description:
Gets the efi configuration table
Input:
EFI_SYSTEM_TABLE *, EFI_GUID			*
Output:
void *


IsAMIDebugRxConnected in the HostConStatus.c

Function : IsAMIDebugRxConnected

File: HostConStatus.c
Description:
checks whether the target is connected with host or not.
Input:
EFI_PEI_SERVICES **, EFI_SYSTEM_TABLE *
Output:
BOOLEAN
TRUE: If host is connected
FALSE : If host is not connected


misc.h

Description:
Generic Misc header file.


PeiDbgDbgr.mak

Description:
Make file pei debugger


PeiDbgDbgrx64.mak

Description:
Makefile of Debugger x64 Module that is loaded by Peidebugsupport


PeiDbgIDT.mak

Description:
Makefile of pei idt module


PeiDbgPort.c

Description:
Calls the chipset elink and calls the initializartion
        routines of debug port.

The following functions are used in the file: PeiDbgPort.c.

Function | Description
ExecutePeiDebuggerInitList | Internal Helper function to invoke ELINKS.
ExecutePeiDebuggerS3InitList | Internal Helper function to invoke ELINKS.
InitMain | entrypoint for the PeiDbgPort, the module init the specific chipset.


ExecutePeiDebuggerInitList in the PeiDbgPort.c

Function : ExecutePeiDebuggerInitList

File: PeiDbgPort.c
Description:
Internal Helper function to invoke ELINKS.
Input:
PEI_DBG_PORT_INFO	*DebugPort
Output:
void


ExecutePeiDebuggerS3InitList in the PeiDbgPort.c

Function : ExecutePeiDebuggerS3InitList

File: PeiDbgPort.c
Description:
Internal Helper function to invoke ELINKS.
Input:
PEI_DBG_PORT_INFO	*DebugPort
Output:
void


InitMain in the PeiDbgPort.c

Function : InitMain

File: PeiDbgPort.c
Description:
entrypoint for the PeiDbgPort, the module init the specific
        chipset.
Input:
void
Output:
void


PeiDbgPort.mak

Description:
Makefile of Pei debugPort module


PeiDbgStatusCodeLib.mak

Description:
Makefile of pei debugger status code lib


PeiDbgXport.mak

Description:
Makefile of Pei debugger Xport module
Built on 19:33:30 09/28/12


PeiDbgXportx64.mak

Description:
Makefile of Xport64 module
Built on 19:33:30 09/28/12


PeiDebugSupport.mak

Description:
Makefile of Pei DebugSupport PEI Module
Built on 19:33:30 09/28/12


UsbCableSelect.c

Description:
DbgrUsbCableSelectLib library source file.

The following functions are used in the file: UsbCableSelect.c.

Function | Description
Init_ALi5632Ctrl_Usb2Cable | Sets ALi 5632 Controller USB Cable device address and issues configuration commands. This is left as an example for porting engineer.
InitUsbCableDevice | To select between Usb 2.0 Debug Cable device or any other OEM specific USB 2.0 USB cable like ALi 5632 Usb2.0 Cable.

Built on 19:33:30 09/28/12


Init_ALi5632Ctrl_Usb2Cable in the UsbCableSelect.c

Function : Init_ALi5632Ctrl_Usb2Cable

File: UsbCableSelect.c
Description:
Sets ALi 5632 Controller USB Cable device address
        and issues configuration commands.
        This is left as an example for porting engineer.
Input:
UINT8	Addr
Output:
EFI_STATUS


InitUsbCableDevice in the UsbCableSelect.c

Function : InitUsbCableDevice

File: UsbCableSelect.c
Description:
To select between Usb 2.0 Debug Cable device or any
        other OEM specific USB 2.0 USB cable like ALi 5632 Usb2.0 Cable.
Input:
None
Output:
EFI_STATUS


XportHdr.c

Description:
File containing the globals for CAR base address & size.
        Also the code which make use of this so that it can be
        integrated as it is Debugger eModule of binary.

The following functions are used in the file: XportHdr.c.

Function | Description
AddDelay | Internal Helper function.
AddExtDelay | Internal Helper function.
AddSpecialDelay | Internal Helper function.
AddUsbDelay | Internal Helper function.
GetBuildTime | Sends the Build Time Details
IoRead32 | Internal Helper function. Reads 32-bit value from IO port
IsDbgrInCAR | Internal Helper function.
Stall | Internal Helper function.

The following data structures are used in the file: XportHdr.c.

Variable | Description
PeiDbgDataSection | The following global data structure is for relocation purpose in order to support debugging after the debugger data section is relocated. This second parameter of the data structure has to be updated by the debugger service PEIM to point to relocated data section into memory.The code section has this module has to relocated before the update of second parameter.

Built on 19:33:30 09/28/12


AddDelay in the XportHdr.c

Function : AddDelay

File: XportHdr.c
Description:
Internal Helper function.
Input:
is currently designed to provide either software delay
        or through ACPI timer who has fixed frequency.
Output:
void


AddExtDelay in the XportHdr.c

Function : AddExtDelay

File: XportHdr.c
Description:
Internal Helper function.
Input:
void
Output:
void


AddSpecialDelay in the XportHdr.c

Function : AddSpecialDelay

File: XportHdr.c
Description:
Internal Helper function.
Input:
void
Output:
void


AddUsbDelay in the XportHdr.c

Function : AddUsbDelay

File: XportHdr.c
Description:
Internal Helper function.
Input:
is currently designed to provide either software delay
        or through ACPI timer who has fixed frequency.
Output:
void


GetBuildTime in the XportHdr.c

Function : GetBuildTime

File: XportHdr.c
Description:
Sends the Build Time Details
Input:
void*
Output:
void


IoRead32 in the XportHdr.c

Function : IoRead32

File: XportHdr.c
Description:
Internal Helper function. Reads 32-bit value from IO port
Input:
UINT16 Port
Output:
UINT32 - port data


IsDbgrInCAR in the XportHdr.c

Function : IsDbgrInCAR

File: XportHdr.c
Description:
Internal Helper function.
Input:
none
Output:
1 for yes & 0 for no (UINT32)


PeiDbgDataSection in the XportHdr.c

Variable : PeiDbgDataSection

File: XportHdr.c
Description:
The following global data structure is for relocation purpose
        in order to support debugging after the debugger data section
        is relocated. This second parameter of the data structure has
        to be updated by the debugger service PEIM to point to relocated
        data section into memory.The code section has this module
        has to relocated before the update of second parameter.


Stall in the XportHdr.c

Function : Stall

File: XportHdr.c
Description:
Internal Helper function.
Input:
UINTN Usec (microseconds)
Output:
void


Functions in Alphabetical Order

In Alphabetical Order

The following topics provide a list in alphabetical order.
For a list by file name, see By File Name.

  • A
  • C
  • E
  • G
  • I
  • P
  • S


Functions in Alphabetical Order

A

Function | Description
AddDelay | Internal Helper function.
AddExtDelay | Internal Helper function.
AddSpecialDelay | Internal Helper function.
AddUsbDelay | Internal Helper function.


Functions in Alphabetical Order

C

Function | Description
CheckForHostConnectedinPEI | checks whether the target is connected with host in PEI


Functions in Alphabetical Order

E

Function | Description
ExecutePeiDebuggerInitList | Internal Helper function to invoke ELINKS.
ExecutePeiDebuggerS3InitList | Internal Helper function to invoke ELINKS.


Functions in Alphabetical Order

G

Function | Description
Get_CAR_EndAddr | Internal Helper function.
Get_Code_EndAddr | Internal Helper function.
GetBuildTime | Sends the Build Time Details
GetEfiConfigurationTableLocal | Gets the efi configuration table


Functions in Alphabetical Order

I

Function | Description
Init_ALi5632Ctrl_Usb2Cable | Sets ALi 5632 Controller USB Cable device address and issues configuration commands. This is left as an example for porting engineer.
InitMain | entrypoint for the PeiDbgPort, the module init the specific chipset.
InitUsbCableDevice | To select between Usb 2.0 Debug Cable device or any other OEM specific USB 2.0 USB cable like ALi 5632 Usb2.0 Cable.
IoRead32 | Internal Helper function. Reads 32-bit value from IO port
IsAddrValidInCAR | Internal Helper function.
IsAddrValidInCode | Internal Helper function.
IsAmiDbgrBaseValid | It is a function that helps to behave the status code redirection through debugger differently based in SDL tokens in different cases.
IsAMIDebugRxConnected | checks whether the target is connected with host or not.
IsBsp |
IsDbgrInCAR | Internal Helper function.
IsDbgrInCAR | Internal Helper function.


Functions in Alphabetical Order

P

Data Structure | Description
PeiDbgDataSection | The following global data structure is for relocation purpose in order to support debugging after the debugger data section is relocated. This second parameter of the data structure has to be updated by the debugger service PEIM to point to relocated data section into memory.The code section has this module has to relocated before the update of second parameter.
PeiDbgDataSection | The following global data structure is for relocation purpose in order to support debugging after the debugger data section is relocated. This second parameter of the data structure has to be updated by the debugger service PEIM to point to relocated data section into memory.The code section has this module has to relocated before the update of second parameter.


Functions in Alphabetical Order

S

Function | Description
Stall | Internal Helper function.


General Information

Built on 19:33:30 09/28/12