SSBM Decomp
Loading...
Searching...
No Matches
dsp.h
Go to the documentation of this file.
1#ifndef __DOLPHIN_DSP_H_
2#define __DOLPHIN_DSP_H_
3
4#include <platform.h>
5
8#include <dolphin/os/OSTime.h>
9
10#define HW_REG(reg, type) *(volatile type*) (uintptr_t) (reg)
11extern volatile u16 __DSPRegs[] AT_ADDRESS(0xCC005000);
12
13typedef void (*DSPCallback)(void* task);
14
15typedef struct _DSPTaskInfo {
16 /*0x00*/ volatile u32 state;
17 /*0x04*/ volatile u32 priority;
18 /*0x08*/ volatile u32 flags;
20 /*0x10*/ u32 iram_length;
21 /*0x14*/ u32 iram_addr;
23 /*0x1C*/ u32 dram_length;
24 /*0x20*/ u32 dram_addr;
31 /*0x38*/ struct _DSPTaskInfo* next;
32 /*0x3C*/ struct _DSPTaskInfo* prev;
36
40void DSPSendMailToDSP(u32 mail);
41void DSPInit(void);
42bool DSPCheckInit(void);
43
44void __DSP_debug_printf(const char* fmt, ...);
45
52
53void DSPCancelTask(void);
55
56#endif
u32 intr
Definition OSInit.c:143
s16 __OSInterrupt
Definition OSInterrupt.h:108
s64 OSTime
Definition OSTime.h:6
DSPTaskInfo task
DSPTaskInfo * DSPAddTask(DSPTaskInfo *task)
Definition dsp.c:68
void __DSP_exec_task(DSPTaskInfo *, DSPTaskInfo *)
Definition dsp_task.c:164
u32 DSPCheckMailToDSP(void)
Definition dsp.c:12
void * DSPAssertTask(DSPTaskInfo *task)
Definition dsp.c:90
void __DSP_insert_task(DSPTaskInfo *task)
Definition dsp_task.c:316
void __DSP_boot_task(DSPTaskInfo *task)
Definition dsp_task.c:242
void(* DSPCallback)(void *task)
Definition dsp.h:13
bool DSPCheckInit(void)
Definition dsp.c:63
void DSPSendMailToDSP(u32 mail)
Definition dsp.c:27
void DSPInit(void)
Definition dsp.c:33
u32 DSPReadMailFromDSP(void)
Definition dsp.c:22
void __DSP_remove_task(DSPTaskInfo *task)
Definition dsp_task.c:350
void DSPCancelTask(void)
Definition dsp.c:83
void __DSP_debug_printf(const char *fmt,...)
Definition dsp_debug.c:3
void __DSPHandler(__OSInterrupt intr, OSContext *ctx)
Definition dsp_task.c:15
u32 DSPCheckMailFromDSP(void)
Definition dsp.c:17
unsigned long u32
An unsigned 32-bit integer.
Definition platform.h:26
unsigned short u16
An unsigned 16-bit integer.
Definition platform.h:23
#define AT_ADDRESS(x)
Definition platform.h:122
Definition dsp.h:15
DSPCallback done_cb
Definition dsp.h:29
u32 iram_length
Definition dsp.h:20
u16 dsp_resume_vector
Definition dsp.h:26
DSPCallback res_cb
Definition dsp.h:28
struct _DSPTaskInfo * prev
Definition dsp.h:32
u16 * iram_mmem_addr
Definition dsp.h:19
u32 dram_addr
Definition dsp.h:24
volatile u32 flags
Definition dsp.h:18
u16 dsp_init_vector
Definition dsp.h:25
OSTime t_context
Definition dsp.h:33
DSPCallback req_cb
Definition dsp.h:30
DSPCallback init_cb
Definition dsp.h:27
OSTime t_task
Definition dsp.h:34
struct _DSPTaskInfo * next
Definition dsp.h:31
volatile u32 priority
Definition dsp.h:17
u32 iram_addr
Definition dsp.h:21
u16 * dram_mmem_addr
Definition dsp.h:22
volatile u32 state
Definition dsp.h:16
u32 dram_length
Definition dsp.h:23
Definition OSContext.h:133