diff TaskManager/kernel/schedule/DmaManager.h @ 366:0251d06467de draft

rename include/TaskManager/* and add memory
author aaa
date Mon, 27 Jul 2009 15:51:18 +0900
parents include/TaskManager/DmaManager.h@3fc86ddf5d1c
children fdc3e30de9d3
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TaskManager/kernel/schedule/DmaManager.h	Mon Jul 27 15:51:18 2009 +0900
@@ -0,0 +1,37 @@
+#ifndef INCLUDED_DMA_MANAGER
+#define INCLUDED_DMA_MANAGER
+
+#include "base.h"
+#include "ListData.h"
+#include "types.h"
+
+enum dma_tag {
+    DMA_READ  = 25,
+    DMA_WRITE = 27,
+    DMA_READ_IN_LIST  = 29,
+    DMA_READ_OUT_LIST = 30,
+    DMA_READ_TASKLIST = 31,
+};
+
+class DmaManager {
+public:
+    virtual ~DmaManager(void) {};
+
+    BASE_NEW_DELETE(DmaManager);
+
+    // API for DMA transfer
+    virtual void dma_load(void *buf, uint32 addr, uint32 size, uint32 mask) {}
+    virtual void dma_store(void *buf,uint32 addr, uint32 size, uint32 mask) {}
+    virtual void dma_wait(uint32 mask) {}
+    virtual void show_dma_wait(int cpu) {}
+
+    // API for SPU inbound/outbound mailbox
+    virtual void mail_write(uint32 data) {}
+    virtual uint32 mail_read(void) {return 0;}
+    
+    // API for MFC list DMA transfer
+    virtual void dma_loadList(ListDataPtr list, void *,uint32 mask) {}
+    virtual void dma_storeList(ListDataPtr, void *buff, uint32 mask) {}
+};
+
+#endif