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