annotate TaskManager/Cell/spe/CellDmaManager.h @ 629:8843edf37c0e

Cell 64 bit tried, but not yet worked. Cell's list DMA is 32bit.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 18 Nov 2009 13:32:58 +0900
parents 2cfbb36e221a
children 3b6290c05f9f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
32
f7fd92a1d7bb *** empty log message ***
gongo
parents:
diff changeset
1 #ifndef INCLUDED_CELL_DMA_MANAGER
f7fd92a1d7bb *** empty log message ***
gongo
parents:
diff changeset
2 #define INCLUDED_CELL_DMA_MANAGER
f7fd92a1d7bb *** empty log message ***
gongo
parents:
diff changeset
3
307
7075842aa155 clean up include
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 273
diff changeset
4 #include "base.h"
611
2cfbb36e221a cell fix memaddr
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 366
diff changeset
5 #include "types.h"
307
7075842aa155 clean up include
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 273
diff changeset
6 #include "DmaManager.h"
32
f7fd92a1d7bb *** empty log message ***
gongo
parents:
diff changeset
7
88
504899860e66 *** empty log message ***
gongo
parents: 58
diff changeset
8 #include <spu_mfcio.h>
504899860e66 *** empty log message ***
gongo
parents: 58
diff changeset
9
242
8382f0f8c0b4 dma_wait
e065746@localhost.localdomain
parents: 240
diff changeset
10 #define SPU_PROFILE 1
8382f0f8c0b4 dma_wait
e065746@localhost.localdomain
parents: 240
diff changeset
11
32
f7fd92a1d7bb *** empty log message ***
gongo
parents:
diff changeset
12 class CellDmaManager : public DmaManager {
f7fd92a1d7bb *** empty log message ***
gongo
parents:
diff changeset
13 public:
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 88
diff changeset
14 BASE_NEW_DELETE(CellDmaManager);
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 88
diff changeset
15
88
504899860e66 *** empty log message ***
gongo
parents: 58
diff changeset
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
504899860e66 *** empty log message ***
gongo
parents: 58
diff changeset
18 uint32 size;
504899860e66 *** empty log message ***
gongo
parents: 58
diff changeset
19 } DmaList, *DmaListPtr;
504899860e66 *** empty log message ***
gongo
parents: 58
diff changeset
20
504899860e66 *** empty log message ***
gongo
parents: 58
diff changeset
21 /* variables */
273
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 271
diff changeset
22 unsigned int wait_time, busy_time;
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 271
diff changeset
23 unsigned long long global_busy_time, global_wait_time;
88
504899860e66 *** empty log message ***
gongo
parents: 58
diff changeset
24
32
f7fd92a1d7bb *** empty log message ***
gongo
parents:
diff changeset
25 /* functions */
364
87462f8d3761 uint32 to memaddr(uint64)
tkaito@localhost.localdomain
parents: 307
diff changeset
26 void dma_load(void *buf, memaddr addr, uint32 size, uint32 mask);
365
f8769040a5df modify types.h
aaa
parents: 364
diff changeset
27 void dma_store(void *buf, memaddr addr, uint32 size, uint32 mask);
88
504899860e66 *** empty log message ***
gongo
parents: 58
diff changeset
28 void dma_wait(uint32 mask) ;
242
8382f0f8c0b4 dma_wait
e065746@localhost.localdomain
parents: 240
diff changeset
29 void start_dmawait_profile();
8382f0f8c0b4 dma_wait
e065746@localhost.localdomain
parents: 240
diff changeset
30 void end_dmawait_profile();
255
6bb8725e60ae show dma wait
tkaito@localhost.localdomain
parents: 242
diff changeset
31 void show_dma_wait(int cpu);
88
504899860e66 *** empty log message ***
gongo
parents: 58
diff changeset
32
611
2cfbb36e221a cell fix memaddr
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 366
diff changeset
33 void mail_write(memaddr data);
2cfbb36e221a cell fix memaddr
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 366
diff changeset
34 memaddr mail_read();
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 88
diff changeset
35 void dma_loadList(ListDataPtr list, void *buff, uint32 mask);
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 88
diff changeset
36 void dma_storeList(ListDataPtr, void *buff, uint32 mask);
32
f7fd92a1d7bb *** empty log message ***
gongo
parents:
diff changeset
37 };
f7fd92a1d7bb *** empty log message ***
gongo
parents:
diff changeset
38
f7fd92a1d7bb *** empty log message ***
gongo
parents:
diff changeset
39 #endif