Mercurial > hg > Members > kono > Cerium
diff TaskManager/Cell/spe/CellDmaManager.cc @ 871:ab3cd3aeacff
fix get segment dma tag zero problem
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 04 Jul 2010 16:56:04 +0900 |
parents | 31d0a5baafdf |
children | ad6903dd6419 |
line wrap: on
line diff
--- a/TaskManager/Cell/spe/CellDmaManager.cc Tue Jun 29 04:23:52 2010 +0900 +++ b/TaskManager/Cell/spe/CellDmaManager.cc Sun Jul 04 16:56:04 2010 +0900 @@ -38,6 +38,7 @@ mfc_write_tag_mask(1 << mask); mfc_write_tag_update_all(); mfc_read_tag_status(); + __asm__ __volatile__(" sync"); (this->*end_dmawait_profile)(&global_wait_time); } @@ -45,10 +46,12 @@ { (this->*start_dmawait_profile)(); spu_write_out_mbox((uint32)data); +#if 0 if (ABIBIT>32) { unsigned long data0 = (unsigned long)data; - spu_write_out_mbox((uint32)(data0>>4)); + spu_write_out_mbox((uint32)(data0>>32)); } +#endif (this->*end_dmawait_profile)(&global_mail_time); } @@ -56,9 +59,11 @@ { (this->*start_dmawait_profile)(); memaddr data = (memaddr)spu_read_in_mbox(); +#if 0 if (ABIBIT>32) { - data += (spu_read_in_mbox()<<4); + data += (spu_read_in_mbox()<<32); } +#endif (this->*end_dmawait_profile)(&global_mail_time); return data; }