]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdScope.c
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[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
1436aea4
MK
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
748edcd5 29 )\r
748edcd5 30{\r
1436aea4
MK
31 EFI_STATUS Status;\r
32 UINTN Address;\r
748edcd5
PB
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
1436aea4 45 Address = Xtoi (CommandArg);\r
748edcd5
PB
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
1436aea4 54\r
748edcd5
PB
55 DebuggerPrivate->InstructionScope = Address;\r
56 EDBPrint (L"Scope: 0x%x\n", DebuggerPrivate->InstructionScope);\r
57 EdbShowDisasm (DebuggerPrivate, SystemContext);\r
58\r
59 //\r
60 // Done\r
61 //\r
62 return EFI_DEBUG_CONTINUE;\r
63}\r
64\r
e8a5ac7c
DB
65/**\r
66\r
67 DebuggerCommand - List.\r
68\r
69 @param CommandArg - The argument for this command\r
70 @param DebuggerPrivate - EBC Debugger private data structure\r
71 @param ExceptionType - Exception type.\r
72 @param SystemContext - EBC system context.\r
73\r
74 @retval EFI_DEBUG_CONTINUE - formal return value\r
75\r
76**/\r
748edcd5
PB
77EFI_DEBUG_STATUS\r
78DebuggerList (\r
1436aea4
MK
79 IN CHAR16 *CommandArg,\r
80 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
81 IN EFI_EXCEPTION_TYPE ExceptionType,\r
82 IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
748edcd5 83 )\r
748edcd5
PB
84{\r
85 if (CommandArg == NULL) {\r
86 EdbShowDisasm (DebuggerPrivate, SystemContext);\r
87 } else {\r
88 //\r
89 // Load new list number\r
90 //\r
1436aea4 91 DebuggerPrivate->InstructionNumber = Atoi (CommandArg);\r
748edcd5
PB
92 EDBPrint (L"List Number: %d\n", DebuggerPrivate->InstructionNumber);\r
93 EdbShowDisasm (DebuggerPrivate, SystemContext);\r
94 }\r
95\r
96 //\r
97 // Done\r
98 //\r
99 return EFI_DEBUG_CONTINUE;\r
100}\r