Barrelfish
|
x86-specific parts of in-kernel GDB stub. More...
Enumerations |
Functions | |
void | gdb_handle_exception_onstack (int vector, uintptr_t *NONNULL COUNT(NUM_REGS) save_area) |
Entry point for an exception; we are now on our own stack. More... | |
int | gdb_arch_get_register (int regnum, uintptr_t *value) |
Get the value of a single register in the frame. More... | |
int | gdb_arch_set_register (int regnum, uintptr_t value) |
Set the value of a single register in the frame. More... | |
void | gdb_resume (void) |
Resume execution. More... | |
void | gdb_arch_continue (lvaddr_t addr) |
Resume program execution. More... | |
void | gdb_arch_single_step (lvaddr_t addr) |
Single-step program execution. More... | |
int | gdb_arch_write_byte (uint8_t *addr, uint8_t val) |
Writes a byte to an arbitrary address in kernel memory. More... | |
int | gdb_arch_read_byte (uint8_t *addr, uint8_t *val) |
Reads a byte from an arbitrary address in kernel memory. More... | |
x86-specific parts of in-kernel GDB stub.
This file implements x86 architecture support for the kernel-side GDB stubs.
enum x86_32_register_nums |
X86_32 register set.
As defined by GDB.
void gdb_arch_continue | ( | lvaddr_t | addr | ) |
Resume program execution.
addr | Address to resume at, or 0 to continue at last address. |
int gdb_arch_get_register | ( | int | regnum, |
uintptr_t * | value | ||
) |
Get the value of a single register in the frame.
regnum | register number (as defined by the #gdb_register_nums enum) |
value | pointer to location in which to return current value |
int gdb_arch_read_byte | ( | uint8_t * | addr, |
uint8_t * | val | ||
) |
Reads a byte from an arbitrary address in kernel memory.
int gdb_arch_set_register | ( | int | regnum, |
uintptr_t | value | ||
) |
Set the value of a single register in the frame.
regnum | register number (as defined by the #gdb_register_nums enum) |
value | new value |
void gdb_arch_single_step | ( | lvaddr_t | addr | ) |
Single-step program execution.
addr | Address to resume at, or 0 to continue at last address. |
int gdb_arch_write_byte | ( | uint8_t * | addr, |
uint8_t | val | ||
) |
Writes a byte to an arbitrary address in kernel memory.
void gdb_handle_exception_onstack | ( | int | vector, |
uintptr_t *NONNULL COUNT(NUM_REGS) | save_area | ||
) |
Entry point for an exception; we are now on our own stack.
This function sets up the GDB-format register save frame, constructs the initial message to the remote GDB and calls into the generic debugger entry point.
void gdb_resume | ( | void | ) |
Resume execution.
Resumes execution with the CPU state stored in the gdb_arch_registers frame.