#include <Uefi.h>\r
#include "Edb.h"\r
\r
-EFI_DEBUGGER_PRIVATE_DATA mDebuggerPrivate = {\r
+EFI_DEBUGGER_PRIVATE_DATA mDebuggerPrivate = {\r
EFI_DEBUGGER_SIGNATURE, // Signature\r
IsaEbc, // Isa\r
(EBC_DEBUGGER_MAJOR_VERSION << 16) |\r
- EBC_DEBUGGER_MINOR_VERSION, // EfiDebuggerRevision\r
+ EBC_DEBUGGER_MINOR_VERSION, // EfiDebuggerRevision\r
(VM_MAJOR_VERSION << 16) |\r
- VM_MINOR_VERSION, // EbcVmRevision\r
+ VM_MINOR_VERSION, // EbcVmRevision\r
{\r
EFI_DEBUGGER_CONFIGURATION_VERSION,\r
&mDebuggerPrivate,\r
NULL, // Vol\r
NULL, // PciRootBridgeIo\r
mDebuggerCommandSet, // DebuggerCommandSet\r
- {0}, // DebuggerSymbolContext\r
+ { 0 }, // DebuggerSymbolContext\r
0, // DebuggerBreakpointCount\r
- {{0}}, // DebuggerBreakpointContext\r
+ {\r
+ { 0 }\r
+ }, // DebuggerBreakpointContext\r
0, // CallStackEntryCount\r
- {{0}}, // CallStackEntry\r
+ {\r
+ { 0 }\r
+ }, // CallStackEntry\r
0, // TraceEntryCount\r
- {{0}}, // TraceEntry\r
- {0}, // StepContext\r
- {0}, // GoTilContext\r
- 0, // InstructionScope\r
- EFI_DEBUG_DEFAULT_INSTRUCTION_NUMBER, // InstructionNumber\r
+ {\r
+ { 0 }\r
+ }, // TraceEntry\r
+ { 0 }, // StepContext\r
+ { 0 }, // GoTilContext\r
+ 0, // InstructionScope\r
+ EFI_DEBUG_DEFAULT_INSTRUCTION_NUMBER, // InstructionNumber\r
EFI_DEBUG_FLAG_EBC_BOE | EFI_DEBUG_FLAG_EBC_BOT, // FeatureFlags\r
0, // StatusFlags\r
FALSE, // EnablePageBreak\r
NULL // BreakEvent\r
};\r
\r
-CHAR16 *mExceptionStr[] = {\r
+CHAR16 *mExceptionStr[] = {\r
L"EXCEPT_EBC_UNDEFINED",\r
L"EXCEPT_EBC_DIVIDE_ERROR",\r
L"EXCEPT_EBC_DEBUG",\r
**/\r
VOID\r
EdbClearAllBreakpoint (\r
- IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
- IN BOOLEAN NeedRemove\r
+ IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
+ IN BOOLEAN NeedRemove\r
)\r
{\r
- UINTN Index;\r
+ UINTN Index;\r
\r
//\r
// Patch all the breakpoint\r
CopyMem (\r
(VOID *)(UINTN)DebuggerPrivate->DebuggerBreakpointContext[Index].BreakpointAddress,\r
&DebuggerPrivate->DebuggerBreakpointContext[Index].OldInstruction,\r
- sizeof(UINT16)\r
+ sizeof (UINT16)\r
);\r
}\r
}\r
//\r
if (NeedRemove) {\r
DebuggerPrivate->DebuggerBreakpointCount = 0;\r
- ZeroMem (DebuggerPrivate->DebuggerBreakpointContext, sizeof(DebuggerPrivate->DebuggerBreakpointContext));\r
+ ZeroMem (DebuggerPrivate->DebuggerBreakpointContext, sizeof (DebuggerPrivate->DebuggerBreakpointContext));\r
}\r
\r
//\r
// Done\r
//\r
- return ;\r
+ return;\r
}\r
\r
/**\r
**/\r
VOID\r
EdbSetAllBreakpoint (\r
- IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate\r
+ IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate\r
)\r
{\r
- UINTN Index;\r
- UINT16 Data16;\r
+ UINTN Index;\r
+ UINT16 Data16;\r
\r
//\r
// Set all the breakpoint (BREAK(3) : 0x0300)\r
CopyMem (\r
(VOID *)(UINTN)DebuggerPrivate->DebuggerBreakpointContext[Index].BreakpointAddress,\r
&Data16,\r
- sizeof(UINT16)\r
+ sizeof (UINT16)\r
);\r
}\r
}\r
CopyMem (\r
(VOID *)(UINTN)DebuggerPrivate->DebuggerBreakpointContext[EFI_DEBUGGER_BREAKPOINT_MAX].BreakpointAddress,\r
&DebuggerPrivate->DebuggerBreakpointContext[EFI_DEBUGGER_BREAKPOINT_MAX].OldInstruction,\r
- sizeof(UINT16)\r
+ sizeof (UINT16)\r
);\r
DebuggerPrivate->StatusFlags &= ~EFI_DEBUG_FLAG_EBC_B_BP;\r
}\r
//\r
// Done\r
//\r
- return ;\r
+ return;\r
}\r
\r
/**\r
**/\r
VOID\r
EdbCheckBreakpoint (\r
- IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
- IN EFI_SYSTEM_CONTEXT SystemContext\r
+ IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext\r
)\r
{\r
UINT64 Address;\r
//\r
// Roll back IP for breakpoint instruction (BREAK(3) : 0x0300)\r
//\r
- Address = SystemContext.SystemContextEbc->Ip - sizeof(UINT16);\r
+ Address = SystemContext.SystemContextEbc->Ip - sizeof (UINT16);\r
\r
//\r
// Check if the breakpoint is hit\r
IsHitBreakpoint = FALSE;\r
for (Index = 0; (Index < DebuggerPrivate->DebuggerBreakpointCount) && (Index < EFI_DEBUGGER_BREAKPOINT_MAX); Index++) {\r
if ((DebuggerPrivate->DebuggerBreakpointContext[Index].BreakpointAddress == Address) &&\r
- (DebuggerPrivate->DebuggerBreakpointContext[Index].State)) {\r
+ (DebuggerPrivate->DebuggerBreakpointContext[Index].State))\r
+ {\r
IsHitBreakpoint = TRUE;\r
break;\r
}\r
//\r
// If hit, record current breakpoint\r
//\r
- DebuggerPrivate->DebuggerBreakpointContext[EFI_DEBUGGER_BREAKPOINT_MAX] = DebuggerPrivate->DebuggerBreakpointContext[Index];\r
+ DebuggerPrivate->DebuggerBreakpointContext[EFI_DEBUGGER_BREAKPOINT_MAX] = DebuggerPrivate->DebuggerBreakpointContext[Index];\r
DebuggerPrivate->DebuggerBreakpointContext[EFI_DEBUGGER_BREAKPOINT_MAX].State = TRUE;\r
//\r
// Update: IP and Instruction (NOTE: Since we not allow set breakpoint to BREAK 3, this update is safe)\r
IsHitBreakpoint = FALSE;\r
for (Index = 0; (Index < DebuggerPrivate->DebuggerBreakpointCount) && (Index < EFI_DEBUGGER_BREAKPOINT_MAX); Index++) {\r
if ((DebuggerPrivate->DebuggerBreakpointContext[Index].BreakpointAddress == Address) &&\r
- (DebuggerPrivate->DebuggerBreakpointContext[Index].State)) {\r
+ (DebuggerPrivate->DebuggerBreakpointContext[Index].State))\r
+ {\r
IsHitBreakpoint = TRUE;\r
break;\r
}\r
//\r
ZeroMem (\r
&DebuggerPrivate->DebuggerBreakpointContext[EFI_DEBUGGER_BREAKPOINT_MAX],\r
- sizeof(DebuggerPrivate->DebuggerBreakpointContext[EFI_DEBUGGER_BREAKPOINT_MAX])\r
+ sizeof (DebuggerPrivate->DebuggerBreakpointContext[EFI_DEBUGGER_BREAKPOINT_MAX])\r
);\r
}\r
}\r
//\r
// Done\r
//\r
- return ;\r
+ return;\r
}\r
\r
/**\r
**/\r
VOID\r
EdbClearSymbol (\r
- IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate\r
+ IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate\r
)\r
{\r
- EFI_DEBUGGER_SYMBOL_CONTEXT *DebuggerSymbolContext;\r
- EFI_DEBUGGER_SYMBOL_OBJECT *Object;\r
- UINTN ObjectIndex;\r
- UINTN Index;\r
+ EFI_DEBUGGER_SYMBOL_CONTEXT *DebuggerSymbolContext;\r
+ EFI_DEBUGGER_SYMBOL_OBJECT *Object;\r
+ UINTN ObjectIndex;\r
+ UINTN Index;\r
\r
//\r
// Go throuth each object\r
// Go throuth each entry\r
//\r
for (Index = 0; Index < Object->EntryCount; Index++) {\r
- ZeroMem (&Object->Entry[Index], sizeof(Object->Entry[Index]));\r
+ ZeroMem (&Object->Entry[Index], sizeof (Object->Entry[Index]));\r
}\r
- ZeroMem (Object->Name, sizeof(Object->Name));\r
- Object->EntryCount = 0;\r
- Object->BaseAddress = 0;\r
+\r
+ ZeroMem (Object->Name, sizeof (Object->Name));\r
+ Object->EntryCount = 0;\r
+ Object->BaseAddress = 0;\r
Object->StartEntrypointRVA = 0;\r
- Object->MainEntrypointRVA = 0;\r
+ Object->MainEntrypointRVA = 0;\r
//\r
// Free source buffer\r
//\r
Object->SourceBuffer[Index] = NULL;\r
}\r
}\r
+\r
DebuggerSymbolContext->ObjectCount = 0;\r
\r
- return ;\r
+ return;\r
}\r
\r
/**\r
**/\r
EFI_STATUS\r
InitDebuggerPrivateData (\r
- IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
- IN EFI_EXCEPTION_TYPE ExceptionType,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- IN BOOLEAN Initialized\r
+ IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
+ IN EFI_EXCEPTION_TYPE ExceptionType,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ IN BOOLEAN Initialized\r
)\r
{\r
//\r
// clear STEP flag in any condition.\r
//\r
- if (SystemContext.SystemContextEbc->Flags & ((UINT64) VMFLAGS_STEP)) {\r
- SystemContext.SystemContextEbc->Flags &= ~((UINT64) VMFLAGS_STEP);\r
+ if (SystemContext.SystemContextEbc->Flags & ((UINT64)VMFLAGS_STEP)) {\r
+ SystemContext.SystemContextEbc->Flags &= ~((UINT64)VMFLAGS_STEP);\r
}\r
\r
if (!Initialized) {\r
DebuggerPrivate->InstructionNumber = EFI_DEBUG_DEFAULT_INSTRUCTION_NUMBER;\r
\r
DebuggerPrivate->DebuggerBreakpointCount = 0;\r
- ZeroMem (DebuggerPrivate->DebuggerBreakpointContext, sizeof(DebuggerPrivate->DebuggerBreakpointContext));\r
+ ZeroMem (DebuggerPrivate->DebuggerBreakpointContext, sizeof (DebuggerPrivate->DebuggerBreakpointContext));\r
\r
-// DebuggerPrivate->StatusFlags = 0;\r
+ // DebuggerPrivate->StatusFlags = 0;\r
\r
- DebuggerPrivate->DebuggerSymbolContext.DisplaySymbol = TRUE;\r
+ DebuggerPrivate->DebuggerSymbolContext.DisplaySymbol = TRUE;\r
DebuggerPrivate->DebuggerSymbolContext.DisplayCodeOnly = FALSE;\r
- DebuggerPrivate->DebuggerSymbolContext.ObjectCount = 0;\r
+ DebuggerPrivate->DebuggerSymbolContext.ObjectCount = 0;\r
} else {\r
//\r
// Already initialized, just check Breakpoint here.\r
**/\r
EFI_STATUS\r
DeinitDebuggerPrivateData (\r
- IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
- IN EFI_EXCEPTION_TYPE ExceptionType,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- IN BOOLEAN Initialized\r
+ IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
+ IN EFI_EXCEPTION_TYPE ExceptionType,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ IN BOOLEAN Initialized\r
)\r
{\r
if (!Initialized) {\r
//\r
// If it does not want initialized state, de-init everything\r
//\r
- DebuggerPrivate->FeatureFlags = EFI_DEBUG_FLAG_EBC_BOE | EFI_DEBUG_FLAG_EBC_BOT;\r
+ DebuggerPrivate->FeatureFlags = EFI_DEBUG_FLAG_EBC_BOE | EFI_DEBUG_FLAG_EBC_BOT;\r
DebuggerPrivate->CallStackEntryCount = 0;\r
- DebuggerPrivate->TraceEntryCount = 0;\r
- ZeroMem (DebuggerPrivate->CallStackEntry, sizeof(DebuggerPrivate->CallStackEntry));\r
- ZeroMem (DebuggerPrivate->TraceEntry, sizeof(DebuggerPrivate->TraceEntry));\r
+ DebuggerPrivate->TraceEntryCount = 0;\r
+ ZeroMem (DebuggerPrivate->CallStackEntry, sizeof (DebuggerPrivate->CallStackEntry));\r
+ ZeroMem (DebuggerPrivate->TraceEntry, sizeof (DebuggerPrivate->TraceEntry));\r
\r
//\r
// Clear all breakpoint\r
//\r
// Clear Step context\r
//\r
- ZeroMem (&mDebuggerPrivate.StepContext, sizeof(mDebuggerPrivate.StepContext));\r
+ ZeroMem (&mDebuggerPrivate.StepContext, sizeof (mDebuggerPrivate.StepContext));\r
DebuggerPrivate->StatusFlags = 0;\r
\r
//\r
**/\r
VOID\r
PrintExceptionReason (\r
- IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
- IN EFI_EXCEPTION_TYPE ExceptionType,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- IN BOOLEAN Initialized\r
+ IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
+ IN EFI_EXCEPTION_TYPE ExceptionType,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ IN BOOLEAN Initialized\r
)\r
{\r
//\r
}\r
}\r
\r
- return ;\r
+ return;\r
}\r
\r
/**\r
VOID\r
EFIAPI\r
EdbExceptionHandler (\r
- IN EFI_EXCEPTION_TYPE ExceptionType,\r
- IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
+ IN EFI_EXCEPTION_TYPE ExceptionType,\r
+ IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
)\r
{\r
- CHAR16 InputBuffer[EFI_DEBUG_INPUS_BUFFER_SIZE];\r
- CHAR16 *CommandArg;\r
- EFI_DEBUGGER_COMMAND DebuggerCommand;\r
- EFI_DEBUG_STATUS DebugStatus;\r
- STATIC BOOLEAN mInitialized;\r
+ CHAR16 InputBuffer[EFI_DEBUG_INPUS_BUFFER_SIZE];\r
+ CHAR16 *CommandArg;\r
+ EFI_DEBUGGER_COMMAND DebuggerCommand;\r
+ EFI_DEBUG_STATUS DebugStatus;\r
+ STATIC BOOLEAN mInitialized;\r
\r
mInitialized = FALSE;\r
\r
(UINTN)EBC_DEBUGGER_MINOR_VERSION\r
);\r
}\r
+\r
//\r
// Init Private Data\r
//\r
EDBPrint (L"\nPlease enter command now, \'h\' for help.\n");\r
EDBPrint (L"(Using <Command> -b <...> to enable page break.)\n");\r
}\r
+\r
mInitialized = TRUE;\r
\r
//\r
//\r
if (CommandArg != NULL) {\r
if (StriCmp (CommandArg, L"-b") == 0) {\r
- CommandArg = StrGetNextTokenLine (L" ");\r
+ CommandArg = StrGetNextTokenLine (L" ");\r
mDebuggerPrivate.EnablePageBreak = TRUE;\r
}\r
}\r
//\r
// Dispatch command\r
//\r
- DebugStatus = DebuggerCommand (CommandArg, &mDebuggerPrivate, ExceptionType, SystemContext);\r
+ DebugStatus = DebuggerCommand (CommandArg, &mDebuggerPrivate, ExceptionType, SystemContext);\r
mDebuggerPrivate.EnablePageBreak = FALSE;\r
\r
//\r