]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdScope.c
MdeModulePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdeModulePkg / Universal / EbcDxe / EbcDebugger / EdbCmdScope.c
CommitLineData
e8a5ac7c 1/** @file\r
748edcd5 2\r
e8a5ac7c 3Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>\r
9d510e61 4SPDX-License-Identifier: BSD-2-Clause-Patent\r
748edcd5 5\r
748edcd5 6\r
e8a5ac7c 7**/\r
748edcd5 8\r
e8a5ac7c 9#include "Edb.h"\r
748edcd5 10\r
e8a5ac7c 11/**\r
748edcd5 12\r
e8a5ac7c 13 DebuggerCommand - Scope.\r
748edcd5 14\r
e8a5ac7c
DB
15 @param CommandArg - The argument for this command\r
16 @param DebuggerPrivate - EBC Debugger private data structure\r
17 @param ExceptionType - Exception type.\r
18 @param SystemContext - EBC system context.\r
19\r
20 @retval EFI_DEBUG_CONTINUE - formal return value\r
748edcd5 21\r
e8a5ac7c 22**/\r
748edcd5
PB
23EFI_DEBUG_STATUS\r
24DebuggerScope (\r
25 IN CHAR16 *CommandArg,\r
26 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
27 IN EFI_EXCEPTION_TYPE ExceptionType,\r
28 IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
29 )\r
748edcd5
PB
30{\r
31 EFI_STATUS Status;\r
32 UINTN Address;\r
33\r
34 if (CommandArg == NULL) {\r
35 EDBPrint (L"Scope: invalid Address\n");\r
36 return EFI_DEBUG_CONTINUE;\r
37 }\r
38\r
39 //\r
40 // Load new scope\r
41 //\r
42 Status = Symboltoi (CommandArg, &Address);\r
43 if (EFI_ERROR (Status)) {\r
44 if (Status == EFI_NOT_FOUND) {\r
45 Address = Xtoi(CommandArg);\r
46 } else {\r
47 //\r
48 // Something wrong, let Symboltoi print error info.\r
49 //\r
50 EDBPrint (L"Command Argument error!\n");\r
51 return EFI_DEBUG_CONTINUE;\r
52 }\r
53 }\r
54 DebuggerPrivate->InstructionScope = Address;\r
55 EDBPrint (L"Scope: 0x%x\n", DebuggerPrivate->InstructionScope);\r
56 EdbShowDisasm (DebuggerPrivate, SystemContext);\r
57\r
58 //\r
59 // Done\r
60 //\r
61 return EFI_DEBUG_CONTINUE;\r
62}\r
63\r
e8a5ac7c
DB
64/**\r
65\r
66 DebuggerCommand - List.\r
67\r
68 @param CommandArg - The argument for this command\r
69 @param DebuggerPrivate - EBC Debugger private data structure\r
70 @param ExceptionType - Exception type.\r
71 @param SystemContext - EBC system context.\r
72\r
73 @retval EFI_DEBUG_CONTINUE - formal return value\r
74\r
75**/\r
748edcd5
PB
76EFI_DEBUG_STATUS\r
77DebuggerList (\r
78 IN CHAR16 *CommandArg,\r
79 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
80 IN EFI_EXCEPTION_TYPE ExceptionType,\r
81 IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
82 )\r
748edcd5
PB
83{\r
84 if (CommandArg == NULL) {\r
85 EdbShowDisasm (DebuggerPrivate, SystemContext);\r
86 } else {\r
87 //\r
88 // Load new list number\r
89 //\r
90 DebuggerPrivate->InstructionNumber = Atoi(CommandArg);\r
91 EDBPrint (L"List Number: %d\n", DebuggerPrivate->InstructionNumber);\r
92 EdbShowDisasm (DebuggerPrivate, SystemContext);\r
93 }\r
94\r
95 //\r
96 // Done\r
97 //\r
98 return EFI_DEBUG_CONTINUE;\r
99}\r