Mercurial > hg > Members > kono > Cerium
diff include/TaskManager/CellDmaManager.h @ 88:504899860e66
*** empty log message ***
author | gongo |
---|---|
date | Wed, 27 Feb 2008 17:16:29 +0900 |
parents | 7492eb28b577 |
children | 5c194c71eca8 |
line wrap: on
line diff
--- a/include/TaskManager/CellDmaManager.h Wed Feb 27 11:14:20 2008 +0900 +++ b/include/TaskManager/CellDmaManager.h Wed Feb 27 17:16:29 2008 +0900 @@ -5,14 +5,33 @@ # include "DmaManager.h" #endif +#include <spu_mfcio.h> + class CellDmaManager : public DmaManager { public: + typedef struct dma_list { + uint32 addr; + uint32 size; + } DmaList, *DmaListPtr; + + /* variables */ + void **_buffList[2]; + void *_buff[2]; + int buff_index[2]; + int buff_flag; + DmaList dmaQueue[2][64]; + mfc_list_element_t *mfcList[2]; + /* functions */ - void dma_load(void *buf, unsigned int addr, int size, int mask); - void dma_store(void *buf, unsigned int addr, int size, int mask); - void dma_wait(int mask) ; - void mail_write(unsigned int data); - unsigned int mail_read(void); + void dma_load(void *buf, uint32 addr, uint32 size, uint32 mask); + void dma_store(void *buf, uint32 addr, uint32 size, uint32 mask); + void dma_wait(uint32 mask) ; + + void mail_write(uint32 data); + uint32 mail_read(void); + + void dmaList_set(uint32 address, uint32 size); + void** dmaList_load(uint32 mask); }; #endif