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
6
#include <
dolphin/os/OSContext.h
>
7
#include <
dolphin/os/OSInterrupt.h
>
8
#include <
dolphin/os/OSTime.h
>
9
10
#define HW_REG(reg, type) *(volatile type*) (uintptr_t) (reg)
11
extern
volatile
u16
__DSPRegs[]
AT_ADDRESS
(0xCC005000);
12
13
typedef
void (*
DSPCallback
)(
void
*
task
);
14
15
typedef
struct
_DSPTaskInfo {
16
/*0x00*/
volatile
u32
state
;
17
/*0x04*/
volatile
u32
priority
;
18
/*0x08*/
volatile
u32
flags
;
19
/*0x0C*/
u16
*
iram_mmem_addr
;
20
/*0x10*/
u32
iram_length
;
21
/*0x14*/
u32
iram_addr
;
22
/*0x18*/
u16
*
dram_mmem_addr
;
23
/*0x1C*/
u32
dram_length
;
24
/*0x20*/
u32
dram_addr
;
25
/*0x24*/
u16
dsp_init_vector
;
26
/*0x26*/
u16
dsp_resume_vector
;
27
/*0x28*/
DSPCallback
init_cb
;
28
/*0x2C*/
DSPCallback
res_cb
;
29
/*0x30*/
DSPCallback
done_cb
;
30
/*0x34*/
DSPCallback
req_cb
;
31
/*0x38*/
struct
_DSPTaskInfo*
next
;
32
/*0x3C*/
struct
_DSPTaskInfo*
prev
;
33
OSTime
t_context
;
34
OSTime
t_task
;
35
}
DSPTaskInfo
;
36
37
u32
DSPCheckMailToDSP
(
void
);
38
u32
DSPCheckMailFromDSP
(
void
);
39
u32
DSPReadMailFromDSP
(
void
);
40
void
DSPSendMailToDSP
(
u32
mail);
41
void
DSPInit
(
void
);
42
bool
DSPCheckInit
(
void
);
43
44
void
__DSP_debug_printf
(
const
char
* fmt, ...);
45
46
void
__DSPHandler
(
__OSInterrupt
intr
,
OSContext
* ctx);
47
void
__DSP_boot_task
(
DSPTaskInfo
*
task
);
48
void
__DSP_insert_task
(
DSPTaskInfo
*
task
);
49
void
__DSP_remove_task
(
DSPTaskInfo
*
task
);
50
DSPTaskInfo
*
DSPAddTask
(
DSPTaskInfo
*
task
);
51
void
__DSP_exec_task
(
DSPTaskInfo
*,
DSPTaskInfo
*);
52
53
void
DSPCancelTask
(
void
);
54
void
*
DSPAssertTask
(
DSPTaskInfo
*
task
);
55
56
#endif
OSContext.h
intr
u32 intr
Definition
OSInit.c:143
OSInterrupt.h
__OSInterrupt
s16 __OSInterrupt
Definition
OSInterrupt.h:108
OSTime.h
OSTime
s64 OSTime
Definition
OSTime.h:6
task
DSPTaskInfo task
DSPAddTask
DSPTaskInfo * DSPAddTask(DSPTaskInfo *task)
Definition
dsp.c:68
__DSP_exec_task
void __DSP_exec_task(DSPTaskInfo *, DSPTaskInfo *)
Definition
dsp_task.c:164
DSPCheckMailToDSP
u32 DSPCheckMailToDSP(void)
Definition
dsp.c:12
DSPAssertTask
void * DSPAssertTask(DSPTaskInfo *task)
Definition
dsp.c:90
__DSP_insert_task
void __DSP_insert_task(DSPTaskInfo *task)
Definition
dsp_task.c:316
__DSP_boot_task
void __DSP_boot_task(DSPTaskInfo *task)
Definition
dsp_task.c:242
DSPCallback
void(* DSPCallback)(void *task)
Definition
dsp.h:13
DSPCheckInit
bool DSPCheckInit(void)
Definition
dsp.c:63
DSPSendMailToDSP
void DSPSendMailToDSP(u32 mail)
Definition
dsp.c:27
DSPInit
void DSPInit(void)
Definition
dsp.c:33
DSPReadMailFromDSP
u32 DSPReadMailFromDSP(void)
Definition
dsp.c:22
__DSP_remove_task
void __DSP_remove_task(DSPTaskInfo *task)
Definition
dsp_task.c:350
DSPCancelTask
void DSPCancelTask(void)
Definition
dsp.c:83
__DSP_debug_printf
void __DSP_debug_printf(const char *fmt,...)
Definition
dsp_debug.c:3
__DSPHandler
void __DSPHandler(__OSInterrupt intr, OSContext *ctx)
Definition
dsp_task.c:15
DSPCheckMailFromDSP
u32 DSPCheckMailFromDSP(void)
Definition
dsp.c:17
platform.h
u32
unsigned long u32
An unsigned 32-bit integer.
Definition
platform.h:26
u16
unsigned short u16
An unsigned 16-bit integer.
Definition
platform.h:23
AT_ADDRESS
#define AT_ADDRESS(x)
Definition
platform.h:122
DSPTaskInfo
Definition
dsp.h:15
DSPTaskInfo::done_cb
DSPCallback done_cb
Definition
dsp.h:29
DSPTaskInfo::iram_length
u32 iram_length
Definition
dsp.h:20
DSPTaskInfo::dsp_resume_vector
u16 dsp_resume_vector
Definition
dsp.h:26
DSPTaskInfo::res_cb
DSPCallback res_cb
Definition
dsp.h:28
DSPTaskInfo::prev
struct _DSPTaskInfo * prev
Definition
dsp.h:32
DSPTaskInfo::iram_mmem_addr
u16 * iram_mmem_addr
Definition
dsp.h:19
DSPTaskInfo::dram_addr
u32 dram_addr
Definition
dsp.h:24
DSPTaskInfo::flags
volatile u32 flags
Definition
dsp.h:18
DSPTaskInfo::dsp_init_vector
u16 dsp_init_vector
Definition
dsp.h:25
DSPTaskInfo::t_context
OSTime t_context
Definition
dsp.h:33
DSPTaskInfo::req_cb
DSPCallback req_cb
Definition
dsp.h:30
DSPTaskInfo::init_cb
DSPCallback init_cb
Definition
dsp.h:27
DSPTaskInfo::t_task
OSTime t_task
Definition
dsp.h:34
DSPTaskInfo::next
struct _DSPTaskInfo * next
Definition
dsp.h:31
DSPTaskInfo::priority
volatile u32 priority
Definition
dsp.h:17
DSPTaskInfo::iram_addr
u32 iram_addr
Definition
dsp.h:21
DSPTaskInfo::dram_mmem_addr
u16 * dram_mmem_addr
Definition
dsp.h:22
DSPTaskInfo::state
volatile u32 state
Definition
dsp.h:16
DSPTaskInfo::dram_length
u32 dram_length
Definition
dsp.h:23
OSContext
Definition
OSContext.h:133
src
dolphin
dsp
dsp.h
Generated by
1.9.8