GDBserver
Loading...
Searching...
No Matches
Classes | Macros | Functions | Variables
x86-dregs.h File Reference
#include "gdbsupport/break-common.h"

Go to the source code of this file.

Classes

struct  x86_dr_low_type
 
struct  x86_debug_reg_state
 

Macros

#define DR_FIRSTADDR   0
 
#define DR_LASTADDR   3
 
#define DR_NADDR   4 /* The number of debug address registers. */
 
#define DR_STATUS   6 /* Index of debug status register (DR6). */
 
#define DR_CONTROL   7 /* Index of debug control register (DR7). */
 
#define ALL_DEBUG_ADDRESS_REGISTERS(i)    for (i = DR_FIRSTADDR; i <= DR_LASTADDR; i++)
 

Functions

struct x86_debug_reg_state * x86_debug_reg_state (pid_t pid)
 
int x86_dr_insert_watchpoint (struct x86_debug_reg_state *state, enum target_hw_bp_type type, CORE_ADDR addr, int len)
 
int x86_dr_remove_watchpoint (struct x86_debug_reg_state *state, enum target_hw_bp_type type, CORE_ADDR addr, int len)
 
int x86_dr_region_ok_for_watchpoint (struct x86_debug_reg_state *state, CORE_ADDR addr, int len)
 
int x86_dr_stopped_data_address (struct x86_debug_reg_state *state, CORE_ADDR *addr_p)
 
int x86_dr_stopped_by_watchpoint (struct x86_debug_reg_state *state)
 
int x86_dr_stopped_by_hw_breakpoint (struct x86_debug_reg_state *state)
 

Variables

struct x86_dr_low_type x86_dr_low
 

Macro Definition Documentation

◆ ALL_DEBUG_ADDRESS_REGISTERS

#define ALL_DEBUG_ADDRESS_REGISTERS ( i)     for (i = DR_FIRSTADDR; i <= DR_LASTADDR; i++)

◆ DR_CONTROL

#define DR_CONTROL   7 /* Index of debug control register (DR7). */

Definition at line 74 of file x86-dregs.h.

Referenced by x86_linux_dr_get_control(), and x86_linux_update_debug_registers().

◆ DR_FIRSTADDR

#define DR_FIRSTADDR   0

Definition at line 70 of file x86-dregs.h.

Referenced by x86_linux_dr_get_addr(), and x86_linux_dr_set_addr().

◆ DR_LASTADDR

#define DR_LASTADDR   3

Definition at line 71 of file x86-dregs.h.

Referenced by x86_linux_dr_get_addr(), and x86_linux_dr_set_addr().

◆ DR_NADDR

#define DR_NADDR   4 /* The number of debug address registers. */

Definition at line 72 of file x86-dregs.h.

Referenced by x86_dr_region_ok_for_watchpoint(), and x86_insert_aligned_watchpoint().

◆ DR_STATUS

#define DR_STATUS   6 /* Index of debug status register (DR6). */

Definition at line 73 of file x86-dregs.h.

Referenced by x86_linux_dr_get_status(), and x86_linux_update_debug_registers().

Function Documentation

◆ x86_debug_reg_state()

struct x86_debug_reg_state * x86_debug_reg_state ( pid_t pid)
extern

◆ x86_dr_insert_watchpoint()

int x86_dr_insert_watchpoint ( struct x86_debug_reg_state * state,
enum target_hw_bp_type type,
CORE_ADDR addr,
int len )
extern

◆ x86_dr_region_ok_for_watchpoint()

int x86_dr_region_ok_for_watchpoint ( struct x86_debug_reg_state * state,
CORE_ADDR addr,
int len )
extern

Definition at line 586 of file x86-dregs.c.

References DR_NADDR, WP_COUNT, and x86_handle_nonaligned_watchpoint().

◆ x86_dr_remove_watchpoint()

int x86_dr_remove_watchpoint ( struct x86_debug_reg_state * state,
enum target_hw_bp_type type,
CORE_ADDR addr,
int len )
extern

◆ x86_dr_stopped_by_hw_breakpoint()

int x86_dr_stopped_by_hw_breakpoint ( struct x86_debug_reg_state * state)
extern

◆ x86_dr_stopped_by_watchpoint()

int x86_dr_stopped_by_watchpoint ( struct x86_debug_reg_state * state)
extern

Definition at line 683 of file x86-dregs.c.

References x86_dr_stopped_data_address().

◆ x86_dr_stopped_data_address()

int x86_dr_stopped_data_address ( struct x86_debug_reg_state * state,
CORE_ADDR * addr_p )
extern

Variable Documentation

◆ x86_dr_low

struct x86_dr_low_type x86_dr_low
extern