view TaskManager/Fifo/ReferencedDmaManager.cc @ 1479:163220e54cc0 draft

remove hard code for TaskLog
author Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
date Tue, 24 Jul 2012 17:15:15 +0900
parents ff721740df6b
children 34582cd8a7af
line wrap: on
line source

#include "ReferencedDmaManager.h"
#include "Scheduler.h"
#include "TaskManagerImpl.h"
#include <string.h>

void *
ReferencedDmaManager::dma_load(Scheduler *s, memaddr addr, uint32 size, uint32 mask)
{
    return (void*)addr;
}

void *
ReferencedDmaManager::dma_load1(void *buf, memaddr addr, uint32 size, uint32 mask)
{
//    void *from = (void*)addr;
//    if (buf != from) 
//        memcpy(buf, from, size);
    return (void*)addr;
}


void *
ReferencedDmaManager::dma_loadList(Scheduler *s, ListDataPtr list, uint32 mask)
{
    ListElementPtr elm = &list->element[0];
    return (void*)elm->addr; // ==readbuf
}

void
ReferencedDmaManager::free_(void *buf) {
}

/**
 *  DMA buffer offset in rbuf
 *
 *  faked offset for real address must be set to get correct address by
 *    return (void*)((char*)readbuf + inListData.bound[index]);
 *
 */
void
ReferencedDmaManager::bound(ListData *list)
{
    ListElement *elm = list->element;
    int *bound = list->bound;
    memaddr readbuf = elm[0].addr;
    for(int i=0;i<list->length;i++) {
        bound[i] = elm[i].addr-readbuf;
    }
}

void *
ReferencedDmaManager::get_writebuf(Scheduler *s,memaddr addr, uint32 size)
{
    return (void*)addr;
}

void *
ReferencedDmaManager::dma_store(void *buf, memaddr addr, uint32 size, uint32 mask)
{
//    void *to = (void*)addr;
//    if (buf != to) 
//        memcpy(to, buf, size);
    return (void*)addr;
}

void
ReferencedDmaManager::dma_storeList(ListDataPtr list, void *buff, uint32 mask)
{
}