From af1a266670d040d2f4083ff309d732d648afba2a Mon Sep 17 00:00:00 2001 From: Angelos Mouzakitis Date: Tue, 10 Oct 2023 14:33:42 +0000 Subject: Add submodule dependency files Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec --- .../Universal/EbcDxe/EbcDebugger/EdbCmdScope.c | 99 ++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 roms/edk2/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdScope.c (limited to 'roms/edk2/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdScope.c') diff --git a/roms/edk2/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdScope.c b/roms/edk2/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdScope.c new file mode 100644 index 000000000..8240ab624 --- /dev/null +++ b/roms/edk2/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdScope.c @@ -0,0 +1,99 @@ +/** @file + +Copyright (c) 2007, Intel Corporation. All rights reserved.
+SPDX-License-Identifier: BSD-2-Clause-Patent + + +**/ + +#include "Edb.h" + +/** + + DebuggerCommand - Scope. + + @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_CONTINUE - formal return value + +**/ +EFI_DEBUG_STATUS +DebuggerScope ( + IN CHAR16 *CommandArg, + IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate, + IN EFI_EXCEPTION_TYPE ExceptionType, + IN OUT EFI_SYSTEM_CONTEXT SystemContext + ) +{ + EFI_STATUS Status; + UINTN Address; + + if (CommandArg == NULL) { + EDBPrint (L"Scope: invalid Address\n"); + return EFI_DEBUG_CONTINUE; + } + + // + // Load new scope + // + Status = Symboltoi (CommandArg, &Address); + if (EFI_ERROR (Status)) { + if (Status == EFI_NOT_FOUND) { + Address = Xtoi(CommandArg); + } else { + // + // Something wrong, let Symboltoi print error info. + // + EDBPrint (L"Command Argument error!\n"); + return EFI_DEBUG_CONTINUE; + } + } + DebuggerPrivate->InstructionScope = Address; + EDBPrint (L"Scope: 0x%x\n", DebuggerPrivate->InstructionScope); + EdbShowDisasm (DebuggerPrivate, SystemContext); + + // + // Done + // + return EFI_DEBUG_CONTINUE; +} + +/** + + DebuggerCommand - List. + + @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_CONTINUE - formal return value + +**/ +EFI_DEBUG_STATUS +DebuggerList ( + IN CHAR16 *CommandArg, + IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate, + IN EFI_EXCEPTION_TYPE ExceptionType, + IN OUT EFI_SYSTEM_CONTEXT SystemContext + ) +{ + if (CommandArg == NULL) { + EdbShowDisasm (DebuggerPrivate, SystemContext); + } else { + // + // Load new list number + // + DebuggerPrivate->InstructionNumber = Atoi(CommandArg); + EDBPrint (L"List Number: %d\n", DebuggerPrivate->InstructionNumber); + EdbShowDisasm (DebuggerPrivate, SystemContext); + } + + // + // Done + // + return EFI_DEBUG_CONTINUE; +} -- cgit