# HG changeset patch # User Shinji KONO # Date 1244022615 -32400 # Node ID e0e20d7227cc55e7d33f92bae2a8645888c6fe73 # Parent b42eed185bb47cc1cd376f001baee02b840085a4# Parent 465a871f4c07b5ead34b3572f305ac9ce0ba6dd4 merged diff -r 465a871f4c07 -r e0e20d7227cc Document/Cerium_2009.mm --- a/Document/Cerium_2009.mm Wed Jun 03 16:14:06 2009 +0900 +++ b/Document/Cerium_2009.mm Wed Jun 03 18:50:15 2009 +0900 @@ -3,9 +3,14 @@ - - - + + + + + + + + @@ -13,11 +18,15 @@ - + + - - + + + + + @@ -34,6 +43,9 @@ + + + @@ -50,6 +62,33 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 465a871f4c07 -r e0e20d7227cc TaskManager/Cell/spe/CellDmaManager.cc~ --- a/TaskManager/Cell/spe/CellDmaManager.cc~ Wed Jun 03 16:14:06 2009 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +0,0 @@ -#include -#include -#include "CellDmaManager.h" - -/** - * DMA Load - * - * @param[in] buf Buffer of Load Data - * @param[in] addr Address of Load Data at Main Memory - * @param[in] size Size of Load Data - * @param[in] mask DMA tag -*/ -void -CellDmaManager::dma_load(void *buf, uint32 addr, uint32 size, uint32 mask) -{ - if (size == 0) return ; - mfc_get((volatile void *)buf, addr, size, mask, 0, 0); -} - -/** - * DMA Store - * - * @param[in] buf Buffer of Store Data at SPE - * @param[in] addr Address of Store Data at Main Memory - * @param[in] size Size of Store Data - * @param[in] mask DMA tag -*/ -void -CellDmaManager::dma_store(void *buf, uint32 addr, uint32 size, uint32 mask) -{ - if (size == 0) return ; - mfc_put((volatile void *)buf, addr, size, mask, 0, 0); -} - -/** - * DMA Wait - * - * @param[in] mask Tag for Wait DMA process - */ -void -CellDmaManager::dma_wait(uint32 mask) -{ - mfc_write_tag_mask(1 << mask); - mfc_write_tag_update_all(); - mfc_read_tag_status(); -} - -void -CellDmaManager::mail_write(uint32 data) -{ - spu_write_out_mbox(data); -} - -unsigned int -CellDmaManager::mail_read(void) -{ - unsigned int mail = spu_read_in_mbox(); - return mail; -} - -void -CellDmaManager::dma_loadList(ListDataPtr list, void *buff, uint32 mask) -{ - mfc_getl(buff, 0, list->element, sizeof(mfc_list_element_t)*list->length, - mask, 0, 0); -} - -void -CellDmaManager::dma_storeList(ListDataPtr list, void *buff, uint32 mask) -{ - mfc_putl(buff, 0, list->element, sizeof(mfc_list_element_t)*list->length, - mask, 0, 0); -}