https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
		
			
				
	
	
		
			579 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			579 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
 | 
						|
Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
 | 
						|
SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
						|
 | 
						|
 | 
						|
**/
 | 
						|
 | 
						|
#include "Edb.h"
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
 | 
						|
  Display memory unit.
 | 
						|
 | 
						|
  @param  Address         - Memory Address
 | 
						|
  @param  Width           - Memory Width
 | 
						|
 | 
						|
  @return Length of the memory unit
 | 
						|
 | 
						|
**/
 | 
						|
UINTN
 | 
						|
EdbDisplayMemoryUnit (
 | 
						|
  IN UINTN           Address,
 | 
						|
  IN EDB_DATA_WIDTH  Width
 | 
						|
  )
 | 
						|
{
 | 
						|
  UINT8  Data8;
 | 
						|
  UINT16 Data16;
 | 
						|
  UINT32 Data32;
 | 
						|
  UINT64 Data64;
 | 
						|
 | 
						|
  //
 | 
						|
  // Print according to width
 | 
						|
  //
 | 
						|
  switch (Width) {
 | 
						|
  case EdbWidthUint8:
 | 
						|
    CopyMem (&Data8, (VOID *)Address, sizeof(UINT8));
 | 
						|
    EDBPrint (L"%02x ", Data8);
 | 
						|
    return sizeof(UINT8);
 | 
						|
  case EdbWidthUint16:
 | 
						|
    CopyMem (&Data16, (VOID *)Address, sizeof(UINT16));
 | 
						|
    EDBPrint (L"%04x ", Data16);
 | 
						|
    return sizeof(UINT16);
 | 
						|
  case EdbWidthUint32:
 | 
						|
    CopyMem (&Data32, (VOID *)Address, sizeof(UINT32));
 | 
						|
    EDBPrint (L"%08x ", Data32);
 | 
						|
    return sizeof(UINT32);
 | 
						|
  case EdbWidthUint64:
 | 
						|
    CopyMem (&Data64, (VOID *)Address, sizeof(UINT64));
 | 
						|
    EDBPrint (L"%016lx ", Data64);
 | 
						|
    return sizeof(UINT64);
 | 
						|
  default:
 | 
						|
    ASSERT (FALSE);
 | 
						|
    break;
 | 
						|
  }
 | 
						|
 | 
						|
  //
 | 
						|
  // something wrong
 | 
						|
  //
 | 
						|
  return 0;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 | 
						|
  Display memory.
 | 
						|
 | 
						|
  @param  Address         - Memory Address
 | 
						|
  @param  Count           - Memory Count
 | 
						|
  @param  Width           - Memory Width
 | 
						|
 | 
						|
**/
 | 
						|
VOID
 | 
						|
EdbDisplayMemory (
 | 
						|
  IN UINTN          Address,
 | 
						|
  IN UINTN          Count,
 | 
						|
  IN EDB_DATA_WIDTH Width
 | 
						|
  )
 | 
						|
{
 | 
						|
  UINTN  LineNumber;
 | 
						|
  UINTN  ByteNumber;
 | 
						|
  UINTN  LineIndex;
 | 
						|
  UINTN  ByteIndex;
 | 
						|
  UINTN  NumberInLine;
 | 
						|
 | 
						|
  if (Count == 0) {
 | 
						|
    return ;
 | 
						|
  }
 | 
						|
 | 
						|
  //
 | 
						|
  // Get line number and byte number
 | 
						|
  //
 | 
						|
  switch (Width) {
 | 
						|
  case EdbWidthUint8:
 | 
						|
    NumberInLine = 16;
 | 
						|
    break;
 | 
						|
  case EdbWidthUint16:
 | 
						|
    NumberInLine = 8;
 | 
						|
    break;
 | 
						|
  case EdbWidthUint32:
 | 
						|
    NumberInLine = 4;
 | 
						|
    break;
 | 
						|
  case EdbWidthUint64:
 | 
						|
    NumberInLine = 2;
 | 
						|
    break;
 | 
						|
  default:
 | 
						|
    return;
 | 
						|
  }
 | 
						|
 | 
						|
  LineNumber = Count / NumberInLine;
 | 
						|
  ByteNumber = Count % NumberInLine;
 | 
						|
  if (ByteNumber == 0) {
 | 
						|
    LineNumber -= 1;
 | 
						|
    ByteNumber  = NumberInLine;
 | 
						|
  }
 | 
						|
 | 
						|
  //
 | 
						|
  // Print each line
 | 
						|
  //
 | 
						|
  for (LineIndex = 0; LineIndex < LineNumber; LineIndex++) {
 | 
						|
 | 
						|
    //
 | 
						|
    // Break check
 | 
						|
    //
 | 
						|
    if (((LineIndex % EFI_DEBUGGER_LINE_NUMBER_IN_PAGE) == 0) &&
 | 
						|
        (LineIndex != 0)) {
 | 
						|
      if (SetPageBreak ()) {
 | 
						|
        break;
 | 
						|
      }
 | 
						|
    }
 | 
						|
 | 
						|
    EDBPrint (EDB_PRINT_ADDRESS_FORMAT, (UINTN)Address);
 | 
						|
    for (ByteIndex = 0; ByteIndex < NumberInLine; ByteIndex++) {
 | 
						|
      Address += EdbDisplayMemoryUnit (Address, Width);
 | 
						|
    }
 | 
						|
    EDBPrint (L"\n");
 | 
						|
  }
 | 
						|
 | 
						|
  //
 | 
						|
  // Break check
 | 
						|
  //
 | 
						|
  if (((LineIndex % EFI_DEBUGGER_LINE_NUMBER_IN_PAGE) == 0) &&
 | 
						|
      (LineIndex != 0)) {
 | 
						|
    if (SetPageBreak ()) {
 | 
						|
      return;
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  //
 | 
						|
  // Print last line
 | 
						|
  //
 | 
						|
  EDBPrint (EDB_PRINT_ADDRESS_FORMAT, (UINTN)Address);
 | 
						|
  for (ByteIndex = 0; ByteIndex < ByteNumber; ByteIndex++) {
 | 
						|
    Address += EdbDisplayMemoryUnit (Address, Width);
 | 
						|
  }
 | 
						|
 | 
						|
  return ;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 | 
						|
  Entry memory.
 | 
						|
 | 
						|
  @param  Address         - Memory Address
 | 
						|
  @param  Value           - Memory Value
 | 
						|
  @param  Width           - Memory Width
 | 
						|
 | 
						|
**/
 | 
						|
VOID
 | 
						|
EdbEnterMemory (
 | 
						|
  IN UINTN          Address,
 | 
						|
  IN VOID           *Value,
 | 
						|
  IN EDB_DATA_WIDTH Width
 | 
						|
  )
 | 
						|
{
 | 
						|
  switch (Width) {
 | 
						|
  case EdbWidthUint8:
 | 
						|
    CopyMem ((VOID *)Address, Value, sizeof(UINT8));
 | 
						|
    break;
 | 
						|
  case EdbWidthUint16:
 | 
						|
    CopyMem ((VOID *)Address, Value, sizeof(UINT16));
 | 
						|
    break;
 | 
						|
  case EdbWidthUint32:
 | 
						|
    CopyMem ((VOID *)Address, Value, sizeof(UINT32));
 | 
						|
    break;
 | 
						|
  case EdbWidthUint64:
 | 
						|
    CopyMem ((VOID *)Address, Value, sizeof(UINT64));
 | 
						|
    break;
 | 
						|
  default:
 | 
						|
    break;
 | 
						|
  }
 | 
						|
 | 
						|
  return ;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 | 
						|
  Get memory address and count.
 | 
						|
 | 
						|
  @param  CommandArg      - The argument for this command
 | 
						|
  @param  Address         - Memory Address
 | 
						|
  @param  Count           - Memory Count
 | 
						|
 | 
						|
  @retval EFI_SUCCESS           - memory address and count are got
 | 
						|
  @retval EFI_INVALID_PARAMETER - something wrong
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EdbGetMemoryAddressCount (
 | 
						|
  IN CHAR16    *CommandArg,
 | 
						|
  IN UINTN     *Address,
 | 
						|
  IN UINTN     *Count
 | 
						|
  )
 | 
						|
{
 | 
						|
  CHAR16       *CommandStr;
 | 
						|
  UINTN        MemAddress;
 | 
						|
  EFI_STATUS   Status;
 | 
						|
 | 
						|
  //
 | 
						|
  // Get Address
 | 
						|
  //
 | 
						|
  CommandStr = CommandArg;
 | 
						|
  if (CommandStr == NULL) {
 | 
						|
    EDBPrint (L"Memory: Address error!\n");
 | 
						|
    return EFI_INVALID_PARAMETER;
 | 
						|
  }
 | 
						|
  Status = Symboltoi (CommandStr, &MemAddress);
 | 
						|
  if (EFI_ERROR (Status)) {
 | 
						|
    if (Status == EFI_NOT_FOUND) {
 | 
						|
      MemAddress = Xtoi(CommandStr);
 | 
						|
    } else {
 | 
						|
      //
 | 
						|
      // Something wrong, let Symboltoi print error info.
 | 
						|
      //
 | 
						|
      EDBPrint (L"Command Argument error!\n");
 | 
						|
      return EFI_INVALID_PARAMETER;
 | 
						|
    }
 | 
						|
  }
 | 
						|
  *Address = MemAddress;
 | 
						|
 | 
						|
  //
 | 
						|
  // Get Count
 | 
						|
  //
 | 
						|
  CommandStr = StrGetNextTokenLine (L" ");
 | 
						|
  if (CommandStr == NULL) {
 | 
						|
    *Count = 1;
 | 
						|
  } else {
 | 
						|
    *Count = Xtoi(CommandStr);
 | 
						|
  }
 | 
						|
 | 
						|
  //
 | 
						|
  // Done
 | 
						|
  //
 | 
						|
  return EFI_SUCCESS;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 | 
						|
  Get memory address and value.
 | 
						|
 | 
						|
  @param  CommandArg      - The argument for this command
 | 
						|
  @param  Address         - Memory Address
 | 
						|
  @param  Value           - Memory Value
 | 
						|
 | 
						|
  @retval EFI_SUCCESS           - memory address and value are got
 | 
						|
  @retval EFI_INVALID_PARAMETER - something wrong
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EdbGetMemoryAddressValue (
 | 
						|
  IN CHAR16    *CommandArg,
 | 
						|
  IN UINTN     *Address,
 | 
						|
  IN UINT64    *Value
 | 
						|
  )
 | 
						|
{
 | 
						|
  CHAR16       *CommandStr;
 | 
						|
  UINTN        MemAddress;
 | 
						|
  EFI_STATUS   Status;
 | 
						|
 | 
						|
  //
 | 
						|
  // Get Address
 | 
						|
  //
 | 
						|
  CommandStr = CommandArg;
 | 
						|
  if (CommandStr == NULL) {
 | 
						|
    EDBPrint (L"Memory: Address error!\n");
 | 
						|
    return EFI_INVALID_PARAMETER;
 | 
						|
  }
 | 
						|
  Status = Symboltoi (CommandStr, &MemAddress);
 | 
						|
  if (EFI_ERROR (Status)) {
 | 
						|
    if (Status == EFI_NOT_FOUND) {
 | 
						|
      MemAddress = Xtoi(CommandStr);
 | 
						|
    } else {
 | 
						|
      //
 | 
						|
      // Something wrong, let Symboltoi print error info.
 | 
						|
      //
 | 
						|
      EDBPrint (L"Command Argument error!\n");
 | 
						|
      return EFI_INVALID_PARAMETER;
 | 
						|
    }
 | 
						|
  }
 | 
						|
  *Address = MemAddress;
 | 
						|
 | 
						|
  //
 | 
						|
  // Get Value
 | 
						|
  //
 | 
						|
  CommandStr = StrGetNextTokenLine (L" ");
 | 
						|
  if (CommandStr == NULL) {
 | 
						|
    EDBPrint (L"Memory: Value error!\n");
 | 
						|
    return EFI_INVALID_PARAMETER;
 | 
						|
  }
 | 
						|
  *Value = LXtoi(CommandStr);
 | 
						|
 | 
						|
  //
 | 
						|
  // Done
 | 
						|
  //
 | 
						|
  return EFI_SUCCESS;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 | 
						|
  Display memory.
 | 
						|
 | 
						|
  @param  CommandArg      - The argument for this command
 | 
						|
  @param  Width           - Memory Width
 | 
						|
 | 
						|
  @retval EFI_DEBUG_RETURN   - formal return value
 | 
						|
 | 
						|
**/
 | 
						|
EFI_DEBUG_STATUS
 | 
						|
DebuggerMemoryDisplay (
 | 
						|
  IN     CHAR16                    *CommandArg,
 | 
						|
  IN     EDB_DATA_WIDTH            Width
 | 
						|
  )
 | 
						|
{
 | 
						|
  EFI_STATUS Status;
 | 
						|
  UINTN      Address;
 | 
						|
  UINTN      Count;
 | 
						|
 | 
						|
  //
 | 
						|
  // Get memory address and count
 | 
						|
  //
 | 
						|
  Status = EdbGetMemoryAddressCount (CommandArg, &Address, &Count);
 | 
						|
  if (EFI_ERROR(Status)) {
 | 
						|
    return EFI_DEBUG_CONTINUE;
 | 
						|
  }
 | 
						|
 | 
						|
  //
 | 
						|
  // Display memory
 | 
						|
  //
 | 
						|
  EdbDisplayMemory (Address, Count, Width);
 | 
						|
 | 
						|
  //
 | 
						|
  // Done
 | 
						|
  //
 | 
						|
  return EFI_DEBUG_CONTINUE;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 | 
						|
  Enter memory.
 | 
						|
 | 
						|
  @param  CommandArg      - The argument for this command
 | 
						|
  @param  Width           - Memory Width
 | 
						|
 | 
						|
  @retval EFI_DEBUG_RETURN   - formal return value
 | 
						|
 | 
						|
**/
 | 
						|
EFI_DEBUG_STATUS
 | 
						|
DebuggerMemoryEnter (
 | 
						|
  IN     CHAR16                    *CommandArg,
 | 
						|
  IN     EDB_DATA_WIDTH            Width
 | 
						|
  )
 | 
						|
{
 | 
						|
  EFI_STATUS Status;
 | 
						|
  UINTN      Address;
 | 
						|
  UINT64     Value;
 | 
						|
 | 
						|
  //
 | 
						|
  // Get memory address and value
 | 
						|
  //
 | 
						|
  Status = EdbGetMemoryAddressValue (CommandArg, &Address, &Value);
 | 
						|
  if (EFI_ERROR(Status)) {
 | 
						|
    return EFI_DEBUG_CONTINUE;
 | 
						|
  }
 | 
						|
 | 
						|
  //
 | 
						|
  // Enter memory
 | 
						|
  //
 | 
						|
  EdbEnterMemory (Address, &Value, Width);
 | 
						|
 | 
						|
  //
 | 
						|
  // Done
 | 
						|
  //
 | 
						|
  return EFI_DEBUG_CONTINUE;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 | 
						|
  DebuggerCommand - DB.
 | 
						|
 | 
						|
  @param  CommandArg      - The argument for this command
 | 
						|
  @param  DebuggerPrivate - EBC Debugger private data structure
 | 
						|
  @param  ExceptionType   - Interrupt type.
 | 
						|
  @param  SystemContext   - EBC system context.
 | 
						|
 | 
						|
  @retval EFI_DEBUG_RETURN   - formal return value
 | 
						|
 | 
						|
**/
 | 
						|
EFI_DEBUG_STATUS
 | 
						|
DebuggerMemoryDB (
 | 
						|
  IN     CHAR16                    *CommandArg,
 | 
						|
  IN     EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,
 | 
						|
  IN     EFI_EXCEPTION_TYPE        ExceptionType,
 | 
						|
  IN OUT EFI_SYSTEM_CONTEXT        SystemContext
 | 
						|
  )
 | 
						|
{
 | 
						|
  return DebuggerMemoryDisplay (CommandArg, EdbWidthUint8);
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 | 
						|
  DebuggerCommand - DW.
 | 
						|
 | 
						|
  @param  CommandArg      - The argument for this command
 | 
						|
  @param  DebuggerPrivate - EBC Debugger private data structure
 | 
						|
  @param  ExceptionType   - Interrupt type.
 | 
						|
  @param  SystemContext   - EBC system context.
 | 
						|
 | 
						|
  @retval EFI_DEBUG_RETURN   - formal return value
 | 
						|
 | 
						|
**/
 | 
						|
EFI_DEBUG_STATUS
 | 
						|
DebuggerMemoryDW (
 | 
						|
  IN     CHAR16                    *CommandArg,
 | 
						|
  IN     EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,
 | 
						|
  IN     EFI_EXCEPTION_TYPE        ExceptionType,
 | 
						|
  IN OUT EFI_SYSTEM_CONTEXT        SystemContext
 | 
						|
  )
 | 
						|
{
 | 
						|
  return DebuggerMemoryDisplay (CommandArg, EdbWidthUint16);
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 | 
						|
  DebuggerCommand - DD.
 | 
						|
 | 
						|
  @param  CommandArg      - The argument for this command
 | 
						|
  @param  DebuggerPrivate - EBC Debugger private data structure
 | 
						|
  @param  ExceptionType   - Interrupt type.
 | 
						|
  @param  SystemContext   - EBC system context.
 | 
						|
 | 
						|
  @retval EFI_DEBUG_RETURN   - formal return value
 | 
						|
 | 
						|
**/
 | 
						|
EFI_DEBUG_STATUS
 | 
						|
DebuggerMemoryDD (
 | 
						|
  IN     CHAR16                    *CommandArg,
 | 
						|
  IN     EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,
 | 
						|
  IN     EFI_EXCEPTION_TYPE        ExceptionType,
 | 
						|
  IN OUT EFI_SYSTEM_CONTEXT        SystemContext
 | 
						|
  )
 | 
						|
{
 | 
						|
  return DebuggerMemoryDisplay (CommandArg, EdbWidthUint32);
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 | 
						|
  DebuggerCommand - DQ.
 | 
						|
 | 
						|
  @param  CommandArg      - The argument for this command
 | 
						|
  @param  DebuggerPrivate - EBC Debugger private data structure
 | 
						|
  @param  ExceptionType   - Exception type.
 | 
						|
  @param  SystemContext   - EBC system context.
 | 
						|
 | 
						|
  @retval EFI_DEBUG_RETURN   - formal return value
 | 
						|
 | 
						|
**/
 | 
						|
EFI_DEBUG_STATUS
 | 
						|
DebuggerMemoryDQ (
 | 
						|
  IN     CHAR16                    *CommandArg,
 | 
						|
  IN     EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,
 | 
						|
  IN     EFI_EXCEPTION_TYPE        ExceptionType,
 | 
						|
  IN OUT EFI_SYSTEM_CONTEXT        SystemContext
 | 
						|
  )
 | 
						|
{
 | 
						|
  return DebuggerMemoryDisplay (CommandArg, EdbWidthUint64);
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 | 
						|
  DebuggerCommand - EB.
 | 
						|
 | 
						|
  @param  CommandArg      - The argument for this command
 | 
						|
  @param  DebuggerPrivate - EBC Debugger private data structure
 | 
						|
  @param  ExceptionType   - Exception type.
 | 
						|
  @param  SystemContext   - EBC system context.
 | 
						|
 | 
						|
  @retval EFI_DEBUG_RETURN   - formal return value
 | 
						|
 | 
						|
**/
 | 
						|
EFI_DEBUG_STATUS
 | 
						|
DebuggerMemoryEB (
 | 
						|
  IN     CHAR16                    *CommandArg,
 | 
						|
  IN     EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,
 | 
						|
  IN     EFI_EXCEPTION_TYPE        ExceptionType,
 | 
						|
  IN OUT EFI_SYSTEM_CONTEXT        SystemContext
 | 
						|
  )
 | 
						|
{
 | 
						|
  return DebuggerMemoryEnter (CommandArg, EdbWidthUint8);
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 | 
						|
  DebuggerCommand - EW.
 | 
						|
 | 
						|
  @param  CommandArg      - The argument for this command
 | 
						|
  @param  DebuggerPrivate - EBC Debugger private data structure
 | 
						|
  @param  ExceptionType   - Interrupt type.
 | 
						|
  @param  SystemContext   - EBC system context.
 | 
						|
 | 
						|
  @retval EFI_DEBUG_RETURN   - formal return value
 | 
						|
 | 
						|
**/
 | 
						|
EFI_DEBUG_STATUS
 | 
						|
DebuggerMemoryEW (
 | 
						|
  IN     CHAR16                    *CommandArg,
 | 
						|
  IN     EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,
 | 
						|
  IN     EFI_EXCEPTION_TYPE        ExceptionType,
 | 
						|
  IN OUT EFI_SYSTEM_CONTEXT        SystemContext
 | 
						|
  )
 | 
						|
{
 | 
						|
  return DebuggerMemoryEnter (CommandArg, EdbWidthUint16);
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 | 
						|
  DebuggerCommand - ED.
 | 
						|
 | 
						|
  @param  CommandArg      - The argument for this command
 | 
						|
  @param  DebuggerPrivate - EBC Debugger private data structure
 | 
						|
  @param  ExceptionType   - Exception type.
 | 
						|
  @param  SystemContext   - EBC system context.
 | 
						|
 | 
						|
  @retval EFI_DEBUG_RETURN   - formal return value
 | 
						|
 | 
						|
**/
 | 
						|
EFI_DEBUG_STATUS
 | 
						|
DebuggerMemoryED (
 | 
						|
  IN     CHAR16                    *CommandArg,
 | 
						|
  IN     EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,
 | 
						|
  IN     EFI_EXCEPTION_TYPE        ExceptionType,
 | 
						|
  IN OUT EFI_SYSTEM_CONTEXT        SystemContext
 | 
						|
  )
 | 
						|
{
 | 
						|
  return DebuggerMemoryEnter (CommandArg, EdbWidthUint32);
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 | 
						|
  DebuggerCommand - EQ.
 | 
						|
 | 
						|
  @param  CommandArg      - The argument for this command
 | 
						|
  @param  DebuggerPrivate - EBC Debugger private data structure
 | 
						|
  @param  ExceptionType   - Exception type.
 | 
						|
  @param  SystemContext   - EBC system context.
 | 
						|
 | 
						|
  @retval EFI_DEBUG_RETURN   - formal return value
 | 
						|
 | 
						|
**/
 | 
						|
EFI_DEBUG_STATUS
 | 
						|
DebuggerMemoryEQ (
 | 
						|
  IN     CHAR16                    *CommandArg,
 | 
						|
  IN     EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,
 | 
						|
  IN     EFI_EXCEPTION_TYPE        ExceptionType,
 | 
						|
  IN OUT EFI_SYSTEM_CONTEXT        SystemContext
 | 
						|
  )
 | 
						|
{
 | 
						|
  return DebuggerMemoryEnter (CommandArg, EdbWidthUint64);
 | 
						|
}
 |