73typedef enum ubc_address_mask {
93typedef enum ubc_access {
117typedef enum ubc_size {
141typedef struct ubc_breakpoint {
301 const struct irq_context *ctx,
349void ubc_shutdown(
void);
Definitions for builtin attributes and compiler directives.
void ubc_clear_breakpoints(void)
Disables all active breakpoints.
bool(* ubc_break_func_t)(const ubc_breakpoint_t *bp, const struct irq_context *ctx, void *user_data)
Breakpoint user callback.
Definition ubc.h:300
ubc_access_t
UBC access condition type specifier.
Definition ubc.h:93
ubc_rw_t
UBC read/write condition type specifier.
Definition ubc.h:105
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:117
ubc_address_mask_t
UBC address mask specifier.
Definition ubc.h:73
@ ubc_access_instruction
Instruction.
Definition ubc.h:95
@ ubc_access_operand
Operand.
Definition ubc.h:96
@ ubc_access_either
Instruction or operand.
Definition ubc.h:94
@ ubc_rw_either
Read or write.
Definition ubc.h:106
@ ubc_rw_read
Read-only.
Definition ubc.h:107
@ ubc_rw_write
Write-only.
Definition ubc.h:108
@ ubc_size_64bit
Quadword sizes.
Definition ubc.h:122
@ ubc_size_16bit
Word sizes.
Definition ubc.h:120
@ ubc_size_8bit
Byte sizes.
Definition ubc.h:119
@ ubc_size_32bit
Longword sizes.
Definition ubc.h:121
@ ubc_size_any
Any sizes.
Definition ubc.h:118
@ ubc_address_mask_12
Mask off low 12 bits.
Definition ubc.h:76
@ ubc_address_mask_16
Mask off low 16 bits.
Definition ubc.h:77
@ ubc_address_mask_all
Mask off all bits.
Definition ubc.h:79
@ ubc_address_mask_10
Mask off low 10 bits.
Definition ubc.h:75
@ ubc_address_mask_20
Mask off low 20 bits.
Definition ubc.h:78
@ ubc_address_mask_none
Disable masking, all bits used.
Definition ubc.h:74
UBC breakpoint structure.
Definition ubc.h:141
struct ubc_breakpoint * next
Next breakpoint in the sequence.
Definition ubc.h:281
ubc_size_t size
Size condition.
Definition ubc.h:200
ubc_access_t access
Access type.
Definition ubc.h:162
bool break_before
Break before instruction execution.
Definition ubc.h:181
bool enabled
Enables data value comparisons.
Definition ubc.h:216
ubc_address_mask_t address_mask
Address mask.
Definition ubc.h:156
void * address
Target address.
Definition ubc.h:146
uint32_t value
Data value for operand accesses.
Definition ubc.h:228
ubc_rw_t rw
Read/write condition.
Definition ubc.h:194
uint32_t mask
Exclusion mask for data value comparison.
Definition ubc.h:238
uint8_t value
ASID value.
Definition ubc.h:260