diff TaskManager/kernel/ppe/Task.h @ 1551:57317332f6ef draft

create fft example
author Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
date Sun, 17 Feb 2013 12:59:12 +0900
parents 8034e0212281
children ac16a57f5dd7
line wrap: on
line diff
--- a/TaskManager/kernel/ppe/Task.h	Fri Feb 15 16:02:43 2013 +0900
+++ b/TaskManager/kernel/ppe/Task.h	Sun Feb 17 12:59:12 2013 +0900
@@ -10,7 +10,7 @@
 class Scheduler;
 
 class Task {
-public: // variables
+ public: // variables
     int task_size;
     int command;
     int param_count;
@@ -20,127 +20,127 @@
     int outData_offset;
     void *data[] __attribute__ ((aligned (DEFAULT_ALIGNMENT))); 
 
-public: // functions
+ public: // functions
 
     void print(Scheduler *s);
 
     memaddr *param(int index) {
         memaddr p =  (memaddr)data + sizeof(memaddr)*index;
-	return (memaddr *)p;
+        return (memaddr *)p;
     }
 
     ListElement *inData(int index) {
-	memaddr p = (memaddr)data + inData_offset;
-	p += sizeof(ListElement)*index;
-	return (ListElement*)p;
+        memaddr p = (memaddr)data + inData_offset;
+        p += sizeof(ListElement)*index;
+        return (ListElement*)p;
     }
 
     ListElement *outData(int index) {
-	memaddr p = (memaddr)data + outData_offset;
-	p += sizeof(ListElement)* index;
-	return (ListElement*)p;
+        memaddr p = (memaddr)data + outData_offset;
+        p += sizeof(ListElement)* index;
+        return (ListElement*)p;
     }
 
     static int calc_size(int params, int ins, int outs) {
-	int size = round_up16(sizeof(Task))
-	   + round_up16(sizeof(memaddr)*params)
-           + round_up16(sizeof(ListElement)*ins)
-           + round_up16(sizeof(ListElement)*outs);
-	return size;
+        int size = round_up16(sizeof(Task))
+            + round_up16(sizeof(memaddr)*params)
+            + round_up16(sizeof(ListElement)*ins)
+            + round_up16(sizeof(ListElement)*outs);
+        return size;
     }
 
     void init(int task_id, int params, int ins, int outs) {
-	set_task_id(task_id);
-	param_count = params;
-	inData_count = ins;
-	outData_count = outs;
-	inData_offset = round_up16(sizeof(memaddr)*params);
-	outData_offset = round_up16(inData_offset+sizeof(ListElement)*ins);
-	//task_size = round_up16(sizeof(Task)+outData_offset+sizeof(ListElement)*outs);
+        set_task_id(task_id);
+        param_count = params;
+        inData_count = ins;
+        outData_count = outs;
+        inData_offset = round_up16(sizeof(memaddr)*params);
+        outData_offset = round_up16(inData_offset+sizeof(ListElement)*ins);
+        //task_size = round_up16(sizeof(Task)+outData_offset+sizeof(ListElement)*outs);
 
-	task_size = round_up16(sizeof(Task))
-	   + round_up16(sizeof(memaddr)*params)
-           + round_up16(sizeof(ListElement)*ins)
-           + round_up16(sizeof(ListElement)*outs);
+        task_size = round_up16(sizeof(Task))
+            + round_up16(sizeof(memaddr)*params)
+            + round_up16(sizeof(ListElement)*ins)
+            + round_up16(sizeof(ListElement)*outs);
 
     }
 
     int size() {
-	return task_size;
+        return task_size;
     }
 
     int inData_total_size() {
-	int size = 0;
-	ListElement *in= inData(0);
-	for(int i=0; i< inData_count; i++) {
-	    size += in[i].size;
-	}
-	return size;
+        int size = 0;
+        ListElement *in= inData(0);
+        for(int i=0; i< inData_count; i++) {
+            size += in[i].size;
+        }
+        return size;
     }
     int outData_total_size() {
-	int size = 0;
-	ListElement *out= outData(0);
-	for(int i=0; i< outData_count; i++) {
-	    size += out[i].size;
-	}
-	return size;
+        int size = 0;
+        ListElement *out= outData(0);
+        for(int i=0; i< outData_count; i++) {
+            size += out[i].size;
+        }
+        return size;
     }
 
     void set_inData_t( int index, memaddr addr, int size) {
-	ListElement *list = inData(index);
+        ListElement *list = inData(index);
 #ifdef EARLY_TOUCH
         if ((unsigned long)addr&0xf) {
-          printf("inData is not aligned. command = %d, index = %d, addr = 0x%lx, size = %d\n",
-                 command, index, (unsigned long)addr, size);
+            printf("inData is not aligned. command = %d, index = %d, addr = 0x%lx, size = %d\n",
+                   command, index, (unsigned long)addr, size);
         }
         char *p = (char *)addr; int b = *p;
         p = (char *)(addr+size-1); b += *p;
 #endif
 
 #ifdef __CERIUM_CELL__
-	list->addr = (uint32)addr;
+        list->addr = (uint32)addr;
 #else
-	list->addr = addr;
+        list->addr = addr;
 #endif
-	list->size = size;
+        list->size = size;
     }
 
     void set_outData_t(int index, memaddr addr, int size) {
-	ListElement *list = outData(index);
+        ListElement *list = outData(index);
 #ifdef EARLY_TOUCH
         if ((unsigned long)addr&0xf) {
-          printf("inData is not aligned. command = %d, index = %d, addr = 0x%lx, size = %d\n",
-                 command, index, (unsigned long)addr, size);
+            printf("inData is not aligned. command = %d, index = %d, addr = 0x%lx, size = %d\n",
+                   command, index, (unsigned long)addr, size);
         }
         char *p = (char *)addr; int b = *p;
         p = (char *)(addr+size-1); b += *p;
 #endif
 #ifdef __CERIUM_CELL__
-	list->addr = (uint32)addr;
+        list->addr = (uint32)addr;
 #else
-	list->addr = addr;
+        list->addr = addr;
 #endif
-	list->size = size;
+        list->size = size;
     }
     void set_task_id(int id) { command = id; }
     void set_param_t(int index, memaddr param) {
-	memaddr *p = (memaddr*)this->param(index);
-	*p = param;
+        memaddr *p = (memaddr*)this->param(index);
+        *p = param;
     }
 
     Task * next()
     {
-	char *p = (char*)this;
-	p += size();
-	return (Task*)p;
+        char *p = (char*)this;
+        p += size();
+        return (Task*)p;
     }
 
 
 #define set_param(index,param) set_param_t(index, (memaddr) (param))
 
-#define set_inData(index, addr, size)			\
+#define set_inData(index, addr, size)               \
     set_inData_t(index, (memaddr)(addr), (size));
-#define set_outData(index, addr, size)			\
+#define set_outData(index, addr, size)              \
     set_outData_t(index, (memaddr)(addr), (size));
 } __attribute__ ((aligned (DEFAULT_ALIGNMENT))) ;