Mercurial > hg > Members > kono > Cerium
view TaskManager/kernel/schedule/ListData.h @ 696:b5c3ef336878
on going...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 13 Dec 2009 10:49:07 +0900 |
parents | 8843edf37c0e |
children | 7e937a1cd121 |
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; } }; typedef ListData* ListDataPtr; #endif