Mercurial > hg > Game > Cerium
view TaskManager/Fifo/PreRefDmaManager.cc @ 1413:5b024efa2429 draft
fix free on non copy DMA
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 19 Feb 2012 10:07:27 +0900 |
parents | 186b0681bc87 |
children | 94ac6d8e73aa |
line wrap: on
line source
#include "PreRefDmaManager.h" #include "Scheduler.h" #include "TaskManagerImpl.h" void * PreRefDmaManager::dma_load(Scheduler *s, void *buf, memaddr addr, uint32 size, uint32 mask) { unsigned long long wait = 0; (this->*start_dmawait_profile)(); #ifdef __CERIUM_FIFO__ asm("prefetcht0 %0"::"m"(addr):"memory"); #endif // __CERIUM_FIFO__ (this->*end_dmawait_profile)(&wait); global_load_time += wait; dma_load_time += wait; return (void*)addr; } void PreRefDmaManager::free(void *buf) { }