OpenOCD
breakpoints.c File Reference
Include dependency graph for breakpoints.c:

Go to the source code of this file.

Enumerations

enum  breakpoint_watchpoint { BREAKPOINT , WATCHPOINT }
 

Functions

int breakpoint_add (struct target *target, target_addr_t address, unsigned int length, enum breakpoint_type type)
 
static int breakpoint_add_internal (struct target *target, target_addr_t address, unsigned int length, enum breakpoint_type type)
 
int breakpoint_clear_target (struct target *target)
 
struct breakpointbreakpoint_find (struct target *target, target_addr_t address)
 
static int breakpoint_free (struct target *target, struct breakpoint *breakpoint_to_remove)
 
int breakpoint_remove (struct target *target, target_addr_t address)
 
int breakpoint_remove_all (struct target *target)
 
static int breakpoint_remove_all_internal (struct target *target)
 
static int breakpoint_remove_internal (struct target *target, target_addr_t address)
 
static int breakpoint_watchpoint_remove_all (struct target *target, enum breakpoint_watchpoint bp_wp)
 
int context_breakpoint_add (struct target *target, uint32_t asid, unsigned int length, enum breakpoint_type type)
 
static int context_breakpoint_add_internal (struct target *target, uint32_t asid, unsigned int length, enum breakpoint_type type)
 
int hybrid_breakpoint_add (struct target *target, target_addr_t address, uint32_t asid, unsigned int length, enum breakpoint_type type)
 
static int hybrid_breakpoint_add_internal (struct target *target, target_addr_t address, uint32_t asid, unsigned int length, enum breakpoint_type type)
 
int watchpoint_add (struct target *target, target_addr_t address, unsigned int length, enum watchpoint_rw rw, uint64_t value, uint64_t mask)
 
static int watchpoint_add_internal (struct target *target, target_addr_t address, unsigned int length, enum watchpoint_rw rw, uint32_t value, uint32_t mask)
 
int watchpoint_clear_target (struct target *target)
 
static int watchpoint_free (struct target *target, struct watchpoint *watchpoint_to_remove)
 
int watchpoint_hit (struct target *target, enum watchpoint_rw *rw, target_addr_t *address)
 
int watchpoint_remove (struct target *target, target_addr_t address)
 
int watchpoint_remove_all (struct target *target)
 
static int watchpoint_remove_all_internal (struct target *target)
 
static int watchpoint_remove_internal (struct target *target, target_addr_t address)
 

Variables

static int bpwp_unique_id
 
static const char *const breakpoint_type_strings []
 
static const char *const watchpoint_rw_strings []
 

Enumeration Type Documentation

◆ breakpoint_watchpoint

Enumerator
BREAKPOINT 
WATCHPOINT 

Definition at line 20 of file breakpoints.c.

Function Documentation

◆ breakpoint_add()

◆ breakpoint_add_internal()

◆ breakpoint_clear_target()

int breakpoint_clear_target ( struct target target)

◆ breakpoint_find()

◆ breakpoint_free()

static int breakpoint_free ( struct target target,
struct breakpoint breakpoint_to_remove 
)
static

◆ breakpoint_remove()

◆ breakpoint_remove_all()

int breakpoint_remove_all ( struct target target)

Definition at line 458 of file breakpoints.c.

References BREAKPOINT, and breakpoint_watchpoint_remove_all().

Referenced by COMMAND_HANDLER(), and target_destroy().

◆ breakpoint_remove_all_internal()

static int breakpoint_remove_all_internal ( struct target target)
static

◆ breakpoint_remove_internal()

static int breakpoint_remove_internal ( struct target target,
target_addr_t  address 
)
static

◆ breakpoint_watchpoint_remove_all()

static int breakpoint_watchpoint_remove_all ( struct target target,
enum breakpoint_watchpoint  bp_wp 
)
static

◆ context_breakpoint_add()

int context_breakpoint_add ( struct target target,
uint32_t  asid,
unsigned int  length,
enum breakpoint_type  type 
)

◆ context_breakpoint_add_internal()

static int context_breakpoint_add_internal ( struct target target,
uint32_t  asid,
unsigned int  length,
enum breakpoint_type  type 
)
static

◆ hybrid_breakpoint_add()

int hybrid_breakpoint_add ( struct target target,
target_addr_t  address,
uint32_t  asid,
unsigned int  length,
enum breakpoint_type  type 
)

◆ hybrid_breakpoint_add_internal()

static int hybrid_breakpoint_add_internal ( struct target target,
target_addr_t  address,
uint32_t  asid,
unsigned int  length,
enum breakpoint_type  type 
)
static

◆ watchpoint_add()

int watchpoint_add ( struct target target,
target_addr_t  address,
unsigned int  length,
enum watchpoint_rw  rw,
uint64_t  value,
uint64_t  mask 
)

◆ watchpoint_add_internal()

◆ watchpoint_clear_target()

int watchpoint_clear_target ( struct target target)

◆ watchpoint_free()

static int watchpoint_free ( struct target target,
struct watchpoint watchpoint_to_remove 
)
static

◆ watchpoint_hit()

int watchpoint_hit ( struct target target,
enum watchpoint_rw rw,
target_addr_t address 
)

◆ watchpoint_remove()

◆ watchpoint_remove_all()

int watchpoint_remove_all ( struct target target)

Definition at line 463 of file breakpoints.c.

References breakpoint_watchpoint_remove_all(), and WATCHPOINT.

Referenced by COMMAND_HANDLER(), and target_destroy().

◆ watchpoint_remove_all_internal()

static int watchpoint_remove_all_internal ( struct target target)
static

◆ watchpoint_remove_internal()

static int watchpoint_remove_internal ( struct target target,
target_addr_t  address 
)
static

Variable Documentation

◆ bpwp_unique_id

◆ breakpoint_type_strings

const char* const breakpoint_type_strings[]
static
Initial value:
= {
"hardware",
"software"
}

Definition at line 25 of file breakpoints.c.

Referenced by breakpoint_add_internal(), context_breakpoint_add_internal(), and hybrid_breakpoint_add_internal().

◆ watchpoint_rw_strings

const char* const watchpoint_rw_strings[]
static
Initial value:
= {
"read",
"write",
"access"
}

Definition at line 30 of file breakpoints.c.

Referenced by watchpoint_add_internal().