Mercurial > hg > Game > Cerium
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