KallistiOS git master
Independent SDK for the Sega Dreamcast
Loading...
Searching...
No Matches
ubc.h File Reference

User Break Controller Driver. More...

#include <kos/cdefs.h>
#include <stdbool.h>
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  ubc_breakpoint_t
 UBC breakpoint structure. More...
 

Typedefs

typedef bool(* ubc_break_func_t) (const ubc_breakpoint_t *bp, const struct irq_context *ctx, void *user_data)
 Breakpoint user callback.
 

Enumerations

enum  ubc_address_mask_t {
  ubc_address_mask_none , ubc_address_mask_10 , ubc_address_mask_12 , ubc_address_mask_16 ,
  ubc_address_mask_20 , ubc_address_mask_all
}
 UBC address mask specifier. More...
 
enum  ubc_access_t { ubc_access_either , ubc_access_instruction , ubc_access_operand }
 UBC access condition type specifier. More...
 
enum  ubc_rw_t { ubc_rw_either , ubc_rw_read , ubc_rw_write }
 UBC read/write condition type specifier. More...
 
enum  ubc_size_t {
  ubc_size_any , ubc_size_8bit , ubc_size_16bit , ubc_size_32bit ,
  ubc_size_64bit
}
 UBC size condition type specifier. More...
 

Functions

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.
 
void ubc_clear_breakpoints (void)
 Disables all active breakpoints.
 

Detailed Description

User Break Controller Driver.

This file provides a driver and API around the SH4's UBC.

See also
arch/gdb.h
Todo
Add support for using the DBR register as the breakpoint handler.
Author
Falco Girgis