70typedef enum ubc_address_mask {
90typedef enum ubc_access {
114typedef enum ubc_size {
138typedef struct ubc_breakpoint {
346void ubc_shutdown(
void);
static struct @69 data[BARRIER_COUNT]
Various common macros used throughout the codebase.
void ubc_clear_breakpoints(void)
Disables all active breakpoints.
bool(* ubc_break_func_t)(const ubc_breakpoint_t *bp, const irq_context_t *ctx, void *user_data)
Breakpoint user callback.
Definition ubc.h:297
ubc_access_t
UBC access condition type specifier.
Definition ubc.h:90
ubc_rw_t
UBC read/write condition type specifier.
Definition ubc.h:102
bool ubc_add_breakpoint(const ubc_breakpoint_t *bp, ubc_break_func_t callback, void *user_data)
Enables a breakpoint.
bool ubc_remove_breakpoint(const ubc_breakpoint_t *bp)
Disables a breakpoint.
ubc_size_t
UBC size condition type specifier.
Definition ubc.h:114
ubc_address_mask_t
UBC address mask specifier.
Definition ubc.h:70
@ ubc_access_instruction
Instruction.
Definition ubc.h:92
@ ubc_access_operand
Operand.
Definition ubc.h:93
@ ubc_access_either
Instruction or operand.
Definition ubc.h:91
@ ubc_rw_either
Read or write.
Definition ubc.h:103
@ ubc_rw_read
Read-only.
Definition ubc.h:104
@ ubc_rw_write
Write-only.
Definition ubc.h:105
@ ubc_size_64bit
Quadword sizes.
Definition ubc.h:119
@ ubc_size_16bit
Word sizes.
Definition ubc.h:117
@ ubc_size_8bit
Byte sizes.
Definition ubc.h:116
@ ubc_size_32bit
Longword sizes.
Definition ubc.h:118
@ ubc_size_any
Any sizes.
Definition ubc.h:115
@ ubc_address_mask_12
Mask off low 12 bits.
Definition ubc.h:73
@ ubc_address_mask_16
Mask off low 16 bits.
Definition ubc.h:74
@ ubc_address_mask_all
Mask off all bits.
Definition ubc.h:76
@ ubc_address_mask_10
Mask off low 10 bits.
Definition ubc.h:72
@ ubc_address_mask_20
Mask off low 20 bits.
Definition ubc.h:75
@ ubc_address_mask_none
Disable masking, all bits used.
Definition ubc.h:71
struct irq_context irq_context_t
Architecture-specific structure for holding the processor state.
Definition irq.h:43
UBC breakpoint structure.
Definition ubc.h:138
struct ubc_breakpoint * next
Next breakpoint in the sequence.
Definition ubc.h:278
ubc_size_t size
Size condition.
Definition ubc.h:197
ubc_access_t access
Access type.
Definition ubc.h:159
bool break_before
Break before instruction execution.
Definition ubc.h:178
bool enabled
Enables data value comparisons.
Definition ubc.h:213
ubc_address_mask_t address_mask
Address mask.
Definition ubc.h:153
void * address
Target address.
Definition ubc.h:143
uint32_t value
Data value for operand accesses.
Definition ubc.h:225
ubc_rw_t rw
Read/write condition.
Definition ubc.h:191
uint32_t mask
Exclusion mask for data value comparison.
Definition ubc.h:235
uint8_t value
ASID value.
Definition ubc.h:257