view include/TaskManager/DmaManager.h @ 89:a309cf4eafc5

*** empty log message ***
author gongo
date Wed, 27 Feb 2008 17:26:40 +0900
parents 504899860e66
children 5c194c71eca8
line wrap: on
line source

#ifndef INCLUDED_DMA_MANAGER
#define INCLUDED_DMA_MANAGER

enum dma_tag {
    DMA_READ,
    DMA_WRITE
};

#ifndef INCLUDED_TYPES
#  include "types.h"
#endif

class DmaManager {
public:
    virtual ~DmaManager(void) {};

    // API for DMA transfer
    virtual void dma_load(void *buf, uint32 addr, uint32 size, uint32 mask)=0;
    virtual void dma_store(void *buf,uint32 addr, uint32 size, uint32 mask)=0;
    virtual void dma_wait(uint32 mask) = 0;

    // API for SPU inbound/outbound mailbox
    virtual void mail_write(uint32 data) = 0;
    virtual uint32 mail_read(void) = 0;

    // API for MFC list DMA transfer
    virtual void dmaList_set(uint32 address, uint32 size) {}
    virtual void** dmaList_load(uint32 mask) { return (void**)0; }
};

#endif