|
pspsdk-1.0+beta2
|
Data Structures | |
| struct | _PspDebugRegBlock |
| Structure to hold the register data associated with an exception. More... | |
| struct | _PspDebugStackTrace |
| Structure to hold a single stack trace entry. More... | |
| struct | _PspDebugProfilerRegs |
| Structure to hold the psp profiler register values. More... | |
Typedefs | |
| typedef struct _PspDebugRegBlock | PspDebugRegBlock |
| Structure to hold the register data associated with an exception. | |
| typedef void(* | PspDebugErrorHandler )(PspDebugRegBlock *regs) |
| Defines a debug error handler. | |
| typedef int(* | PspDebugKprintfHandler )(const char *format, u32 *args) |
| Type for Kprintf handler. | |
| typedef struct _PspDebugStackTrace | PspDebugStackTrace |
| Structure to hold a single stack trace entry. | |
| typedef struct _PspDebugProfilerRegs | PspDebugProfilerRegs |
| Structure to hold the psp profiler register values. | |
| typedef int(* | PspDebugPrintHandler )(const char *data, int len) |
| Type for the debug print handlers. | |
| typedef int(* | PspDebugInputHandler )(char *data, int len) |
| Type for the debug input handler. | |
Functions | |
| void | pspDebugScreenInit (void) |
| Initialise the debug screen. | |
| void | pspDebugScreenInitEx (void *vram_base, int mode, int setup) |
| Extended debug screen init. | |
| void | pspDebugScreenPrintf (const char *fmt,...) __attribute__((format(printf |
| Do a printf to the debug screen. | |
| void void | pspDebugScreenKprintf (const char *format,...) __attribute__((format(printf |
| Do a printf to the debug screen. | |
| void void void | pspDebugScreenEnableBackColor (int enable) |
| Enable or disable background colour writing (defaults to enabled) | |
| void | pspDebugScreenSetBackColor (u32 color) |
| Set the background color for the text. | |
| void | pspDebugScreenSetTextColor (u32 color) |
| Set the text color. | |
| void | pspDebugScreenSetColorMode (int mode) |
| Set the color mode (you must have switched the frame buffer appropriately) | |
| void | pspDebugScreenPutChar (int x, int y, u32 color, u8 ch) |
| Draw a single character to the screen. | |
| void | pspDebugScreenSetXY (int x, int y) |
| Set the current X and Y co-ordinate for the screen (in character units) | |
| void | pspDebugScreenSetOffset (int offset) |
| Set the video ram offset used for the screen. | |
| void | pspDebugScreenSetBase (u32 *base) |
| Set the video ram base used for the screen. | |
| void | pspDebugScreenSetMaxX (unsigned int maxx) |
| Set the X maximum coordinate (in character units) | |
| void | pspDebugScreenSetMaxY (unsigned int maxy) |
| Set the Y maximum coordinate (in character units) | |
| int | pspDebugScreenGetX (void) |
| Get the current X co-ordinate (in character units) | |
| int | pspDebugScreenGetY (void) |
| Get the current Y co-ordinate (in character units) | |
| void | pspDebugScreenClear (void) |
| Clear the debug screen. | |
| int | pspDebugScreenPrintData (const char *buff, int size) |
| Print non-nul terminated strings. | |
| int | pspDebugScreenPuts (const char *str) |
| Print a string. | |
| int | pspDebugGetStackTrace (unsigned int *results, int max) |
| Get a MIPS stack trace (might work :P) | |
| void | pspDebugScreenClearLineEnable (void) |
| Enable the clear line function that allows debug to clear the screen. | |
| void | pspDebugScreenClearLineDisable (void) |
| Disable the clear line function that causes flicker on constant refreshes. | |
| int | pspDebugInstallErrorHandler (PspDebugErrorHandler handler) |
| Install an error handler to catch unhandled exceptions. | |
| void | pspDebugDumpException (PspDebugRegBlock *regs) |
| Dump an exception to screen using the pspDebugScreen functions. | |
| int | pspDebugInstallKprintfHandler (PspDebugKprintfHandler handler) |
| Install a Kprintf handler into the system. | |
| int | pspDebugGetStackTrace2 (PspDebugRegBlock *regs, PspDebugStackTrace *trace, int max) |
| Do a stack trace from the current exception. | |
| void | pspDebugProfilerEnable (void) |
| Enables the profiler hardware. | |
| void | pspDebugProfilerDisable (void) |
| Disables the profiler hardware. | |
| void | pspDebugProfilerClear (void) |
| Clear the profiler registers. | |
| void | pspDebugProfilerGetRegs (PspDebugProfilerRegs *regs) |
| Get the profiler register state. | |
| void | pspDebugProfilerPrint (void) |
| Print the profiler registers to screen. | |
| int | pspDebugInstallStdinHandler (PspDebugInputHandler handler) |
| Install a handler for stdin (so you can use normal stdio functions) | |
| int | pspDebugInstallStdoutHandler (PspDebugPrintHandler handler) |
| Install a print handler for stdout (so you can use normal print functions) | |
| int | pspDebugInstallStderrHandler (PspDebugPrintHandler handler) |
| Install a print handler for stderr (so you can use normal print functions) | |
| void | pspDebugSioPutchar (int ch) |
| Put a character to the remote sio. | |
| int | pspDebugSioGetchar (void) |
| Get a character from the remote sio. | |
| void | pspDebugSioPuts (const char *str) |
| Write a string to the sio port. | |
| int | pspDebugSioPutData (const char *data, int len) |
| Write a set of data to the sio port. | |
| int | pspDebugSioPutText (const char *data, int len) |
| Write a set of data to the sio port converting single line feeds to CRLF and single CR to CRLF. | |
| void | pspDebugSioInit (void) |
| Initialise the remote SIO port (defaults to 4800 8N1). | |
| void | pspDebugSioSetBaud (int baud) |
| Set the baud rate of the SIO, e.g. | |
| void | pspDebugEnablePutchar (void) |
| Enable debug character output. | |
| void | pspDebugSioInstallKprintf (void) |
| Install a kprintf debug putchar handler. | |
| void | pspDebugGdbStubInit (void) |
| Install the gdb stub handler. | |
| void | pspDebugBreakpoint (void) |
| Generate a breakpoint exception. | |
| void | pspDebugSioEnableKprintf (void) |
| Enable the kprintf handler (once installed) | |
| void | pspDebugSioDisableKprintf (void) |
| Disable the kprintf handler (once installed) | |
| typedef void(* PspDebugErrorHandler)(PspDebugRegBlock *regs) |
Defines a debug error handler.
| typedef int(* PspDebugInputHandler)(char *data, int len) |
Type for the debug input handler.
| typedef int(* PspDebugKprintfHandler)(const char *format, u32 *args) |
Type for Kprintf handler.
| typedef int(* PspDebugPrintHandler)(const char *data, int len) |
Type for the debug print handlers.
| typedef struct _PspDebugProfilerRegs PspDebugProfilerRegs |
Structure to hold the psp profiler register values.
| typedef struct _PspDebugRegBlock PspDebugRegBlock |
Structure to hold the register data associated with an exception.
| typedef struct _PspDebugStackTrace PspDebugStackTrace |
Structure to hold a single stack trace entry.
| void pspDebugBreakpoint | ( | void | ) |
Generate a breakpoint exception.
| void pspDebugDumpException | ( | PspDebugRegBlock * | regs | ) |
Dump an exception to screen using the pspDebugScreen functions.
| regs | - Pointer to a register block. |
References _PspDebugRegBlock::badvaddr, _PspDebugRegBlock::cause, _PspDebugRegBlock::epc, i, pspDebugScreenPrintf(), _PspDebugRegBlock::r, sceDisplayWaitVblankStart(), and _PspDebugRegBlock::status.
| void pspDebugEnablePutchar | ( | void | ) |
Enable debug character output.
Needs to be called in order for the default Kprintf handler to work.
Referenced by pspDebugSioInstallKprintf().
| void pspDebugGdbStubInit | ( | void | ) |
Install the gdb stub handler.
References _gdbSupportLibInit(), memset(), pspDebugInstallErrorHandler(), pspDebugInstallStderrHandler(), and pspDebugInstallStdoutHandler().
| int pspDebugGetStackTrace | ( | unsigned int * | results, |
| int | max | ||
| ) |
Get a MIPS stack trace (might work :P)
| results | - List of points to store the results of the trace, (up to max) |
| max | - Maximum number of back traces |
References ADJUST_STACKP_C, ADJUST_STACKP_C_MASK, ADJUST_STACKP_V, ADJUST_STACKP_V_MASK, CALL, FALSE, HASH, main(), OR_LOWER_C, OR_LOWER_C_MASK, pspGetReturnAddress(), pspGetStackPointer(), ra, _returnCache::raOffset, RESTORE_RETURNVAL, RESTORE_RETURNVAL2, RESTORE_RETURNVAL3, RESTORE_RETURNVAL_MASK, RETURN, _returnCache::returnAddress, SET_LOWER_C, SET_LOWER_C_MASK, SET_UPPER_C, SET_UPPER_C_MASK, sp, _returnCache::spAdjust, and TRUE.
| int pspDebugGetStackTrace2 | ( | PspDebugRegBlock * | regs, |
| PspDebugStackTrace * | trace, | ||
| int | max | ||
| ) |
Do a stack trace from the current exception.
| regs | - Pointer to a register block from an exception. |
| trace | - Pointer to an array of PspDebugStackTrace structures. |
| max | - The maximum number of traces to make. |
References count, memset(), NULL, _PspDebugRegBlock::r, sceKernelGetThreadId(), sceKernelReferThreadStatus(), SceKernelThreadInfo::size, SceKernelThreadInfo::stack, and SceKernelThreadInfo::stackSize.
| int pspDebugInstallErrorHandler | ( | PspDebugErrorHandler | handler | ) |
Install an error handler to catch unhandled exceptions.
| handler | - Pointer to a handler function. If set to NULL it will default to resetting the screen and dumping the error. |
References _pspDebugExceptionHandler(), and sceKernelRegisterDefaultExceptionHandler().
Referenced by pspDebugGdbStubInit().
| int pspDebugInstallKprintfHandler | ( | PspDebugKprintfHandler | handler | ) |
Install a Kprintf handler into the system.
| handler | - Function pointer to the handler. |
References NULL, and sceKernelRegisterKprintfHandler().
| int pspDebugInstallStderrHandler | ( | PspDebugPrintHandler | handler | ) |
Install a print handler for stderr (so you can use normal print functions)
| handler | - A pointer to print handler, NULL to disable. |
References g_initialised.
Referenced by pspDebugGdbStubInit().
| int pspDebugInstallStdinHandler | ( | PspDebugInputHandler | handler | ) |
Install a handler for stdin (so you can use normal stdio functions)
| handler | - A pointer to input handler, NULL to disable. |
References g_initialised.
| int pspDebugInstallStdoutHandler | ( | PspDebugPrintHandler | handler | ) |
Install a print handler for stdout (so you can use normal print functions)
| handler | - A pointer to print handler, NULL to disable. |
References g_initialised.
Referenced by pspDebugGdbStubInit().
| void pspDebugProfilerClear | ( | void | ) |
Clear the profiler registers.
References i, PROFILER_REG_BASE, and PROFILER_REG_COUNT.
| void pspDebugProfilerDisable | ( | void | ) |
Disables the profiler hardware.
References PROFILER_REG_BASE.
| void pspDebugProfilerEnable | ( | void | ) |
Enables the profiler hardware.
References PROFILER_REG_BASE.
| void pspDebugProfilerGetRegs | ( | PspDebugProfilerRegs * | regs | ) |
Get the profiler register state.
| regs | - A pointer to a PspDebugProfilerRegs structure. |
References i, NULL, PROFILER_REG_BASE, and PROFILER_REG_COUNT.
Referenced by pspDebugProfilerPrint().
| void pspDebugProfilerPrint | ( | void | ) |
Print the profiler registers to screen.
References _PspDebugProfilerRegs::bus_access, _PspDebugProfilerRegs::cached_load, _PspDebugProfilerRegs::cached_store, _PspDebugProfilerRegs::cop0_inst, _PspDebugProfilerRegs::copz, _PspDebugProfilerRegs::cpuck, _PspDebugProfilerRegs::d_miss, _PspDebugProfilerRegs::d_writeback, _PspDebugProfilerRegs::enable, _PspDebugProfilerRegs::fpu_inst, _PspDebugProfilerRegs::i_miss, _PspDebugProfilerRegs::internal, _PspDebugProfilerRegs::local_bus, _PspDebugProfilerRegs::memory, pspDebugProfilerGetRegs(), pspDebugScreenPrintf(), _PspDebugProfilerRegs::sleep, _PspDebugProfilerRegs::systemck, _PspDebugProfilerRegs::uncached_load, _PspDebugProfilerRegs::uncached_store, _PspDebugProfilerRegs::vfpu, and _PspDebugProfilerRegs::vfpu_inst.
| void pspDebugScreenClear | ( | void | ) |
Clear the debug screen.
| void pspDebugScreenClearLineDisable | ( | void | ) |
Disable the clear line function that causes flicker on constant refreshes.
| void pspDebugScreenClearLineEnable | ( | void | ) |
Enable the clear line function that allows debug to clear the screen.
| void void void pspDebugScreenEnableBackColor | ( | int | enable | ) |
Enable or disable background colour writing (defaults to enabled)
| enable | - Set 1 to to enable background color, 0 for disable |
| int pspDebugScreenGetX | ( | void | ) |
Get the current X co-ordinate (in character units)
| int pspDebugScreenGetY | ( | void | ) |
Get the current Y co-ordinate (in character units)
| void pspDebugScreenInit | ( | void | ) |
Initialise the debug screen.
| void pspDebugScreenInitEx | ( | void * | vram_base, |
| int | mode, | ||
| int | setup | ||
| ) |
Extended debug screen init.
| vram_base | - Base address of frame buffer, if NULL then sets a default |
| mode | - Colour mode |
| setup | - Setup the screen if 1 |
| void void pspDebugScreenKprintf | ( | const char * | format, |
| ... | |||
| ) |
Do a printf to the debug screen.
| format | - Format string to print |
| ... | - Arguments |
| int pspDebugScreenPrintData | ( | const char * | buff, |
| int | size | ||
| ) |
Print non-nul terminated strings.
| buff | - Buffer containing the text. |
| size | - Size of the data |
| void pspDebugScreenPrintf | ( | const char * | fmt, |
| ... | |||
| ) |
Do a printf to the debug screen.
| fmt | - Format string to print |
| ... | - Arguments |
Referenced by pspDebugDumpException(), pspDebugKbClearBox(), pspDebugKbDrawBox(), pspDebugKbDrawKey(), pspDebugKbDrawString(), and pspDebugProfilerPrint().
Draw a single character to the screen.
| x | - The x co-ordinate to draw to (pixel units) |
| y | - The y co-ordinate to draw to (pixel units) |
| color | - The text color to draw |
| ch | - The character to draw |
| int pspDebugScreenPuts | ( | const char * | str | ) |
Print a string.
| str | - String |
| void pspDebugScreenSetBackColor | ( | u32 | color | ) |
Set the background color for the text.
| color | - A 32bit RGB colour |
Referenced by pspDebugKbClearBox(), pspDebugKbDrawBox(), pspDebugKbDrawKey(), and pspDebugKbDrawString().
| void pspDebugScreenSetBase | ( | u32 * | base | ) |
Set the video ram base used for the screen.
| base | - Base address in bytes |
| void pspDebugScreenSetColorMode | ( | int | mode | ) |
Set the color mode (you must have switched the frame buffer appropriately)
| mode | - Color mode |
| void pspDebugScreenSetMaxX | ( | unsigned int | maxx | ) |
Set the X maximum coordinate (in character units)
| maxx | - The X maximum coordinate |
| void pspDebugScreenSetMaxY | ( | unsigned int | maxy | ) |
Set the Y maximum coordinate (in character units)
| maxx | - The X maximum coordinate |
| void pspDebugScreenSetOffset | ( | int | offset | ) |
Set the video ram offset used for the screen.
| offset | - Offset in bytes |
| void pspDebugScreenSetTextColor | ( | u32 | color | ) |
Set the text color.
| color | - A 32 bit RGB color |
Referenced by pspDebugKbClearBox(), pspDebugKbDrawBox(), pspDebugKbDrawKey(), and pspDebugKbDrawString().
| void pspDebugScreenSetXY | ( | int | x, |
| int | y | ||
| ) |
Set the current X and Y co-ordinate for the screen (in character units)
Referenced by pspDebugKbClearBox(), pspDebugKbDrawBox(), pspDebugKbDrawKey(), and pspDebugKbDrawString().
| void pspDebugSioDisableKprintf | ( | void | ) |
Disable the kprintf handler (once installed)
| void pspDebugSioEnableKprintf | ( | void | ) |
Enable the kprintf handler (once installed)
| int pspDebugSioGetchar | ( | void | ) |
Get a character from the remote sio.
References PSP_UART4_FIFO, PSP_UART4_STAT, and PSP_UART_RXEMPTY.
Referenced by getDebugChar().
| void pspDebugSioInit | ( | void | ) |
Initialise the remote SIO port (defaults to 4800 8N1).
References sceHprmEnd(), sceKernelDelayThread(), sceSysconCtrlHRPower(), and sceSysregUartIoEnable().
| void pspDebugSioInstallKprintf | ( | void | ) |
Install a kprintf debug putchar handler.
Implicitly calls pspDebugEnablePutchar so you do not need to call it explicitly. Sio must be initialised before calling this function however.
References pspDebugEnablePutchar(), and sceKernelRegisterDebugPutchar().
| void pspDebugSioPutchar | ( | int | ch | ) |
Put a character to the remote sio.
| ch | - Character to write. |
References PSP_UART4_FIFO, PSP_UART4_STAT, and PSP_UART_TXFULL.
Referenced by pspDebugSioPutData(), pspDebugSioPuts(), pspDebugSioPutText(), and putDebugChar().
| int pspDebugSioPutData | ( | const char * | data, |
| int | len | ||
| ) |
Write a set of data to the sio port.
| data | - Pointer to the data to send. |
| len | - Length of the data. |
References i, and pspDebugSioPutchar().
| void pspDebugSioPuts | ( | const char * | str | ) |
| int pspDebugSioPutText | ( | const char * | data, |
| int | len | ||
| ) |
Write a set of data to the sio port converting single line feeds to CRLF and single CR to CRLF.
| data | - Pointer to the data to send. |
| len | - Length of the data. |
References i, and pspDebugSioPutchar().
| void pspDebugSioSetBaud | ( | int | baud | ) |
Set the baud rate of the SIO, e.g.
4800/9600..115200.
| baud | - The baudrate to set. |
References PSP_UART4_CTRL, PSP_UART4_DIV1, PSP_UART4_DIV2, and PSP_UART_CLK.