comparison TaskManager/Cell/spe/CellScheduler.cc @ 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 ab866bc8a624
children 8cc609285bbe
comparison
equal deleted inserted replaced
628:306c9a7717c3 629:8843edf37c0e
34 * alloc してすぐ get しても、アドレス何も入ってないです。 34 * alloc してすぐ get しても、アドレス何も入ってないです。
35 */ 35 */
36 void 36 void
37 CellScheduler::mainMem_alloc(int id, int size) 37 CellScheduler::mainMem_alloc(int id, int size)
38 { 38 {
39 mainMemList[id] = NULL; 39 mainMemList[id] = (memaddr)NULL;
40 40
41 mainMemNum++; 41 mainMemNum++;
42 mail_write((memaddr)MY_SPE_COMMAND_MALLOC); 42 mail_write((memaddr)MY_SPE_COMMAND_MALLOC);
43 mail_write((memaddr)id); 43 mail_write((memaddr)id);
44 mail_write((memaddr)size); 44 mail_write((memaddr)size);
52 52
53 while (mainMemNum > 0) { 53 while (mainMemNum > 0) {
54 id = (unsigned long)mail_read(); 54 id = (unsigned long)mail_read();
55 addr = mail_read(); 55 addr = mail_read();
56 56
57 mainMemList[id] = (void*)addr; 57 mainMemList[id] = (memaddr)addr;
58 mainMemNum--; 58 mainMemNum--;
59 } 59 }
60 } 60 }
61 61
62 /* 62 /*
72 72
73 uint32 73 uint32
74 CellScheduler::get_tag() 74 CellScheduler::get_tag()
75 { 75 {
76 static int count = 0; 76 static int count = 0;
77 // int i = (count++ % 2);
78 // return TEX_LOAD1*i + TEX_LOAD2*(1-i);
79 // 0,1,2,3
80 return TEX_LOAD1+(count++ % 2); 77 return TEX_LOAD1+(count++ % 2);
81 } 78 }
82 79
83 80
84 81