view include/TaskManager/CellDmaManager.h @ 88:504899860e66

*** empty log message ***
author gongo
date Wed, 27 Feb 2008 17:16:29 +0900
parents 7492eb28b577
children 5c194c71eca8
line wrap: on
line source

#ifndef INCLUDED_CELL_DMA_MANAGER
#define INCLUDED_CELL_DMA_MANAGER

#ifndef INCLUDED_DMA_MANAGER
#  include "DmaManager.h"
#endif

#include <spu_mfcio.h>

class CellDmaManager : public DmaManager {
public:
    typedef struct dma_list {
	uint32 addr;
	uint32 size;
    } DmaList, *DmaListPtr;

    /* variables */
    void **_buffList[2];
    void *_buff[2];
    int buff_index[2];
    int buff_flag;
    DmaList dmaQueue[2][64];
    mfc_list_element_t *mfcList[2];

    /* functions */
    void dma_load(void *buf, uint32 addr, uint32 size, uint32 mask);
    void dma_store(void *buf, uint32 addr, uint32 size, uint32 mask);
    void dma_wait(uint32 mask) ;

    void mail_write(uint32 data);
    uint32 mail_read(void);

    void dmaList_set(uint32 address, uint32 size);
    void** dmaList_load(uint32 mask);
};

#endif