//\r
typedef\r
EFI_DEBUG_STATUS\r
-(* EFI_DEBUGGER_COMMAND) (\r
- IN CHAR16 *CommandArg,\r
- IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
- IN EFI_EXCEPTION_TYPE ExceptionType,\r
- IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
-);\r
+(*EFI_DEBUGGER_COMMAND) (\r
+ IN CHAR16 *CommandArg,\r
+ IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
+ IN EFI_EXCEPTION_TYPE ExceptionType,\r
+ IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
+ );\r
\r
typedef struct {\r
- CHAR16 *CommandName;\r
- CHAR16 *CommandTitle;\r
- CHAR16 *CommandHelp;\r
- CHAR16 *CommandSyntax;\r
- CHAR16 *ClassName;\r
- EFI_INPUT_KEY CommandKey;\r
- EFI_DEBUGGER_COMMAND CommandFunc;\r
+ CHAR16 *CommandName;\r
+ CHAR16 *CommandTitle;\r
+ CHAR16 *CommandHelp;\r
+ CHAR16 *CommandSyntax;\r
+ CHAR16 *ClassName;\r
+ EFI_INPUT_KEY CommandKey;\r
+ EFI_DEBUGGER_COMMAND CommandFunc;\r
} EFI_DEBUGGER_COMMAND_SET;\r
\r
//\r
// Definition for Debugger Symbol\r
//\r
-#define EFI_DEBUGGER_SYMBOL_NAME_MAX 256\r
-#define EFI_DEBUGGER_SYMBOL_ENTRY_MAX 512\r
-#define EFI_DEBUGGER_SYMBOL_OBJECT_MAX 32\r
+#define EFI_DEBUGGER_SYMBOL_NAME_MAX 256\r
+#define EFI_DEBUGGER_SYMBOL_ENTRY_MAX 512\r
+#define EFI_DEBUGGER_SYMBOL_OBJECT_MAX 32\r
\r
//\r
// We have following SYMBOL data structure:\r
} EFI_DEBUGGER_SYMBOL_TYPE;\r
\r
typedef struct {\r
- CHAR8 Name[EFI_DEBUGGER_SYMBOL_NAME_MAX];\r
- UINTN Rva;\r
- EFI_DEBUGGER_SYMBOL_TYPE Type;\r
- CHAR8 ObjName[EFI_DEBUGGER_SYMBOL_NAME_MAX];\r
- CHAR8 *CodBuffer;\r
- UINTN CodBufferSize;\r
- UINTN FuncOffsetBase;\r
- CHAR8 *SourceBuffer;\r
+ CHAR8 Name[EFI_DEBUGGER_SYMBOL_NAME_MAX];\r
+ UINTN Rva;\r
+ EFI_DEBUGGER_SYMBOL_TYPE Type;\r
+ CHAR8 ObjName[EFI_DEBUGGER_SYMBOL_NAME_MAX];\r
+ CHAR8 *CodBuffer;\r
+ UINTN CodBufferSize;\r
+ UINTN FuncOffsetBase;\r
+ CHAR8 *SourceBuffer;\r
} EFI_DEBUGGER_SYMBOL_ENTRY;\r
\r
typedef struct {\r
- CHAR16 Name[EFI_DEBUGGER_SYMBOL_NAME_MAX];\r
- UINTN EntryCount;\r
- UINTN MaxEntryCount;\r
- UINTN BaseAddress;\r
- UINTN StartEntrypointRVA;\r
- UINTN MainEntrypointRVA;\r
- EFI_DEBUGGER_SYMBOL_ENTRY *Entry;\r
- VOID **SourceBuffer;\r
+ CHAR16 Name[EFI_DEBUGGER_SYMBOL_NAME_MAX];\r
+ UINTN EntryCount;\r
+ UINTN MaxEntryCount;\r
+ UINTN BaseAddress;\r
+ UINTN StartEntrypointRVA;\r
+ UINTN MainEntrypointRVA;\r
+ EFI_DEBUGGER_SYMBOL_ENTRY *Entry;\r
+ VOID **SourceBuffer;\r
} EFI_DEBUGGER_SYMBOL_OBJECT;\r
\r
typedef struct {\r
- UINTN ObjectCount;\r
- UINTN MaxObjectCount;\r
- EFI_DEBUGGER_SYMBOL_OBJECT *Object;\r
- BOOLEAN DisplaySymbol;\r
- BOOLEAN DisplayCodeOnly;\r
+ UINTN ObjectCount;\r
+ UINTN MaxObjectCount;\r
+ EFI_DEBUGGER_SYMBOL_OBJECT *Object;\r
+ BOOLEAN DisplaySymbol;\r
+ BOOLEAN DisplayCodeOnly;\r
} EFI_DEBUGGER_SYMBOL_CONTEXT;\r
\r
//\r
// Definition for Debugger Breakpoint\r
//\r
-#define EFI_DEBUGGER_BREAKPOINT_MAX 0x10\r
+#define EFI_DEBUGGER_BREAKPOINT_MAX 0x10\r
\r
typedef struct {\r
- EFI_PHYSICAL_ADDRESS BreakpointAddress;\r
- UINT64 OldInstruction; // UINT64 is enough for an instruction\r
- BOOLEAN State;\r
+ EFI_PHYSICAL_ADDRESS BreakpointAddress;\r
+ UINT64 OldInstruction; // UINT64 is enough for an instruction\r
+ BOOLEAN State;\r
} EFI_DEBUGGER_BREAKPOINT_CONTEXT;\r
\r
//\r
// Definition for Debugger Call-Stack\r
//\r
-#define EFI_DEBUGGER_CALLSTACK_MAX 0x10\r
+#define EFI_DEBUGGER_CALLSTACK_MAX 0x10\r
\r
typedef enum {\r
EfiDebuggerBranchTypeEbcCall,\r
#define EFI_DEBUGGER_CALL_DEFAULT_PARAMETER 0x8\r
\r
typedef struct {\r
- EFI_PHYSICAL_ADDRESS SourceAddress;\r
- EFI_PHYSICAL_ADDRESS DestAddress;\r
+ EFI_PHYSICAL_ADDRESS SourceAddress;\r
+ EFI_PHYSICAL_ADDRESS DestAddress;\r
//\r
// We save all parameter here, because code may update the parameter as local variable.\r
//\r
- UINTN ParameterAddr;\r
- UINTN Parameter[EFI_DEBUGGER_CALL_MAX_PARAMETER];\r
- EFI_DEBUGGER_BRANCH_TYPE Type;\r
+ UINTN ParameterAddr;\r
+ UINTN Parameter[EFI_DEBUGGER_CALL_MAX_PARAMETER];\r
+ EFI_DEBUGGER_BRANCH_TYPE Type;\r
} EFI_DEBUGGER_CALLSTACK_CONTEXT;\r
\r
//\r
// Definition for Debugger Trace\r
//\r
-#define EFI_DEBUGGER_TRACE_MAX 0x10\r
+#define EFI_DEBUGGER_TRACE_MAX 0x10\r
\r
typedef struct {\r
- EFI_PHYSICAL_ADDRESS SourceAddress;\r
- EFI_PHYSICAL_ADDRESS DestAddress;\r
- EFI_DEBUGGER_BRANCH_TYPE Type;\r
+ EFI_PHYSICAL_ADDRESS SourceAddress;\r
+ EFI_PHYSICAL_ADDRESS DestAddress;\r
+ EFI_DEBUGGER_BRANCH_TYPE Type;\r
} EFI_DEBUGGER_TRACE_CONTEXT;\r
\r
//\r
// Definition for Debugger Step\r
//\r
typedef struct {\r
- EFI_PHYSICAL_ADDRESS BreakAddress;\r
- EFI_PHYSICAL_ADDRESS FramePointer;\r
+ EFI_PHYSICAL_ADDRESS BreakAddress;\r
+ EFI_PHYSICAL_ADDRESS FramePointer;\r
} EFI_DEBUGGER_STEP_CONTEXT;\r
\r
//\r
// Definition for Debugger GoTil\r
//\r
typedef struct {\r
- EFI_PHYSICAL_ADDRESS BreakAddress;\r
+ EFI_PHYSICAL_ADDRESS BreakAddress;\r
} EFI_DEBUGGER_GOTIL_CONTEXT;\r
\r
//\r
// Definition for Debugger private data structure\r
//\r
-#define EFI_DEBUGGER_SIGNATURE SIGNATURE_32 ('e', 'd', 'b', '!')\r
+#define EFI_DEBUGGER_SIGNATURE SIGNATURE_32 ('e', 'd', 'b', '!')\r
\r
#define EFI_DEBUG_DEFAULT_INSTRUCTION_NUMBER 5\r
\r
-#define EFI_DEBUG_BREAK_TIMER_INTERVAL 10000000 // 1 second\r
-\r
-#define EFI_DEBUG_FLAG_EBC 0x80000000\r
-#define EFI_DEBUG_FLAG_EBC_B_BOC 0x1\r
-#define EFI_DEBUG_FLAG_EBC_B_BOCX 0x2\r
-#define EFI_DEBUG_FLAG_EBC_B_BOR 0x4\r
-#define EFI_DEBUG_FLAG_EBC_B_BOE 0x8\r
-#define EFI_DEBUG_FLAG_EBC_B_BOT 0x10\r
-#define EFI_DEBUG_FLAG_EBC_B_STEPOVER 0x20\r
-#define EFI_DEBUG_FLAG_EBC_B_STEPOUT 0x40\r
-#define EFI_DEBUG_FLAG_EBC_B_BP 0x80\r
-#define EFI_DEBUG_FLAG_EBC_B_GT 0x100\r
-#define EFI_DEBUG_FLAG_EBC_B_BOK 0x200\r
-#define EFI_DEBUG_FLAG_EBC_BOC (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_BOC)\r
-#define EFI_DEBUG_FLAG_EBC_BOCX (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_BOCX)\r
-#define EFI_DEBUG_FLAG_EBC_BOR (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_BOR)\r
-#define EFI_DEBUG_FLAG_EBC_BOE (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_BOE)\r
-#define EFI_DEBUG_FLAG_EBC_BOT (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_BOT)\r
-#define EFI_DEBUG_FLAG_EBC_STEPOVER (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_STEPOVER)\r
-#define EFI_DEBUG_FLAG_EBC_STEPOUT (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_STEPOUT)\r
-#define EFI_DEBUG_FLAG_EBC_BP (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_BP)\r
-#define EFI_DEBUG_FLAG_EBC_GT (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_GT)\r
-#define EFI_DEBUG_FLAG_EBC_BOK (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_BOK)\r
+#define EFI_DEBUG_BREAK_TIMER_INTERVAL 10000000 // 1 second\r
+\r
+#define EFI_DEBUG_FLAG_EBC 0x80000000\r
+#define EFI_DEBUG_FLAG_EBC_B_BOC 0x1\r
+#define EFI_DEBUG_FLAG_EBC_B_BOCX 0x2\r
+#define EFI_DEBUG_FLAG_EBC_B_BOR 0x4\r
+#define EFI_DEBUG_FLAG_EBC_B_BOE 0x8\r
+#define EFI_DEBUG_FLAG_EBC_B_BOT 0x10\r
+#define EFI_DEBUG_FLAG_EBC_B_STEPOVER 0x20\r
+#define EFI_DEBUG_FLAG_EBC_B_STEPOUT 0x40\r
+#define EFI_DEBUG_FLAG_EBC_B_BP 0x80\r
+#define EFI_DEBUG_FLAG_EBC_B_GT 0x100\r
+#define EFI_DEBUG_FLAG_EBC_B_BOK 0x200\r
+#define EFI_DEBUG_FLAG_EBC_BOC (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_BOC)\r
+#define EFI_DEBUG_FLAG_EBC_BOCX (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_BOCX)\r
+#define EFI_DEBUG_FLAG_EBC_BOR (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_BOR)\r
+#define EFI_DEBUG_FLAG_EBC_BOE (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_BOE)\r
+#define EFI_DEBUG_FLAG_EBC_BOT (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_BOT)\r
+#define EFI_DEBUG_FLAG_EBC_STEPOVER (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_STEPOVER)\r
+#define EFI_DEBUG_FLAG_EBC_STEPOUT (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_STEPOUT)\r
+#define EFI_DEBUG_FLAG_EBC_BP (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_BP)\r
+#define EFI_DEBUG_FLAG_EBC_GT (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_GT)\r
+#define EFI_DEBUG_FLAG_EBC_BOK (EFI_DEBUG_FLAG_EBC | EFI_DEBUG_FLAG_EBC_B_BOK)\r
\r
//\r
// Debugger private data structure\r
//\r
typedef struct _EFI_DEBUGGER_PRIVATE_DATA {\r
- UINT32 Signature;\r
- EFI_INSTRUCTION_SET_ARCHITECTURE Isa;\r
- UINT32 EfiDebuggerRevision;\r
- UINT32 EbcVmRevision;\r
- EFI_DEBUGGER_CONFIGURATION_PROTOCOL DebuggerConfiguration;\r
- EFI_DEBUG_IMAGE_INFO_TABLE_HEADER *DebugImageInfoTableHeader;\r
- EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *Vol;\r
- EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo;\r
- EFI_DEBUGGER_COMMAND_SET *DebuggerCommandSet;\r
- EFI_DEBUGGER_SYMBOL_CONTEXT DebuggerSymbolContext;\r
- UINTN DebuggerBreakpointCount;\r
- EFI_DEBUGGER_BREAKPOINT_CONTEXT DebuggerBreakpointContext[EFI_DEBUGGER_BREAKPOINT_MAX + 1];\r
- UINTN CallStackEntryCount;\r
- EFI_DEBUGGER_CALLSTACK_CONTEXT CallStackEntry[EFI_DEBUGGER_CALLSTACK_MAX + 1];\r
- UINTN TraceEntryCount;\r
- EFI_DEBUGGER_TRACE_CONTEXT TraceEntry[EFI_DEBUGGER_TRACE_MAX + 1];\r
- EFI_DEBUGGER_STEP_CONTEXT StepContext;\r
- EFI_DEBUGGER_GOTIL_CONTEXT GoTilContext;\r
- EFI_PHYSICAL_ADDRESS InstructionScope;\r
- UINTN InstructionNumber;\r
- UINT32 FeatureFlags;\r
- UINT32 StatusFlags;\r
- BOOLEAN EnablePageBreak;\r
- EFI_EVENT BreakEvent;\r
+ UINT32 Signature;\r
+ EFI_INSTRUCTION_SET_ARCHITECTURE Isa;\r
+ UINT32 EfiDebuggerRevision;\r
+ UINT32 EbcVmRevision;\r
+ EFI_DEBUGGER_CONFIGURATION_PROTOCOL DebuggerConfiguration;\r
+ EFI_DEBUG_IMAGE_INFO_TABLE_HEADER *DebugImageInfoTableHeader;\r
+ EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *Vol;\r
+ EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo;\r
+ EFI_DEBUGGER_COMMAND_SET *DebuggerCommandSet;\r
+ EFI_DEBUGGER_SYMBOL_CONTEXT DebuggerSymbolContext;\r
+ UINTN DebuggerBreakpointCount;\r
+ EFI_DEBUGGER_BREAKPOINT_CONTEXT DebuggerBreakpointContext[EFI_DEBUGGER_BREAKPOINT_MAX + 1];\r
+ UINTN CallStackEntryCount;\r
+ EFI_DEBUGGER_CALLSTACK_CONTEXT CallStackEntry[EFI_DEBUGGER_CALLSTACK_MAX + 1];\r
+ UINTN TraceEntryCount;\r
+ EFI_DEBUGGER_TRACE_CONTEXT TraceEntry[EFI_DEBUGGER_TRACE_MAX + 1];\r
+ EFI_DEBUGGER_STEP_CONTEXT StepContext;\r
+ EFI_DEBUGGER_GOTIL_CONTEXT GoTilContext;\r
+ EFI_PHYSICAL_ADDRESS InstructionScope;\r
+ UINTN InstructionNumber;\r
+ UINT32 FeatureFlags;\r
+ UINT32 StatusFlags;\r
+ BOOLEAN EnablePageBreak;\r
+ EFI_EVENT BreakEvent;\r
} EFI_DEBUGGER_PRIVATE_DATA;\r
\r
#endif\r