uOFW
Reverse engineered PSP kernel 6.60.
Loading...
Searching...
No Matches
dmacman.h
1/* Copyright (C) 2011, 2012 The uOFW team
2 See the file COPYING for copying permission.
3*/
4
5#include "common_header.h"
6
7typedef struct PL080_CHREGS PL080_CHREGS, *PPL080_CHREGS;
8typedef struct PL080_LLI PL080_LLI, *PPL080_LLI;
9typedef struct PL080_REGS PL080_REGS, *PPL080_REGS;
10
11struct PL080_CHREGS {
12 u32 SrcAddr;
13 u32 DestAddr;
14 u32 LLI;
15 u32 Control;
16 u32 Configuration;
17 u32 _14_1C[3];
18};
19
20struct PL080_LLI {
21 u32 SrcAddr;
22 u32 DestAddr;
23 u32 LLI;
24 u32 Control;
25};
26
27struct PL080_REGS {
28 u32 IntStatus;
29 u32 IntTCStatus;
30 u32 IntTCClear;
31 u32 IntErrorStatus;
32 u32 IntErrClr;
33 u32 RawIntTCStatus;
34 u32 RawIntErrorStatus;
35 u32 EnbldChns;
36 u32 SoftBReq;
37 u32 SoftSReq;
38 u32 SoftLBReq;
39 u32 SoftLSReq;
40 u32 Configuration;
41 u32 Sync;
42 u32 SReqMask;
43 u32 _03C_0FC[49];
44 struct PL080_CHREGS Ch[8];
45 u32 _200_FDC[888];
46 u32 PeriphID0;
47 u32 PeriphID1;
48 u32 PeriphID2;
49 u32 PeriphID3;
50 u32 CellID0;
51 u32 CellID1;
52 u32 CellID2;
53 u32 CellID3;
54};
55
56typedef struct sceKernelDmaOperation sceKernelDmaOperation, *PsceKernelDmaOperation;
57
58struct sceKernelDmaOperation {
59 struct sceKernelDmaOperation * pNext; // 0
60 struct sceKernelDmaOperation * pPrev; // 4
61 struct sceKernelDmaOperation * pParent; // 8
62 struct sceKernelDmaOperation * pChild; // 12
63 int (* cbfunc)(struct sceKernelDmaOperation *, int, int, void *); // 16
64 void * pCookie; // 20
65 u32 evpat; // 24
66 SceUShort16 uiFlag; // 28
67 short dmaCh; // 30
68 SceUInt uiSrcAddr; // 32
69 SceUInt uiDestAddr; // 36
70 SceUInt uiLLI; // 40
71 SceUInt uiControl; // 44
72 SceUInt uiConfiguration; // 48
73 SceUShort16 uiChMask[2]; // 52
74 struct PL080_LLI * HeadLLI; // 56
75 struct PL080_LLI * EndLLI; // 60
76};
77
78int sceKernelDmaOpQuit(sceKernelDmaOperation*);
79int sceKernelDmaOpAssign(sceKernelDmaOperation*, int, int, int, int);
80int sceKernelDmaOpSetCallback(sceKernelDmaOperation*, int (*)(int, int), int);
81int sceKernelDmaOpSetupLink(sceKernelDmaOperation*, int, u32*);
82int sceKernelDmaOpEnQueue(sceKernelDmaOperation*);
83int sceKernelDmaOpDeQueue(sceKernelDmaOperation*);
84sceKernelDmaOperation *sceKernelDmaOpAlloc(void);
85s32 sceKernelDmaOpFree(sceKernelDmaOperation*);
86int sceKernelDmaOpConcatenate(sceKernelDmaOperation*, void*);
87