TianoCore EDK2 master
|
Go to the source code of this file.
Data Structures | |
struct | ARM_SOFTWARE_BREAKPOINT |
Macros | |
#define | GDB_ARM_BKPT 0xefdbdbdb |
#define | ARM_SOFTWARE_BREAKPOINT_SIGNATURE SIGNATURE_64('A', 'R', 'M', 'B', 'R', 'K', 'P', 'T') |
#define | ARM_SOFTWARE_BREAKPOINT_FROM_LINK(a) CR(a, ARM_SOFTWARE_BREAKPOINT, Link, ARM_SOFTWARE_BREAKPOINT_SIGNATURE) |
Variables | |
EFI_EXCEPTION_TYPE_ENTRY | gExceptionType [] |
UINTN | gRegisterOffsets [] |
BOOLEAN | mSingleStepActive = FALSE |
UINT32 | mSingleStepPC |
UINT32 | mSingleStepData |
UINTN | mSingleStepDataSize |
LIST_ENTRY | BreakpointList |
Processor specific parts of the GDB stub
Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file Processor.c.
#define ARM_SOFTWARE_BREAKPOINT_FROM_LINK | ( | a | ) | CR(a, ARM_SOFTWARE_BREAKPOINT, Link, ARM_SOFTWARE_BREAKPOINT_SIGNATURE) |
Definition at line 376 of file Processor.c.
#define ARM_SOFTWARE_BREAKPOINT_SIGNATURE SIGNATURE_64('A', 'R', 'M', 'B', 'R', 'K', 'P', 'T') |
Definition at line 375 of file Processor.c.
#define GDB_ARM_BKPT 0xefdbdbdb |
Definition at line 361 of file Processor.c.
VOID AddSingleStep | ( | IN EFI_SYSTEM_CONTEXT | SystemContext | ) |
Insert Single Step in the SystemContext
SystemContext | Register content at time of the exception |
Definition at line 386 of file Processor.c.
CHAR8 * BasicReadRegister | ( | IN EFI_SYSTEM_CONTEXT | SystemContext, |
IN UINTN | RegNumber, | ||
IN CHAR8 * | OutBufPtr | ||
) |
Adds the RegNumber-th register's value to the output buffer, starting at the given OutBufPtr
SystemContext | Register content at time of the exception |
RegNumber | the number of the register that we want to read |
OutBufPtr | pointer to the output buffer's end. the new data will be added from this point on. |
the | pointer to the next character of the output buffer that is available to be written on. |
Definition at line 144 of file Processor.c.
CHAR8 * BasicWriteRegister | ( | IN EFI_SYSTEM_CONTEXT | SystemContext, |
IN UINTN | RegNumber, | ||
IN CHAR8 * | InBufPtr | ||
) |
Adds the RegNumber-th register's value to the output buffer, starting at the given OutBufPtr
SystemContext | Register content at time of the exception |
RegNumber | the number of the register that we want to write |
InBufPtr | pointer to the output buffer. the new data will be extracted from the input buffer from this point on. |
the | pointer to the next character of the input buffer that can be used |
Definition at line 246 of file Processor.c.
BOOLEAN CheckIsa | ( | IN EFI_INSTRUCTION_SET_ARCHITECTURE | Isa | ) |
Check to see if the ISA is supported. ISA = Instruction Set Architecture
TRUE | if Isa is supported |
Definition at line 105 of file Processor.c.
VOID ClearBreakpoint | ( | IN UINT32 | Address | ) |
Definition at line 549 of file Processor.c.
VOID EFIAPI ContinueAtAddress | ( | IN EFI_SYSTEM_CONTEXT | SystemContext, |
IN CHAR8 * | PacketData | ||
) |
Continue. addr is Address to resume. If addr is omitted, resume at current Address.
SystemContext | Register content at time of the exception |
Definition at line 444 of file Processor.c.
UINTN * FindPointerToRegister | ( | IN EFI_SYSTEM_CONTEXT | SystemContext, |
IN UINTN | RegNumber | ||
) |
This takes in the register number and the System Context, and returns a pointer to the RegNumber-th register in gdb ordering It is, by default, set to find the register pointer of the ARM member
SystemContext | Register content at time of the exception |
RegNumber | The register to which we want to find a pointer |
the | pointer to the RegNumber-th pointer |
Definition at line 124 of file Processor.c.
UINTN GetBreakpointDataAddress | ( | IN EFI_SYSTEM_CONTEXT | SystemContext, |
IN UINTN | BreakpointNumber | ||
) |
Definition at line 471 of file Processor.c.
UINTN GetBreakpointDetected | ( | IN EFI_SYSTEM_CONTEXT | SystemContext | ) |
Definition at line 480 of file Processor.c.
BREAK_TYPE GetBreakpointType | ( | IN EFI_SYSTEM_CONTEXT | SystemContext, |
IN UINTN | BreakpointNumber | ||
) |
Definition at line 488 of file Processor.c.
VOID InitializeProcessor | ( | VOID | ) |
Definition at line 640 of file Processor.c.
VOID EFIAPI InsertBreakPoint | ( | IN EFI_SYSTEM_CONTEXT | SystemContext, |
IN CHAR8 * | PacketData | ||
) |
‘Z1, [addr], [length]’ ‘Z2, [addr], [length]’ ‘Z3, [addr], [length]’ ‘Z4, [addr], [length]’
Insert hardware breakpoint/watchpoint at address addr of size length
SystemContext | Register content at time of the exception |
*PacketData | Pointer to the Payload data for the packet |
Definition at line 575 of file Processor.c.
UINTN MaxEfiException | ( | VOID | ) |
Return the number of entries in the gExceptionType[]
UINTN,the | number of entries in the gExceptionType[] array. |
Definition at line 77 of file Processor.c.
UINTN MaxRegisterCount | ( | VOID | ) |
Return the number of entries in the gRegisters[]
UINTN,the | number of entries (registers) in the gRegisters[] array. |
Definition at line 90 of file Processor.c.
VOID EFIAPI ReadGeneralRegisters | ( | IN EFI_SYSTEM_CONTEXT | SystemContext | ) |
Reads the general registers into an output buffer and sends it as a packet
SystemContext | Register content at time of the exception |
Definition at line 216 of file Processor.c.
VOID ReadNthRegister | ( | IN EFI_SYSTEM_CONTEXT | SystemContext, |
IN CHAR8 * | InBuffer | ||
) |
Reads the n-th register's value into an output buffer and sends it as a packet
SystemContext | Register content at time of the exception |
InBuffer | Pointer to the input buffer received from gdb server |
Definition at line 187 of file Processor.c.
VOID EFIAPI RemoveBreakPoint | ( | IN EFI_SYSTEM_CONTEXT | SystemContext, |
IN CHAR8 * | PacketData | ||
) |
‘z1, [addr], [length]’ ‘z2, [addr], [length]’ ‘z3, [addr], [length]’ ‘z4, [addr], [length]’
Remove hardware breakpoint/watchpoint at address addr of size length
SystemContext | Register content at time of the exception |
*PacketData | Pointer to the Payload data for the packet |
Definition at line 608 of file Processor.c.
VOID RemoveSingleStep | ( | IN EFI_SYSTEM_CONTEXT | SystemContext | ) |
Remove Single Step in the SystemContext
SystemContext | Register content at time of the exception |
Definition at line 417 of file Processor.c.
ARM_SOFTWARE_BREAKPOINT * SearchBreakpointList | ( | IN UINT32 | Address | ) |
Definition at line 497 of file Processor.c.
VOID SetBreakpoint | ( | IN UINT32 | Address | ) |
Definition at line 519 of file Processor.c.
VOID EFIAPI SingleStep | ( | IN EFI_SYSTEM_CONTEXT | SystemContext, |
IN CHAR8 * | PacketData | ||
) |
‘s [addr ]’ Single step. addr is the Address at which to resume. If addr is omitted, resume at same Address.
SystemContext | Register content at time of the exception |
Definition at line 462 of file Processor.c.
BOOLEAN ValidateAddress | ( | IN VOID * | Address | ) |
Definition at line 649 of file Processor.c.
BOOLEAN ValidateException | ( | IN EFI_EXCEPTION_TYPE | ExceptionType, |
IN OUT EFI_SYSTEM_CONTEXT | SystemContext | ||
) |
Definition at line 661 of file Processor.c.
VOID EFIAPI WriteGeneralRegisters | ( | IN EFI_SYSTEM_CONTEXT | SystemContext, |
IN CHAR8 * | InBuffer | ||
) |
‘G XX...’ Writes the new values received into the input buffer to the general registers
SystemContext | Register content at time of the exception |
InBuffer | Pointer to the input buffer received from gdb server |
pointer to the input buffer
Definition at line 330 of file Processor.c.
VOID WriteNthRegister | ( | IN EFI_SYSTEM_CONTEXT | SystemContext, |
IN CHAR8 * | InBuffer | ||
) |
‘P n...=r...’ Writes the new value of n-th register received into the input buffer to the n-th register
SystemContext | Register content at time of the exception |
InBuffer | Pointer to the input buffer received from gdb server |
Definition at line 292 of file Processor.c.
LIST_ENTRY BreakpointList |
Definition at line 378 of file Processor.c.
EFI_EXCEPTION_TYPE_ENTRY gExceptionType[] |
Definition at line 18 of file Processor.c.
UINTN gRegisterOffsets[] |
Definition at line 26 of file Processor.c.
BOOLEAN mSingleStepActive = FALSE |
Definition at line 363 of file Processor.c.
UINT32 mSingleStepData |
Definition at line 365 of file Processor.c.
UINTN mSingleStepDataSize |
Definition at line 366 of file Processor.c.
UINT32 mSingleStepPC |
Definition at line 364 of file Processor.c.