Mercurial > hg > Members > kono > Cerium
view TaskManager/kernel/schedule/ListData.h @ 703:61b59376aec5
compatibility
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 14 Dec 2009 18:34:46 +0900 |
parents | 7e937a1cd121 |
children | f725c6455d19 |
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); int size; #ifdef __CERIUM_CELL__ uint32 addr; // Cell の仕様なんでどうしようもない... // PowerPC 64bit だと動かない可能性も高いんだが... #else memaddr addr; #endif }; typedef ListElement* ListElementPtr; class ListData { public: BASE_NEW_DELETE(ListData); int length; // The number of data (4) int size; // Total size of data (4) #ifdef SIMPLE_TASK int *bound; ListElement *element; #else int a[2]; // for alignment int bound[MAX_LIST_DMA_SIZE]; // (4 * MAX_LIST_DMA_SIZE) ListElement element[MAX_LIST_DMA_SIZE]; // (8 * MAX_LIST_DMA_SIZE) #endif void clear(void) { length = 0; size = 0; } void print() { printf("inList length %d size %d\n",length, size); for(int i=0;i<length;i++) { printf("inList element[%d] size %d addr %lx\n",i, element[i].size, (unsigned long)element[i].addr); } } }; typedef ListData* ListDataPtr; #endif