view TaskManager/kernel/schedule/ListData.h @ 1953:2509242d5a67 draft

minor change
author kkbk
date Thu, 06 Feb 2014 18:55:05 +0900
parents 138e7edff3ae
children
line wrap: on
line source

#ifndef INCLUDED_LIST_DATA
#define INCLUDED_LIST_DATA

#include "base.h"
#include "types.h"

#define MAX_LIST_DMA_SIZE 8

class ListElement {
public:
    BASE_NEW_DELETE(ListElement);


#ifdef __CERIUM_CELL__
    int size;
    uint32 addr;  // Cell の仕様なんでどうしようもない...
    //     PowerPC 64bit だと動かない可能性も高いんだが...
#else
    long size;
    memaddr addr;
#endif
};

typedef ListElement* ListElementPtr;

class ListData {
public:
    BASE_NEW_DELETE(ListData);

    int length; // The number of data (4)
    long size;   // Total size of data (4)
    long *bound;
    ListElement *element;

    void clear(void) {
        length = 0;
        size = 0;
    }

/*
    void print(Scheduler *s) {
	s->printf("inList length %d size %d\n",length, size);
	for(int i=0;i<length;i++) {
	    s->printf("inList element[%d] size %d addr %lx\n",i, element[i].size, (unsigned long)element[i].addr);
	}
    }
*/
};

typedef ListData* ListDataPtr;

#endif