0
|
1 #ifndef INCLUDED_DMA_MANAGER
|
|
2 #define INCLUDED_DMA_MANAGER
|
|
3
|
|
4 #include "base.h"
|
|
5 #include "ListData.h"
|
|
6 #include "types.h"
|
|
7
|
|
8 enum dma_tag {
|
|
9 DMA_READ = 25,
|
|
10 DMA_READ2 = 26,
|
|
11 DMA_WRITE = 27,
|
|
12 // DMA_READ_IN_LIST = 29,
|
|
13 // DMA_READ_OUT_LIST = 30,
|
|
14 DMA_READ_TASKLIST = 31,
|
|
15 };
|
|
16
|
|
17 class Scheduler;
|
|
18
|
|
19 class DmaManager {
|
|
20 public:
|
|
21 virtual ~DmaManager() {};
|
|
22
|
|
23 BASE_NEW_DELETE(DmaManager);
|
|
24
|
|
25 // API for DMA transfer
|
|
26 virtual void dma_load(void *buf, memaddr addr, uint32 size, uint32 mask) {}
|
|
27 virtual void dma_store(void *buf,memaddr addr, uint32 size, uint32 mask) {}
|
|
28 virtual void dma_wait(uint32 mask) {}
|
|
29 virtual void dma_wait(uint32 mask, int cmd) {}
|
|
30 virtual void show_dma_wait(Scheduler *s, int cpu) {}
|
|
31 virtual void start_profile() {}
|
|
32
|
|
33 // API for SPU inbound/outbound mailbox
|
|
34 virtual void mail_write(memaddr data) {}
|
|
35 virtual memaddr mail_read() { return 0; }
|
|
36
|
|
37 // API for MFC list DMA transfer
|
|
38 virtual void dma_loadList(ListDataPtr list, void *,uint32 mask) {}
|
|
39 virtual void dma_storeList(ListDataPtr, void *buff, uint32 mask) {}
|
|
40 };
|
|
41
|
|
42 #endif
|