PS2SDK
PS2 Homebrew Libraries
sifman.h File Reference
#include <types.h>
#include <irx.h>
+ Include dependency graph for sifman.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  t_SifDmaTransfer
 

Macros

#define SIF_DMA_FROM_IOP   0x0
 
#define SIF_DMA_TO_IOP   0x1
 
#define SIF_DMA_FROM_EE   0x0
 
#define SIF_DMA_TO_EE   0x1
 
#define SIF_DMA_INT_I   0x2
 
#define SIF_DMA_INT_O   0x4
 
#define SIF_DMA_SPR   0x8
 
#define SIF_DMA_BSN   0x10 /* ? what is this? */
 
#define SIF_DMA_TAG   0x20
 
#define SIF_REG_ID_SYSTEM   0x80000000
 
#define SIF_STAT_SIFINIT   0x10000
 
#define SIF_STAT_CMDINIT   0x20000
 
#define SIF_STAT_BOOTEND   0x40000
 
#define SifSetDChain   sceSifSetDChain
 
#define SifSetDma   sceSifSetDma
 
#define SifDmaStat   sceSifDmaStat
 
#define sifman_IMPORTS_start   DECLARE_IMPORT_TABLE(sifman, 1, 1)
 
#define sifman_IMPORTS_end   END_IMPORT_TABLE
 
#define I_sceSifDma2Init   DECLARE_IMPORT(4, sceSifDma2Init)
 
#define I_sceSifInit   DECLARE_IMPORT(5, sceSifInit)
 
#define I_sceSifSetDChain   DECLARE_IMPORT(6, sceSifSetDChain)
 
#define I_sceSifSetDma   DECLARE_IMPORT(7, sceSifSetDma)
 
#define I_sceSifDmaStat   DECLARE_IMPORT(8, sceSifDmaStat)
 
#define I_sceSifSetOneDma   DECLARE_IMPORT(9, sceSifSetOneDma);
 
#define I_sceSifSendSync   DECLARE_IMPORT(10, sceSifSendSync);
 
#define I_sceSifIsSending   DECLARE_IMPORT(11, sceSifIsSending);
 
#define I_sceSifDma0Transfer   DECLARE_IMPORT(12, sceSifDma0Transfer)
 
#define I_sceSifDma0Sync   DECLARE_IMPORT(13, sceSifDma0Sync)
 
#define I_sceSifDma0Sending   DECLARE_IMPORT(14, sceSifDma0Sending)
 
#define I_sceSifDma1Transfer   DECLARE_IMPORT(15, sceSifDma1Transfer)
 
#define I_sceSifDma1Sync   DECLARE_IMPORT(16, sceSifDma1Sync)
 
#define I_sceSifDma1Sending   DECLARE_IMPORT(17, sceSifDma1Sending)
 
#define I_sceSifDma2Transfer   DECLARE_IMPORT(18, sceSifDma2Transfer)
 
#define I_sceSifDma2Sync   DECLARE_IMPORT(19, sceSifDma2Sync)
 
#define I_sceSifDma2Sending   DECLARE_IMPORT(20, sceSifDma2Sending)
 
#define I_sceSifGetMSFlag   DECLARE_IMPORT(21, sceSifGetMSFlag)
 
#define I_sceSifSetMSFlag   DECLARE_IMPORT(22, sceSifSetMSFlag)
 
#define I_sceSifGetSMFlag   DECLARE_IMPORT(23, sceSifGetSMFlag)
 
#define I_sceSifSetSMFlag   DECLARE_IMPORT(24, sceSifSetSMFlag)
 
#define I_sceSifGetMainAddr   DECLARE_IMPORT(25, sceSifGetMainAddr)
 
#define I_sceSifGetSubAddr   DECLARE_IMPORT(26, sceSifGetSubAddr)
 
#define I_sceSifSetSubAddr   DECLARE_IMPORT(27, sceSifSetSubAddr)
 
#define I_sceSifIntrMain   DECLARE_IMPORT(28, sceSifIntrMain)
 
#define I_sceSifCheckInit   DECLARE_IMPORT(29, sceSifCheckInit)
 
#define I_sceSifSetDmaIntrHandler   DECLARE_IMPORT(30, sceSifSetDmaIntrHandler)
 
#define I_sceSifResetDmaIntrHandler   DECLARE_IMPORT(31, sceSifResetDmaIntrHandler)
 
#define I_sceSifSetDmaIntr   DECLARE_IMPORT(32, sceSifSetDmaIntr)
 

Typedefs

typedef struct t_SifDmaTransfer SifDmaTransfer_t
 

Enumerations

enum  _sif_regs {
  SIF_REG_MAINADDR = 1, SIF_REG_SUBADDR, SIF_REG_MSFLAG, SIF_REG_SMFLAG,
  SIF_SYSREG_SUBADDR = SIF_REG_ID_SYSTEM | 0, SIF_SYSREG_MAINADDR, SIF_SYSREG_RPCINIT, SIF_REG_MAINADDR = 1,
  SIF_REG_SUBADDR, SIF_REG_MSFLAG, SIF_REG_SMFLAG
}
 

Functions

void sceSifDma2Init ()
 
void sceSifInit ()
 
void sceSifSetDChain (void)
 
int sceSifSetDma (SifDmaTransfer_t *dmat, int count)
 
int sceSifDmaStat (int trid)
 
void sceSifSetOneDma (SifDmaTransfer_t dmat)
 
void sceSifSendSync ()
 
int sceSifIsSending ()
 
void sceSifDma0Transfer (void *addr, int size, int mode)
 
void sceSifDma0Sync ()
 
int sceSifDma0Sending ()
 
void sceSifDma1Transfer (void *addr, int size, int mode)
 
void sceSifDma1Sync ()
 
int sceSifDma1Sending ()
 
void sceSifDma2Transfer (void *addr, int size, int mode)
 
void sceSifDma2Sync ()
 
int sceSifDma2Sending ()
 
u32 sceSifGetMSFlag ()
 
u32 sceSifSetMSFlag (u32 val)
 
u32 sceSifGetSMFlag ()
 
u32 sceSifSetSMFlag (u32 val)
 
u32 sceSifGetMainAddr ()
 
u32 sceSifGetSubAddr ()
 
u32 sceSifSetSubAddr (u32 addr)
 
void sceSifIntrMain ()
 
int sceSifCheckInit ()
 
void sceSifSetDmaIntrHandler (void(*handler)(void *userdata), void *arg)
 
void sceSifResetDmaIntrHandler ()
 
unsigned int sceSifSetDmaIntr (SifDmaTransfer_t *dmat, int count, void(*completioncb)(void *userdata), void *userdata)
 

Detailed Description

Low-level SIF DMA.

Definition in file sifman.h.


Data Structure Documentation

◆ t_SifDmaTransfer

struct t_SifDmaTransfer

Definition at line 52 of file sifdma.h.

Data Fields
void * src
void * dest
int size
int attr

Macro Definition Documentation

◆ SIF_STAT_SIFINIT

#define SIF_STAT_SIFINIT   0x10000

SIF initialized

Definition at line 61 of file sifman.h.

◆ SIF_STAT_CMDINIT

#define SIF_STAT_CMDINIT   0x20000

SIFCMD initialized

Definition at line 63 of file sifman.h.

◆ SIF_STAT_BOOTEND

#define SIF_STAT_BOOTEND   0x40000

Bootup completed

Definition at line 65 of file sifman.h.

Enumeration Type Documentation

◆ _sif_regs

enum _sif_regs
Enumerator
SIF_REG_MAINADDR 

Main -> sub-CPU command buffer (MSCOM)

SIF_REG_SUBADDR 

Sub -> main-CPU command buffer (SMCOM)

SIF_REG_MSFLAG 

Main -> sub-CPU flag (MSFLAG)

SIF_REG_SMFLAG 

Sub -> main-CPU flag (SMFLAG)

SIF_REG_MAINADDR 

Main -> sub-CPU command buffer (MSCOM)

SIF_REG_SUBADDR 

Sub -> main-CPU command buffer (SMCOM)

SIF_REG_MSFLAG 

Main -> sub-CPU flag (MSFLAG)

SIF_REG_SMFLAG 

Sub -> main-CPU flag (SMFLAG)

Definition at line 48 of file sifman.h.