3 Copyright (c) 2007, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
25 IN CHAR16
*CommandArg
,
26 IN EFI_DEBUGGER_PRIVATE_DATA
*DebuggerPrivate
,
27 IN EFI_EXCEPTION_TYPE ExceptionType
,
28 IN OUT EFI_SYSTEM_CONTEXT SystemContext
34 DebuggerCommand - Scope
38 CommandArg - The argument for this command
39 DebuggerPrivate - EBC Debugger private data structure
40 InterruptType - Interrupt type.
41 SystemContext - EBC system context.
45 EFI_DEBUG_CONTINUE - formal return value
52 if (CommandArg
== NULL
) {
53 EDBPrint (L
"Scope: invalid Address\n");
54 return EFI_DEBUG_CONTINUE
;
60 Status
= Symboltoi (CommandArg
, &Address
);
61 if (EFI_ERROR (Status
)) {
62 if (Status
== EFI_NOT_FOUND
) {
63 Address
= Xtoi(CommandArg
);
66 // Something wrong, let Symboltoi print error info.
68 EDBPrint (L
"Command Argument error!\n");
69 return EFI_DEBUG_CONTINUE
;
72 DebuggerPrivate
->InstructionScope
= Address
;
73 EDBPrint (L
"Scope: 0x%x\n", DebuggerPrivate
->InstructionScope
);
74 EdbShowDisasm (DebuggerPrivate
, SystemContext
);
79 return EFI_DEBUG_CONTINUE
;
84 IN CHAR16
*CommandArg
,
85 IN EFI_DEBUGGER_PRIVATE_DATA
*DebuggerPrivate
,
86 IN EFI_EXCEPTION_TYPE ExceptionType
,
87 IN OUT EFI_SYSTEM_CONTEXT SystemContext
93 DebuggerCommand - List
97 CommandArg - The argument for this command
98 DebuggerPrivate - EBC Debugger private data structure
99 InterruptType - Interrupt type.
100 SystemContext - EBC system context.
104 EFI_DEBUG_CONTINUE - formal return value
108 if (CommandArg
== NULL
) {
109 EdbShowDisasm (DebuggerPrivate
, SystemContext
);
112 // Load new list number
114 DebuggerPrivate
->InstructionNumber
= Atoi(CommandArg
);
115 EDBPrint (L
"List Number: %d\n", DebuggerPrivate
->InstructionNumber
);
116 EdbShowDisasm (DebuggerPrivate
, SystemContext
);
122 return EFI_DEBUG_CONTINUE
;