annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
1 #ifndef INCLUDED_LIST_DATA
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
2 #define INCLUDED_LIST_DATA
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
3
301
bcb81858aa62 remove deprecated source. not work.
tkaito@localhost.localdomain
parents: 109
diff changeset
4 #include "base.h"
605
90c61fe2b109 working on 32 bit compiler
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 603
diff changeset
5 #include "types.h"
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
6
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
7 #define MAX_LIST_DMA_SIZE 8
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
8
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
9 class ListElement {
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
10 public:
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
11 BASE_NEW_DELETE(ListElement);
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
12
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
13 int size;
629
8843edf37c0e Cell 64 bit tried, but not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 605
diff changeset
14 #ifdef __CERIUM_CELL__
8843edf37c0e Cell 64 bit tried, but not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 605
diff changeset
15 uint32 addr; // Cell の仕様なんでどうしようもない...
8843edf37c0e Cell 64 bit tried, but not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 605
diff changeset
16 // PowerPC 64bit だと動かない可能性も高いんだが...
8843edf37c0e Cell 64 bit tried, but not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 605
diff changeset
17 #else
603
42c94f85c779 long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 602
diff changeset
18 memaddr addr;
629
8843edf37c0e Cell 64 bit tried, but not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 605
diff changeset
19 #endif
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
20 };
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
21
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
22 typedef ListElement* ListElementPtr;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
23
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
24 class ListData {
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
25 public:
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
26 BASE_NEW_DELETE(ListData);
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
27
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
28 int length; // The number of data (4)
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
29 int size; // Total size of data (4)
696
b5c3ef336878 on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 629
diff changeset
30 #ifdef SIMPLE_TASK
b5c3ef336878 on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 629
diff changeset
31 int *bound;
b5c3ef336878 on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 629
diff changeset
32 ListElement *element;
b5c3ef336878 on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 629
diff changeset
33 #else
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
34 int a[2]; // for alignment
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
35 int bound[MAX_LIST_DMA_SIZE]; // (4 * MAX_LIST_DMA_SIZE)
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
36 ListElement element[MAX_LIST_DMA_SIZE]; // (8 * MAX_LIST_DMA_SIZE)
696
b5c3ef336878 on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 629
diff changeset
37 #endif
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
38
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
39 void clear(void) {
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
40 length = 0;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
41 size = 0;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
42 }
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
43 };
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
44
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
45 typedef ListData* ListDataPtr;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
46
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
47 #endif