TianoCore EDK2 master
Loading...
Searching...
No Matches
DebugAgent.c File Reference
#include "DebugAgent.h"
#include "Ia32/DebugException.h"

Go to the source code of this file.

Functions

UINT16 CalculateCrc16 (IN UINT8 *Data, IN UINTN DataSize, IN UINT16 Crc)
 
BOOLEAN IsDebugAgentInitialzed (VOID)
 
VOID FindAndReportModuleImageInfo (IN UINTN AlignSize)
 
VOID TriggerSoftInterrupt (IN UINT32 Signature)
 
VOID UpdateMailboxChecksum (IN DEBUG_AGENT_MAILBOX *Mailbox)
 
VOID VerifyMailboxChecksum (IN DEBUG_AGENT_MAILBOX *Mailbox)
 
VOID UpdateMailboxContent (IN DEBUG_AGENT_MAILBOX *Mailbox, IN UINTN Index, IN UINT64 Value)
 
UINTN DebugAgentReadBuffer (IN DEBUG_PORT_HANDLE Handle, IN UINT8 *Buffer, IN UINTN NumberOfBytes, IN UINTN Timeout)
 
VOID SetDebugFlag (IN UINT64 FlagMask, IN UINT32 FlagValue)
 
UINT32 GetDebugFlag (IN UINT64 FlagMask)
 
VOID SendDebugMsgPacket (IN CHAR8 *Buffer, IN UINTN Length)
 
VOID EFIAPI DebugAgentMsgPrint (IN UINT8 ErrorLevel, IN CHAR8 *Format,...)
 
VOID EFIAPI DebugAgentDataMsgPrint (IN UINT8 ErrorLevel, IN BOOLEAN IsSend, IN UINT8 *Data, IN UINT8 Length)
 
EFI_STATUS ReadRemainingBreakPacket (IN DEBUG_PORT_HANDLE Handle, IN OUT DEBUG_PACKET_HEADER *DebugHeader)
 
BOOLEAN IsHostAttached (VOID)
 
VOID SetHostAttached (IN BOOLEAN Attached)
 
RETURN_STATUS SetDebugSetting (IN DEBUG_DATA_SET_DEBUG_SETTING *DebugSetting)
 
VOID CommandGo (IN DEBUG_CPU_CONTEXT *CpuContext)
 
VOID CommandStepping (IN DEBUG_CPU_CONTEXT *CpuContext)
 
VOID CommandSteppingCleanup (IN DEBUG_CPU_CONTEXT *CpuContext)
 
VOID SetDebugRegister (IN DEBUG_CPU_CONTEXT *CpuContext, IN DEBUG_DATA_SET_HW_BREAKPOINT *SetHwBreakpoint)
 
VOID ClearDebugRegister (IN DEBUG_CPU_CONTEXT *CpuContext, IN DEBUG_DATA_CLEAR_HW_BREAKPOINT *ClearHwBreakpoint)
 
UINT16 ArchReadFxStatOffset (IN UINT8 Index, OUT UINT8 *Width)
 
UINT8 * ArchReadRegisterBuffer (IN DEBUG_CPU_CONTEXT *CpuContext, IN UINT8 Index, OUT UINT8 *Width)
 
VOID SendPacketWithoutData (IN UINT8 CommandType, IN UINT8 SequenceNo)
 
VOID SendAckPacket (IN UINT8 AckCommand)
 
UINT8 DecompressDataInPlace (IN OUT UINT8 *Data, IN UINTN Length)
 
RETURN_STATUS ReceivePacket (OUT UINT8 *InputPacket, OUT BOOLEAN *BreakReceived, OUT BOOLEAN *IncompatibilityFlag OPTIONAL, IN UINTN Timeout, IN BOOLEAN SkipStartSymbol)
 
RETURN_STATUS SendCommandAndWaitForAckOK (IN UINT8 Command, IN UINTN Timeout, OUT BOOLEAN *BreakReceived OPTIONAL, OUT BOOLEAN *IncompatibilityFlag OPTIONAL)
 
UINT8 GetBreakCause (IN UINTN Vector, IN DEBUG_CPU_CONTEXT *CpuContext)
 
VOID CopyMemByWidth (OUT UINT8 *Dest, IN UINT8 *Src, IN UINT16 Count, IN UINT8 Width)
 
VOID CompressData (IN DEBUG_PORT_HANDLE Handle, IN UINT8 *Data, IN UINT8 Length, IN BOOLEAN Send, OUT UINTN *CompressedLength OPTIONAL, OUT UINT16 *CompressedCrc OPTIONAL)
 
RETURN_STATUS ReadMemoryAndSendResponsePacket (IN UINT8 *Data, IN UINT16 Count, IN UINT8 Width, IN DEBUG_PACKET_HEADER *DebugHeader)
 
RETURN_STATUS SendDataResponsePacket (IN UINT8 *Data, IN UINT16 DataSize, IN OUT DEBUG_PACKET_HEADER *DebugHeader)
 
RETURN_STATUS AttachHost (IN UINT8 BreakCause, IN UINTN Timeout, OUT BOOLEAN *BreakReceived)
 
VOID SendBreakPacketToHost (IN UINT8 BreakCause, IN UINT32 ProcessorIndex, OUT BOOLEAN *BreakReceived)
 
VOID CommandCommunication (IN UINTN Vector, IN OUT DEBUG_CPU_CONTEXT *CpuContext, IN BOOLEAN BreakReceived)
 
VOID EFIAPI InterruptProcess (IN UINT32 Vector, IN DEBUG_CPU_CONTEXT *CpuContext)
 

Variables

GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 mErrorMsgVersionAlert [] = "\rThe SourceLevelDebugPkg you are using requires a newer version of the Intel(R) UDK Debugger Tool.\r\n"
 
GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 mErrorMsgSendInitPacket [] = "\rSend INIT break packet and try to connect the HOST (Intel(R) UDK Debugger Tool v1.5) ...\r\n"
 
GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 mErrorMsgConnectOK [] = "HOST connection is successful!\r\n"
 
GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 mErrorMsgConnectFail [] = "HOST connection is failed!\r\n"
 
GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 mWarningMsgIngoreBreakpoint [] = "Ignore break point in SMM for SMI issued during DXE debugging!\r\n"
 
GLOBAL_REMOVE_IF_UNREFERENCED EFI_VECTOR_HANDOFF_INFO mVectorHandoffInfoDebugAgent []
 
GLOBAL_REMOVE_IF_UNREFERENCED UINTN mVectorHandoffInfoCount = sizeof (mVectorHandoffInfoDebugAgent) / sizeof (EFI_VECTOR_HANDOFF_INFO)
 

Detailed Description

Common Debug Agent library implementation. It mainly includes the first C function called by exception/interrupt handlers, read/write debug packet to communication with HOST based on transfer protocol.

Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file DebugAgent.c.

Function Documentation

◆ ArchReadFxStatOffset()

UINT16 ArchReadFxStatOffset ( IN UINT8  Index,
OUT UINT8 *  Width 
)

Return the offset of FP / MMX / XMM registers in the FPU saved state by register index.

Parameters
[in]IndexRegister index.
[out]WidthRegister width returned.
Returns
Offset in the FPU Save State.

Definition at line 887 of file DebugAgent.c.

◆ ArchReadRegisterBuffer()

UINT8 * ArchReadRegisterBuffer ( IN DEBUG_CPU_CONTEXT CpuContext,
IN UINT8  Index,
OUT UINT8 *  Width 
)

Return the pointer of the register value in the CPU saved context.

Parameters
[in]CpuContextPointer to saved CPU context.
[in]IndexRegister index value.
[out]WidthData width to read.
Returns
The pointer in the CPU saved context.

Definition at line 962 of file DebugAgent.c.

◆ AttachHost()

RETURN_STATUS AttachHost ( IN UINT8  BreakCause,
IN UINTN  Timeout,
OUT BOOLEAN *  BreakReceived 
)

Try to attach the HOST.

Send init break packet to HOST: If no acknowledge received in specified Timeout, return RETURN_TIMEOUT. If received acknowledge, check the revision of HOST. Set Attach Flag if attach successfully.

Parameters
[in]BreakCauseBreak cause of this break event.
[in]TimeoutTime out value to wait for acknowledge from HOST. The unit is microsecond.
[out]BreakReceivedIf BreakReceived is not NULL, TRUE is returned if break-in symbol received. FALSE is returned if break-in symbol not received.

Definition at line 1713 of file DebugAgent.c.

◆ CalculateCrc16()

UINT16 CalculateCrc16 ( IN UINT8 *  Data,
IN UINTN  DataSize,
IN UINT16  Crc 
)

Calculate CRC16 for target data.

Parameters
[in]DataThe target data.
[in]DataSizeThe target data size.
[in]CrcInitial CRC.
Returns
UINT16 The CRC16 value.

Definition at line 140 of file DebugAgent.c.

◆ ClearDebugRegister()

VOID ClearDebugRegister ( IN DEBUG_CPU_CONTEXT CpuContext,
IN DEBUG_DATA_CLEAR_HW_BREAKPOINT ClearHwBreakpoint 
)

Clear debug register for hardware breakpoint.

Parameters
[in]CpuContextPointer to saved CPU context.
[in]ClearHwBreakpointHardware breakpoint to be cleared.

Definition at line 851 of file DebugAgent.c.

◆ CommandCommunication()

VOID CommandCommunication ( IN UINTN  Vector,
IN OUT DEBUG_CPU_CONTEXT CpuContext,
IN BOOLEAN  BreakReceived 
)

The main function to process communication with HOST.

It received the command packet from HOST, and sent response data packet to HOST.

Parameters
[in]VectorVector value of exception or interrupt.
[in,out]CpuContextPointer to saved CPU context.
[in]BreakReceivedTRUE means break-in symbol received. FALSE means break-in symbol not received.

Definition at line 1819 of file DebugAgent.c.

◆ CommandGo()

VOID CommandGo ( IN DEBUG_CPU_CONTEXT CpuContext)

Execute GO command.

Parameters
[in]CpuContextPointer to saved CPU context.

Definition at line 739 of file DebugAgent.c.

◆ CommandStepping()

VOID CommandStepping ( IN DEBUG_CPU_CONTEXT CpuContext)

Execute Stepping command.

Parameters
[in]CpuContextPointer to saved CPU context.

Definition at line 757 of file DebugAgent.c.

◆ CommandSteppingCleanup()

VOID CommandSteppingCleanup ( IN DEBUG_CPU_CONTEXT CpuContext)

Do some cleanup after Stepping command done.

Parameters
[in]CpuContextPointer to saved CPU context.

Definition at line 784 of file DebugAgent.c.

◆ CompressData()

VOID CompressData ( IN DEBUG_PORT_HANDLE  Handle,
IN UINT8 *  Data,
IN UINT8  Length,
IN BOOLEAN  Send,
OUT UINTN *CompressedLength  OPTIONAL,
OUT UINT16 *CompressedCrc  OPTIONAL 
)

Compress the data buffer but do not modify the original buffer.

The compressed data is directly send to the debug channel. Compressing in place doesn't work because the data may become larger during compressing phase. ("3 3 ..." --> "3 3 0 ...") The routine is expected to be called three times:

  1. Compute the length of the compressed data buffer;
  2. Compute the CRC of the compressed data buffer;
  3. Compress the data and send to the debug channel.
Parameters
[in]HandleThe debug channel handle to send the compressed data buffer.
[in]DataThe data buffer.
[in]LengthThe length of the data buffer.
[in]SendTRUE to send the compressed data buffer.
[out]CompressedLengthReturn the length of the compressed data buffer. It may be larger than the Length in some cases.
[out]CompressedCrcReturn the CRC of the compressed data buffer.

Definition at line 1460 of file DebugAgent.c.

◆ CopyMemByWidth()

VOID CopyMemByWidth ( OUT UINT8 *  Dest,
IN UINT8 *  Src,
IN UINT16  Count,
IN UINT8  Width 
)

Copy memory from source to destination with specified width.

Parameters
[out]DestA pointer to the destination buffer of the memory copy.
[in]SrcA pointer to the source buffer of the memory copy.
[in]CountThe number of data with specified width to copy from source to destination.
[in]WidthData width in byte.

Definition at line 1393 of file DebugAgent.c.

◆ DebugAgentDataMsgPrint()

VOID EFIAPI DebugAgentDataMsgPrint ( IN UINT8  ErrorLevel,
IN BOOLEAN  IsSend,
IN UINT8 *  Data,
IN UINT8  Length 
)

Prints a debug message to the debug output device if the specified error level is enabled.

If any bit in ErrorLevel is also set in DebugPrintErrorLevelLib function GetDebugPrintErrorLevel (), then print the message specified by Format and the associated variable argument list to the debug output device.

If Format is NULL, then ASSERT().

Parameters
[in]ErrorLevelThe error level of the debug message.
[in]IsSendFlag of debug message to declare that the data is being sent or being received.
[in]DataVariable argument list whose contents are accessed
[in]Lengthbased on the format string specified by Format.

Definition at line 561 of file DebugAgent.c.

◆ DebugAgentMsgPrint()

VOID EFIAPI DebugAgentMsgPrint ( IN UINT8  ErrorLevel,
IN CHAR8 *  Format,
  ... 
)

Prints a debug message to the debug port if the specified error level is enabled.

If any bit in ErrorLevel is also set in Mainbox, then print the message specified by Format and the associated variable argument list to the debug port.

Parameters
[in]ErrorLevelThe error level of the debug message.
[in]FormatFormat string for the debug message to print.
[in]...Variable argument list whose contents are accessed based on the format string specified by Format.

Definition at line 518 of file DebugAgent.c.

◆ DebugAgentReadBuffer()

UINTN DebugAgentReadBuffer ( IN DEBUG_PORT_HANDLE  Handle,
IN UINT8 *  Buffer,
IN UINTN  NumberOfBytes,
IN UINTN  Timeout 
)

Read data from debug device and save the data in buffer.

Reads NumberOfBytes data bytes from a debug device into the buffer specified by Buffer. The number of bytes actually read is returned. If the return value is less than NumberOfBytes, then the rest operation failed. If NumberOfBytes is zero, then return 0.

Parameters
HandleDebug port handle.
BufferPointer to the data buffer to store the data read from the debug device.
NumberOfBytesNumber of bytes which will be read.
TimeoutTimeout value for reading from debug device. It unit is Microsecond.
Return values
0Read data failed, no data is to be read.
>0Actual number of bytes read from debug device.

Definition at line 367 of file DebugAgent.c.

◆ DecompressDataInPlace()

UINT8 DecompressDataInPlace ( IN OUT UINT8 *  Data,
IN UINTN  Length 
)

Decompress the Data in place.

Parameters
[in,out]DataThe compressed data buffer. The buffer is assumed large enough to hold the uncompressed data.
[in]LengthThe length of the compressed data buffer.
Returns
The length of the uncompressed data buffer.

Definition at line 1050 of file DebugAgent.c.

◆ FindAndReportModuleImageInfo()

VOID FindAndReportModuleImageInfo ( IN UINTN  AlignSize)

Find and report module image info to HOST.

Parameters
[in]AlignSizeImage aligned size.

Definition at line 193 of file DebugAgent.c.

◆ GetBreakCause()

UINT8 GetBreakCause ( IN UINTN  Vector,
IN DEBUG_CPU_CONTEXT CpuContext 
)

Get current break cause.

Parameters
[in]VectorVector value of exception or interrupt.
[in]CpuContextPointer to save CPU context.
Returns
The type of break cause defined by XXXX

Definition at line 1294 of file DebugAgent.c.

◆ GetDebugFlag()

UINT32 GetDebugFlag ( IN UINT64  FlagMask)

Get debug flag in mailbox.

Parameters
[in]FlagMaskDebug flag mask value.
Returns
Debug flag value.

Definition at line 458 of file DebugAgent.c.

◆ InterruptProcess()

VOID EFIAPI InterruptProcess ( IN UINT32  Vector,
IN DEBUG_CPU_CONTEXT CpuContext 
)

C function called in interrupt handler.

Parameters
[in]VectorVector value of exception or interrupt.
[in]CpuContextPointer to save CPU context.

Definition at line 2357 of file DebugAgent.c.

◆ IsDebugAgentInitialzed()

BOOLEAN IsDebugAgentInitialzed ( VOID  )

Read IDT entry to check if IDT entries are setup by Debug Agent.

Return values
TRUEIDT entries were setup by Debug Agent.
FALSEIDT entries were not setup by Debug Agent.

Definition at line 172 of file DebugAgent.c.

◆ IsHostAttached()

BOOLEAN IsHostAttached ( VOID  )

Check if HOST is attached based on Mailbox.

Return values
TRUEHOST is attached.
FALSEHOST is not attached.

Definition at line 676 of file DebugAgent.c.

◆ ReadMemoryAndSendResponsePacket()

RETURN_STATUS ReadMemoryAndSendResponsePacket ( IN UINT8 *  Data,
IN UINT16  Count,
IN UINT8  Width,
IN DEBUG_PACKET_HEADER DebugHeader 
)

Read memory with specified width and send packet with response data to HOST.

Parameters
[in]DataPointer to response data buffer.
[in]CountThe number of data with specified Width.
[in]WidthData width in byte.
[in]DebugHeaderPointer to a buffer for creating response packet and receiving ACK packet, to minimize the stack usage.
Return values
RETURN_SUCCESSResponse data was sent successfully.

Definition at line 1537 of file DebugAgent.c.

◆ ReadRemainingBreakPacket()

EFI_STATUS ReadRemainingBreakPacket ( IN DEBUG_PORT_HANDLE  Handle,
IN OUT DEBUG_PACKET_HEADER DebugHeader 
)

Read remaining debug packet except for the start symbol

Parameters
[in]HandlePointer to Debug Port handle.
[in,out]DebugHeaderDebug header buffer including start symbol.
Return values
EFI_SUCCESSRead the symbol in BreakSymbol.
EFI_CRC_ERRORCRC check fail.
EFI_TIMEOUTTimeout occurs when reading debug packet.
EFI_DEVICE_ERRORReceive the old or response packet.

Definition at line 623 of file DebugAgent.c.

◆ ReceivePacket()

RETURN_STATUS ReceivePacket ( OUT UINT8 *  InputPacket,
OUT BOOLEAN *  BreakReceived,
OUT BOOLEAN *IncompatibilityFlag  OPTIONAL,
IN UINTN  Timeout,
IN BOOLEAN  SkipStartSymbol 
)

Receive valid packet from HOST.

Parameters
[out]InputPacketBuffer to receive packet.
[out]BreakReceivedTRUE means break-in symbol received. FALSE means break-in symbol not received.
[out]IncompatibilityFlagIf IncompatibilityFlag is not NULL, return TRUE: Compatible packet received. FALSE: Incompatible packet received.
[in]TimeoutTime out value to wait for acknowledge from HOST. The unit is microsecond.
[in]SkipStartSymbolTRUE: Skip time out when reading start symbol. FALSE: Does not Skip time out when reading start symbol.
Return values
RETURN_SUCCESSA valid package was received in InputPacket.
RETURN_TIMEOUTTimeout occurs.

Definition at line 1105 of file DebugAgent.c.

◆ SendAckPacket()

VOID SendAckPacket ( IN UINT8  AckCommand)

Send acknowledge packet to HOST.

Parameters
[in]AckCommandType of Acknowledge packet.

Definition at line 1019 of file DebugAgent.c.

◆ SendBreakPacketToHost()

VOID SendBreakPacketToHost ( IN UINT8  BreakCause,
IN UINT32  ProcessorIndex,
OUT BOOLEAN *  BreakReceived 
)

Send Break point packet to HOST.

Only the first breaking processor could sent BREAK_POINT packet.

Parameters
[in]BreakCauseBreak cause of this break event.
[in]ProcessorIndexProcessor index value.
[out]BreakReceivedIf BreakReceived is not NULL, TRUE is returned if break-in symbol received. FALSE is returned if break-in symbol not received.

Definition at line 1771 of file DebugAgent.c.

◆ SendCommandAndWaitForAckOK()

RETURN_STATUS SendCommandAndWaitForAckOK ( IN UINT8  Command,
IN UINTN  Timeout,
OUT BOOLEAN *BreakReceived  OPTIONAL,
OUT BOOLEAN *IncompatibilityFlag  OPTIONAL 
)

Receive acknowledge packet OK from HOST in specified time.

Parameters
[in]CommandThe command type issued by TARGET.
[in]TimeoutTime out value to wait for acknowledge from HOST. The unit is microsecond.
[out]BreakReceivedIf BreakReceived is not NULL, TRUE is returned if break-in symbol received. FALSE is returned if break-in symbol not received.
[out]IncompatibilityFlagIf IncompatibilityFlag is not NULL, return TRUE: Compatible packet received. FALSE: Incompatible packet received.
Return values
RETURN_SUCCESSSucceed to receive acknowledge packet from HOST, the type of acknowledge packet saved in Ack.
RETURN_TIMEOUTSpecified timeout value was up.

Definition at line 1224 of file DebugAgent.c.

◆ SendDataResponsePacket()

RETURN_STATUS SendDataResponsePacket ( IN UINT8 *  Data,
IN UINT16  DataSize,
IN OUT DEBUG_PACKET_HEADER DebugHeader 
)

Send packet with response data to HOST.

Parameters
[in]DataPointer to response data buffer.
[in]DataSizeSize of response data in byte.
[in,out]DebugHeaderPointer to a buffer for creating response packet and receiving ACK packet, to minimize the stack usage.
Return values
RETURN_SUCCESSResponse data was sent successfully.

Definition at line 1688 of file DebugAgent.c.

◆ SendDebugMsgPacket()

VOID SendDebugMsgPacket ( IN CHAR8 *  Buffer,
IN UINTN  Length 
)

Send a debug message packet to the debug port.

Parameters
[in]BufferThe debug message.
[in]LengthThe length of debug message.

Definition at line 479 of file DebugAgent.c.

◆ SendPacketWithoutData()

VOID SendPacketWithoutData ( IN UINT8  CommandType,
IN UINT8  SequenceNo 
)

Send the packet without data to HOST.

Parameters
[in]CommandTypeType of Command.
[in]SequenceNoSequence number.

Definition at line 991 of file DebugAgent.c.

◆ SetDebugFlag()

VOID SetDebugFlag ( IN UINT64  FlagMask,
IN UINT32  FlagValue 
)

Set debug flag in mailbox.

Parameters
[in]FlagMaskDebug flag mask value.
[in]FlagValueDebug flag value.

Definition at line 435 of file DebugAgent.c.

◆ SetDebugRegister()

VOID SetDebugRegister ( IN DEBUG_CPU_CONTEXT CpuContext,
IN DEBUG_DATA_SET_HW_BREAKPOINT SetHwBreakpoint 
)

Set debug register for hardware breakpoint.

Parameters
[in]CpuContextPointer to saved CPU context.
[in]SetHwBreakpointHardware breakpoint to be set.

Definition at line 809 of file DebugAgent.c.

◆ SetDebugSetting()

RETURN_STATUS SetDebugSetting ( IN DEBUG_DATA_SET_DEBUG_SETTING DebugSetting)

Set debug setting of Debug Agent in Mailbox.

Parameters
DebugSettingPointer to Debug Setting defined by transfer protocol.
Return values
RETURN_SUCCESSThe setting is set successfully.
RETURN_UNSUPPORTEDThe Key value is not supported.

Definition at line 708 of file DebugAgent.c.

◆ SetHostAttached()

VOID SetHostAttached ( IN BOOLEAN  Attached)

Set HOST connect flag in Mailbox.

Parameters
[in]AttachedAttach status.

Definition at line 690 of file DebugAgent.c.

◆ TriggerSoftInterrupt()

VOID TriggerSoftInterrupt ( IN UINT32  Signature)

Trigger one software interrupt to debug agent to handle it.

Parameters
[in]SignatureSoftware interrupt signature.

Definition at line 218 of file DebugAgent.c.

◆ UpdateMailboxChecksum()

VOID UpdateMailboxChecksum ( IN DEBUG_AGENT_MAILBOX Mailbox)

Calculate Mailbox checksum and update the checksum field.

Parameters
[in]MailboxDebug Agent Mailbox pointer.

Definition at line 257 of file DebugAgent.c.

◆ UpdateMailboxContent()

VOID UpdateMailboxContent ( IN DEBUG_AGENT_MAILBOX Mailbox,
IN UINTN  Index,
IN UINT64  Value 
)

Update Mailbox content by index.

Parameters
[in]MailboxDebug Agent Mailbox pointer.
[in]IndexMailbox content index.
[in]ValueValue to be set into Mailbox.

Definition at line 300 of file DebugAgent.c.

◆ VerifyMailboxChecksum()

VOID VerifyMailboxChecksum ( IN DEBUG_AGENT_MAILBOX Mailbox)

Verify Mailbox checksum.

If checksum error, print debug message and run init dead loop.

Parameters
[in]MailboxDebug Agent Mailbox pointer.

Definition at line 273 of file DebugAgent.c.

Variable Documentation

◆ mErrorMsgConnectFail

GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 mErrorMsgConnectFail[] = "HOST connection is failed!\r\n"

Definition at line 18 of file DebugAgent.c.

◆ mErrorMsgConnectOK

GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 mErrorMsgConnectOK[] = "HOST connection is successful!\r\n"

Definition at line 17 of file DebugAgent.c.

◆ mErrorMsgSendInitPacket

GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 mErrorMsgSendInitPacket[] = "\rSend INIT break packet and try to connect the HOST (Intel(R) UDK Debugger Tool v1.5) ...\r\n"

Definition at line 16 of file DebugAgent.c.

◆ mErrorMsgVersionAlert

GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 mErrorMsgVersionAlert[] = "\rThe SourceLevelDebugPkg you are using requires a newer version of the Intel(R) UDK Debugger Tool.\r\n"

Definition at line 15 of file DebugAgent.c.

◆ mVectorHandoffInfoCount

GLOBAL_REMOVE_IF_UNREFERENCED UINTN mVectorHandoffInfoCount = sizeof (mVectorHandoffInfoDebugAgent) / sizeof (EFI_VECTOR_HANDOFF_INFO)

Definition at line 127 of file DebugAgent.c.

◆ mVectorHandoffInfoDebugAgent

Definition at line 24 of file DebugAgent.c.

◆ mWarningMsgIngoreBreakpoint

GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 mWarningMsgIngoreBreakpoint[] = "Ignore break point in SMM for SMI issued during DXE debugging!\r\n"

Definition at line 19 of file DebugAgent.c.