Mercurial > hg > Members > kono > Cerium
annotate TaskManager/Cell/spe/CellDmaManager.h @ 639:70c5c2d2eb24
fix
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 19 Nov 2009 18:45:24 +0900 |
parents | 8843edf37c0e |
children | 3b6290c05f9f |
rev | line source |
---|---|
32 | 1 #ifndef INCLUDED_CELL_DMA_MANAGER |
2 #define INCLUDED_CELL_DMA_MANAGER | |
3 | |
307 | 4 #include "base.h" |
611 | 5 #include "types.h" |
307 | 6 #include "DmaManager.h" |
32 | 7 |
88 | 8 #include <spu_mfcio.h> |
9 | |
242 | 10 #define SPU_PROFILE 1 |
11 | |
32 | 12 class CellDmaManager : public DmaManager { |
13 public: | |
109 | 14 BASE_NEW_DELETE(CellDmaManager); |
15 | |
88 | 16 typedef struct dma_list { |
629
8843edf37c0e
Cell 64 bit tried, but not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
611
diff
changeset
|
17 uint32 addr; // should be memaddr, but in Cell's specification... |
88 | 18 uint32 size; |
19 } DmaList, *DmaListPtr; | |
20 | |
21 /* variables */ | |
273 | 22 unsigned int wait_time, busy_time; |
23 unsigned long long global_busy_time, global_wait_time; | |
88 | 24 |
32 | 25 /* functions */ |
364 | 26 void dma_load(void *buf, memaddr addr, uint32 size, uint32 mask); |
365 | 27 void dma_store(void *buf, memaddr addr, uint32 size, uint32 mask); |
88 | 28 void dma_wait(uint32 mask) ; |
242 | 29 void start_dmawait_profile(); |
30 void end_dmawait_profile(); | |
255 | 31 void show_dma_wait(int cpu); |
88 | 32 |
611 | 33 void mail_write(memaddr data); |
34 memaddr mail_read(); | |
109 | 35 void dma_loadList(ListDataPtr list, void *buff, uint32 mask); |
36 void dma_storeList(ListDataPtr, void *buff, uint32 mask); | |
32 | 37 }; |
38 | |
39 #endif |